API
Events API
Send product events that trigger journeys and conversions.
Events are the spark for conversions, Insights goals, and event-triggered Journeys. They are a core API — you do not create an inbound webhook first.
Endpoint: ingestEvents — POST /v1/projects/{projectId}/event_ingestion Scope: write Batch: up to 500 events per call
Payload
{
"events": [{
"externalId": "evt_123",
"contactExternalId": "user_42",
"name": "order_placed",
"occurredAt": "2026-09-05T10:00:00Z",
"properties": {
"order_id": "ord_1842",
"status": "paid",
"total": "42.00",
"items": [{ "name": "Pro plan", "amount": "$29" }]
}
}]
}| Field | Required | Notes |
|---|---|---|
externalId | recommended | Idempotent retries |
contactExternalId | yes | Must match a contact you ingested |
name | yes | Journey trigger and goal names are case-sensitive |
occurredAt | yes | ISO-8601 |
properties | no | Snapshotted onto event-triggered enrollments as data |
Unknown event names create a proposed definition. Journeys that listen for that exact name still fire.
curl -X POST "$AUDRYO_API_BASE/projects/$PROJECT_ID/event_ingestion" \
-H "Authorization: Bearer $AUDRYO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"events":[{"externalId":"evt_123","contactExternalId":"user_42","name":"order_placed","occurredAt":"2026-09-05T10:00:00Z","properties":{"order_id":"ord_1842"}}]}'After ingest
Audryo records the event, evaluates matching active Journeys, and may enroll the contact (reentry policy applying). Goal events also feed Insights incrementality.
CLI: audryo events ingest events.json (raw array or { "events": [] }).
Related
- Contacts & events
- Triggers and reentry
- Personalization
- Inbound webhooks — only when you cannot use this API