Ingest quickstart
Get from zero to a routed event in three steps.
1. Create an ingest key
Sign in (a free tenant is provisioned automatically), open
Ingest keys → New ingest key, and copy the token. It looks like
ik_live_… and is shown once — Hookie only stores its hash.
2. Send an event
POST any JSON. Put the dataset name in the path to route directly:
curl -X POST https://hookie.ai/v1/ingest/ik_live_xxx/leads \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","plan":"pro","score":91}' You'll get back the submission id and where it routed:
201 Created
{
"submission_id": "9d3f…",
"routed": ["leads"],
"records": 1
} 3. See it in the console
Open Datasets → leads to see the record, Submissions for the raw capture, and Live to watch events stream in as they arrive.
Let your rules route it
Omit the dataset and Hookie runs your mapping rules to decide the destination dataset and shape:
# No dataset in the path → your routing rules decide where it lands
curl -X POST https://hookie.ai/v1/ingest/ik_live_xxx \
-H "Content-Type: application/json" \
-d '{"type":"signup","email":"[email protected]"}' Safe retries
Send an Idempotency-Key and a retry returns the original submission instead of
creating a duplicate — and it never counts twice against your quota:
curl -X POST https://hookie.ai/v1/ingest/ik_live_xxx/leads \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042" \
-d '{"order":1042,"total":59.9}' Next
- Verify outbound signatures on your receiving endpoint.
- Tail the live stream over SSE or WebSocket.
- Browse the API reference.