This guide takes you from zero to a verified event in about ten minutes. You'll send a single HTTP request — no SDK, no build step — and watch it land in the dashboard.
1. Get a write key
In the dashboard, open Settings → API Keys and
copy a write key. Write keys are prefixed uk_live_ and can only send
events — they can't read data or manage your account, so they're safe to use
from a browser or mobile app.
While you're there, copy your ingestion endpoint — it's shown alongside the key on the same screen.
Endpoint
Throughout these docs the endpoint is written as
https://YOUR_PROJECT_REF.supabase.co/functions/v1/v1-batch. Use the exact URL
shown in your dashboard.
2. Send your first event
Events are sent as a JSON batch to POST /v1-batch, authenticated with your
write key as a Bearer token. Here's the smallest request that works:
curl -X POST https://YOUR_PROJECT_REF.supabase.co/functions/v1/v1-batch \
-H "Authorization: Bearer uk_live_YOUR_WRITE_KEY" \
-H "Content-Type: application/json" \
-d '{
"batch": [
{
"type": "track",
"event": "Signup Completed",
"messageId": "msg_0001",
"timestamp": "2026-06-08T10:00:00.000Z",
"anonymousId": "anon_demo_user",
"properties": { "plan": "pro" }
}
]
}'A successful request reports how many events were accepted:
{ "success": true, "processed": 1, "failed": 0, "duration_ms": 24 }That's it — the event is ingested, the anonymous visitor anon_demo_user now
has a profile, and any matching engagement rules will evaluate against it.
Name events consistently
Use a stable, human-readable convention for event names — Title Case, a noun +
past-tense verb (Order Completed, Signup Completed). Pick one style and keep
to it; consistent names make funnels and reports far easier. (For ad-platform
conversion forwarding, specific lower-case names like purchase are matched
instead — see
Attribution.)
3. Verify it landed
Back in the dashboard, open Events. Your Signup Completed event appears in
the live stream within a few seconds, attributed to the anon_demo_user
profile. If you don't see it, check the error
reference — a 401
means the key or Authorization header is wrong.
Where to go next
- REST API reference — the full event schema, batch limits, and every field you can send.
- Authentication — key types and how to keep them safe.
- Web SDK — once you're past the first event, the SDK batches, retries, and enriches events for you in the browser.
Last updated 2026-06-10