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: ingestEventsPOST /v1/projects/{projectId}/event_ingestion Scope: write Batch: up to 500 events per call

Payload

JSON
{
  "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" }]
    }
  }]
}
FieldRequiredNotes
externalIdrecommendedIdempotent retries
contactExternalIdyesMust match a contact you ingested
nameyesJourney trigger and goal names are case-sensitive
occurredAtyesISO-8601
propertiesnoSnapshotted 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": [] }).