Events API v3
The Events API v3 splits the events query into four route-fixed tiers. The URL you call fixes both the billing tier and the identity fields you can get back, so the price of a call is legible from the route. Pick the tier that matches the enrichment you need.
Pick the route, and you pick the price
| Route | Returns |
|---|---|
GET /api/v3/events/web_event | Base event columns, no identity resolution (lowest cost) |
GET /api/v3/events/resolution_hem | Adds the hashed email (HEM) |
GET /api/v3/events/resolution_hem_pte | Adds HEM plus PTE identifiers |
GET /api/v3/events/resolution_full_profile | Adds full contact, company, and demographic fields (highest cost) |
There is no bare /api/v3/events query route: you always call a tier. Start with web_event to confirm data is flowing, then move up only to the tier whose identity or profile fields you actually need.
Discover the fields before you query
GET /api/v3/events_schemareturns the full field metadata (non-billable).GET /api/v3/events/{tier}/schemareturns only the fields allowed at that tier, for exampleGET /api/v3/events/web_event/schema.
Selecting a field above your route's tier is rejected, so the schema endpoint tells you exactly what each tier can return.
Authenticate and scope
Send your organization API key on every request, and scope the call to a project:
X-Api-Key: dlvr_xxxxxxxx
X-Api-Secret: <your secret>
Pass the project as ?project_id=<project-uuid> (or the X-Project-Id header). Create your key in the dashboard under Organization settings, API Keys. All calls are served from https://api.delivr.ai. The apiv2.delivr.ai and apiv3.delivr.ai hostnames are legacy aliases of the same backend, so the path selects the version, not the host.
Query
curl -s "https://api.delivr.ai/api/v3/events/web_event?project_id=<project-uuid>&limit=100" \
-H "X-Api-Key: dlvr_xxxxxxxx" \
-H "X-Api-Secret: <your secret>"The response is { "rows": [ ... ], "meta": { ... } }; the columns present depend on the tier route and the fields you select.
Move up a tier to get resolved identity:
curl -s "https://api.delivr.ai/api/v3/events/resolution_hem?project_id=<project-uuid>&limit=100" \
-H "X-Api-Key: dlvr_xxxxxxxx" \
-H "X-Api-Secret: <your secret>"Filters, field selection, and time windows
The tier routes share the same query parameters as the rest of the events API: field selection, filters, ordering, paging, and the time window. See Pixel and DSP Event Fields for the full field catalog and query-parameter reference.
Which endpoint should I use?
- New integration? Use v3. The per-tier routes make cost predictable and bound the returned fields to the tier you called.
- Already on
/api/v2/events*? It keeps working. Move to a v3 tier route when you want route-level cost control.
Updated 3 days ago
