What this lets you do
Push Traceten events into your own systems in real time. When Traceten classifies a session as AI-referred, or attributes a conversion to an AI source, it POSTs a signed JSON payload to an HTTPS endpoint you register. Use it to feed a data warehouse (Snowflake, BigQuery), a CRM (HubSpot, Customer.io), an internal alerting pipeline, or anything else that speaks HTTP.When to use webhooks
Webhooks are push, not pull. Traceten initiates the request; you only need an endpoint that accepts a POST and returns a 2xx.
Requirements
- HTTPS only. Payloads carry your analytics data and endpoints receive a shared signing secret’s output, so plain
http://URLs are rejected at registration. - Publicly reachable.
localhostand private-network IPs are rejected. For local development, use a tunnel such ascloudflaredorngrok. - Up to 10 endpoints per site.
- Respond fast. Return a 2xx within 10 seconds. Queue heavy work; do not do it inline. See delivery semantics.
The envelope
Every delivery, regardless of event type, is a JSON object with the same five top-level fields:
All field names are
snake_case on the wire, at every level.
Event types
Each endpoint subscribes to a list of event types. New endpoints default to
["ai_session.classified"]. Full payloads for every type are in the event reference.
Every delivery is signed
Traceten signs the raw request body with a per-endpoint secret and sends the signature in theX-Traceten-Signature header. Verify it before trusting any payload. See verifying signatures.
Requests also carry User-Agent: Traceten-Webhooks/1.0, but the signature, not the user agent, is what proves a request came from Traceten.
Versioning
api_version is date-stamped and changes only for a breaking change to the envelope or to an existing data shape. Additive changes never bump it:
- New event types may appear. Ignore
typevalues you do not recognize instead of erroring. - New optional fields may appear inside
data. Ignore fields you do not recognize.
data fields. Code you ship against "2026-07-01" keeps working.

