API Reference Available (v1)
Visz.ai exposes three public interfaces. Pick the one that fits your task — they cover different layers and you rarely need more than one.
| Interface | What it is | Use it for |
|---|---|---|
REST API (/v1) | The HTTP ingest surface at https://ingest.visz.ai. Authenticated with your public tracking key (X-Tracking-Key). | Server-side ingestion, custom integrations, anything the snippet sends under the hood. |
| JavaScript API | The global visz(...) command queue exposed by the tracking snippet. | Custom events, tags, identify, and consent control from your own page code. This is what 95% of users need. |
| Webhooks | Signed, outbound HTTP callbacks your workspace can subscribe to. | Reacting to alerts (frustration spikes, error spikes, conversion drops) in your own systems. |
Which one do I want?
- “I just want to track a button click or a purchase.” → Use the
JavaScript API. You call
visz('event', ...)from your page — the snippet handles batching, consent, and PII masking for you. - “I’m sending data from my backend / a non-browser client.” → Use the REST API directly with your tracking key.
- “I want to be notified when something happens in Visz.” → Subscribe to a Webhook.
A note on tRPC
Visz.ai’s dashboard talks to its backend over an internal tRPC API. That API
is not a public contract: it is undocumented, unversioned, and may change at
any time. The only public, stable surfaces are the three above — REST /v1, the
JavaScript snippet API, and Webhooks.
Authentication at a glance
- REST
/v1ingest routes are authenticated with your public tracking key (vz_…) via theX-Tracking-Keyheader. It is public by design — it ships in your tracking snippet. /v1/healthand/v1/share/{token}need no authentication.- Webhooks are authenticated the other way around: you verify that a
request really came from Visz by checking the
X-Visz-SignatureHMAC.
Last updated:
Last updated on