API Overview
Public endpoints for resolving published versions and submitting responses against an app-scoped API key.
- Last reviewed
API Overview
Use the API when you want tighter control than the hosted embed gives you. Requests are scoped by your app's public API key and can be protected with JWT auth when App Security is enabled.
When the API is the right choice
Use the API if you want to:
- submit responses from your own client or backend
- control how requests are sequenced and retried
- integrate feedback more directly into your own app architecture
- align request auth with your existing JWT perimeter
Available endpoints
| Endpoint | Purpose |
|---|---|
GET /api/v1/{apiKey}/flows/{surveyId} | Resolve the latest published flowVersionId for a survey. |
GET /api/v1/{apiKey}/flow_versions/{flowVersionId} | Fetch the published snapshot for a specific flow version. |
POST /api/v1/{apiKey}/trpc/response.submit | Submit answers against a published flow version. |
The most common next step is Submit a Response.
Base path and authentication
- Base path:
/api/v1/{apiKey}/…where{apiKey}is your app’s public API key. - When JWT Auth is enabled for your app,
send
Authorization: Bearer <token>on each request. - When security is disabled, requests still work without a token. If you do send one, it is validated and failures are logged for debugging.
The API is intentionally app-scoped. If the app key, auth configuration, or identity assumptions are wrong, requests may still be syntactically valid but land in the wrong integration shape. Verify those three things first.