Obtener una respuesta a un correo
GET
/v1/mails/{mail_id}/replies/{reply_id}Para desarrolladores
Descripción
Entrega una respuesta a un correo con su contenido: el asunto, la parte de texto, la parte HTML y la lista de sus adjuntos, que se descargan con GET .../attachments/{index}. Es la consulta que sigue al evento mail.replied, que trae el mail_id y el reply_id.
El contenido se guarda 30 días desde que llegó la respuesta. Después, esta consulta responde 410 y la respuesta sigue en el listado con sus datos.
El contenido lo escribió quien respondió y se entrega tal como llegó: el texto incluye lo que su cliente de correo citó del mensaje original, y el HTML no se sanea. Trátelo como contenido no confiable antes de mostrarlo.
Guía relacionada
- Buzón de respuestas — Reciba en un buzón suyo una copia de cada respuesta a sus correos.
Autenticación
Authorizationbearer tokenheaderobligatorio- API key con scope
replies:read. Formato:Bearer <API_KEY>. X-Instance-Slugstringheaderobligatorio- Identificador de su instancia. Ver Autenticación.
Request
Path params:
mail_idstringobligatorio- El correo al que responde.
reply_idstringobligatorio- La respuesta, del evento
mail.repliedo de el listado.
Response
200 OKLos campos de un elemento del listado, más:
subjectstring | null- Asunto de la respuesta.
textstring | null- Parte de texto.
nullsi la respuesta no trae una. htmlstring | null- Parte HTML, sin sanear.
nullsi no trae una. attachmentsarray- Cada parte que no es el texto ni el HTML, en el orden del mensaje. Un correo reenviado como adjunto es un solo elemento.
indexinteger- Posición del adjunto, desde 0. Es la que se usa para descargarlo.
filenamestring | null- El nombre que le dio quien respondió, o
null. content_typestring- El tipo que declaró quien respondió. No se verifica.
sizeinteger- Tamaño del adjunto, en bytes.
forwardobject | null- La copia enviada al buzón de respuestas.
nullsi no se reenvió, o todavía no.mail_idstring- El correo que llevó la copia.
statusinteger | null- Su estado de entrega: 1=received, 2=queued, 3=sent, 4=dropped, 5=deferred, 6=bounced, 7=onhold.
Errores
| Código | Cuándo |
|---|---|
| 403 | La API key no tiene el scope replies:read. |
| 404 | No hay una respuesta con ese reply_id en ese correo (reply_not_found). |
| 410 | El contenido ya no se guarda (reply_content_expired). |
Detalle en Errores genéricos.
Request
curl -X GET "https://$API_HOST/v1/mails/0190abc.../replies/019a3b2c..." \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG"
Response
{
"reply_id": "019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b",
"mail_id": "0198564e-c423-7069-8dd3-a052aeb270da",
"replied_at": "2026-11-01T12:00:00Z",
"is_auto": false,
"is_spam": false,
"spam_score": 0.4,
"spf": "pass",
"dkim": "pass",
"dmarc": "pass",
"size": 48210,
"subject": "Re: Su pedido",
"text": "Sí, me interesa. Adjunto la orden de compra.\r\n",
"html": "<p>Sí, me interesa. Adjunto la orden de compra.</p>",
"attachments": [
{
"index": 0,
"filename": "orden.pdf",
"content_type": "application/pdf",
"size": 40112
}
],
"forward": {
"mail_id": "019a3b2d-1e2f-7a30-9b4c-5d6e7f8a9b0c",
"status": 3
}
}