Health & Public Endpoints
These endpoints do not require an API key.
Health Check
Section titled “Health Check”GET /v1/healthReturns a simple status indicating the public API is reachable. This is the endpoint to point uptime monitors at.
Operator-facing diagnostics — /healthz, /readyz, /health, /health/detailed — live on the backend host root (not under /v1) and are intended for deployment monitoring; the gated /health and /health/detailed require Authorization: Bearer $API_HEALTH_TOKEN and disclose runtime details that are not part of the public API contract.
Response — 200 OK
Section titled “Response — 200 OK”{ "status": "success", "message": "Public API is healthy", "timestamp": "2026-04-29T12:00:00.000Z"}Public Form Submission
Section titled “Public Form Submission”POST /v1/public/form-submission/:tenant_id/:form_idAccepts form submissions from your website. Authentication is handled through domain verification rather than API keys — your tenant’s verified domains are checked against the request’s Origin/Referer.
Your form’s own code calls this endpoint. The Pathbound events snippet does not: its form_submit event only records that a form was submitted on a page, with none of the field values.
The full reference is on the Forms page: the form id rule, the request body, a fetch() example and an HTML form, what a submission creates, and how to email everyone who submits a form.
Request Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
visitor_id | string | no | Visitor tracking ID from the events snippet. When provided, the submission is linked to the visitor’s prior pageviews. |
contact_data | object | no | Must include email if provided. Other fields optional. |
company_data | object | no | Must include domain if provided. |
At least one of contact_data and company_data must be present.
Response — 200 OK
Section titled “Response — 200 OK”{ "status": "success", "message": "Thank you for your submission"}The endpoint deliberately does not return internal IDs to avoid leaking tenant state to anonymous callers.
Error Codes
Section titled “Error Codes”| Status | Meaning |
|---|---|
400 | Invalid request body. |
403 | The Origin/Referer is missing or is not on a domain verified for this tenant. |
429 | Rate limit exceeded: 30 submissions a minute per address a request arrives from, or 100 a minute per tenant. |