Track an event
Records one event for an existing contact. Contacts are never created: an unknown contact returns 404. A retry with the same id (or the same contact, name and createdAt when no id is sent) is counted as a duplicate and returns 202. Events for an archived event name are ignored. A new event name creates its definition, up to 200 active names per workspace.
Body
Who did it. Precedence when several are given: id, then userId, then email. Contacts are never created.
When it happened: ISO-8601, or unix seconds. Default: now. Up to 365 days in the past; at most 5 minutes in the future.
2026-10-05T10:00:00ZYour unique ID for this event. Retries with the same ID are ignored (idempotency).
1 - 64evt_01J9Z3Up to 20 keys (≤ 4 KB). Values: string (≤ 255), number, boolean, date (ISO-8601, or unix seconds on keys ending in _date), link (http/https string), rich link { url, value }, money { amount (minor units), currency (ISO-4217) }. Keys are case-insensitive and cannot contain . $ ~ ! @ # % ^ & * ' { } | \ "`.
Response
Success
Events ignored because the same event was already recorded (same id, or same contact, name and createdAt).
Events ignored because the workspace reached its limit of active event names, or of all event names (archived included).