Ir a la documentación
API

Enviar un evento

Registra que un contacto hizo algo en tu producto. El evento inicia cada automatización activa cuyo desencadenante lo nombra y hace avanzar a quien lo estuviera esperando.

POST/events

Ejecuta cualquiera de las 2 llamadas en tu espacio de trabajo.

POST /events

Registra que un contacto hizo algo en tu producto. El evento inicia cada automatización activa cuyo desencadenante lo nombra y hace avanzar a quien lo estuviera esperando.

Ejemplo

Requiere contacts:write. Indica el contacto con email o con contactId.

curl
curl -X POST "$OE/events" -H "$AUTH" -H 'content-type: application/json' -H 'Idempotency-Key: order-A-1042' -d '{  "name": "order.placed",  "email": "[email protected]",  "properties": { "orderId": "A-1042", "total": 59 },  "createContact": true}'
Respuesta
{  "object": "contact_event",  "id": "cev_6a1d9f3c8b2e40a75d9c1e38",  "contactId": "5b0e7c1a-2f4d-4c8b-9a36-1e7d0c5f8b24",  "email": "[email protected]",  "name": "order.placed",  "properties": { "orderId": "A-1042", "total": 59 },  "occurredAt": "2026-10-11T08:02:03.000Z",  "mode": "live",  "createdAt": "2026-10-11T08:02:03.412Z",  "replayed": false,  "enrolled": ["aut_7c2e9a1f4b8d30c65e1a9f27"],  "resumed": 0}

name tiene hasta 100 letras, dígitos, puntos, dos puntos, guiones y guiones bajos, y empieza por una letra o un dígito. Los nombres distinguen mayúsculas de minúsculas.

properties admite como máximo 50 claves y 4 KB de JSON. Un filtro del desencadenante, un valor de un correo y una bifurcación pueden leerlas.

occurredAt es por defecto ahora. Puede estar hasta 90 días en el pasado y no más de 5 minutos en el futuro.

Una dirección desconocida responde 404 contact_not_found salvo que createContact sea true, lo que añade el contacto, con contactName como nombre.

enrolled lista las automatizaciones en las que entró el contacto y resumed cuenta las esperas que terminó el evento.

Enviar de nuevo el mismo Idempotency-Key responde 200 con el primer evento y replayed: true. La misma clave con otro cuerpo se rechaza con 422 idempotency_key_reuse.

Un evento enviado con una clave de prueba se guarda con mode: "test" y no inicia nada.

Lote

POST /events/batch acepta hasta 100 eventos en events, cada uno con la forma del cuerpo de arriba. Responde 200 aunque algunos se rechacen, y dice cuáles.

curl
curl -X POST "$OE/events/batch" -H "$AUTH" -H 'content-type: application/json' -d '{  "events": [    { "name": "order.placed", "email": "[email protected]" },    { "name": "order.placed", "email": "[email protected]" }  ]}'
Respuesta
{  "object": "contact_event_batch",  "accepted": [{ "index": 0, "object": "contact_event", "id": "cev_6a1d9f3c8b2e40a75d9c1e38", "…": "…" }],  "failed": [{ "index": 1, "code": "contact_not_found", "message": "No contact with that address. Pass createContact: true to add one." }]}

index es la posición del evento en el array que enviaste.

Una clave o una app puede enviar 600 eventos por minuto. Después, la respuesta es 429 event_rate_limited.

Referencia