Skip to main content

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. localhost and private-network IPs are rejected. For local development, use a tunnel such as cloudflared or ngrok.
  • 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 the X-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 type values you do not recognize instead of erroring.
  • New optional fields may appear inside data. Ignore fields you do not recognize.
Never removed, never renamed: existing event types and existing data fields. Code you ship against "2026-07-01" keeps working.

What webhooks never carry

Payloads are stable projections, not raw internal records. IP hashes, user-agent strings, referrers, and network (ASN) data never leave Traceten, and page URLs are stripped to origin + path. Details are in the event reference.

Next