Public Endpoints
Track an Event
Record a view, start, or submit event for a form’s analytics.
POST
The SDK and
Device type and browser are derived server-side from the User-Agent header — never trust or accept a client-supplied value for either.
This endpoint always responds
submit.js call this automatically — a view when the form loads, start on the first field interaction, and submit after a successful submission (carrying the same session/visitor identity so the resulting analytics row correlates back to the same visit). You only need this directly if you’re building fully custom analytics or a headless integration that skips the SDK.
string
required
The form’s public ID.
string
required
One of
view, start, submit.string
Client-generated session identifier (typically from
sessionStorage) — ties a view/start/submit sequence together as one visit.string
Client-generated, longer-lived visitor identifier (typically from
localStorage) — distinguishes a repeat visitor from a new one across sessions.200 immediately and never blocks on the underlying write — analytics tracking is fire-and-forget by design, so a slow or failed write here can never make a form feel unresponsive.