Submit a Response
Send answers against a published flow version, with optional identity, metadata, and request context.
- Last reviewed
Submit a Response
Most API-based integrations follow the same sequence:
- resolve the current published
flowVersionId - collect the answers in your own UI
- submit against
response.submit
Endpoint
POST /api/v1/{apiKey}/trpc/response.submit
Logical input shape
The submission payload is built around these fields:
{
"flowVersionId": "flv_123",
"answers": {
"question_1": "Very satisfied",
"question_2": ["fast", "clear"]
},
"identities": [
{ "type": "userId", "value": "user_123" },
{ "type": "traits.email", "value": "user@example.com" }
],
"metadata": {
"tags": {
"source": "billing-page"
}
},
"context": {
"page": {
"path": "/settings/billing",
"referrer": "/settings",
"search": "?plan=pro"
},
"locale": "en-AU",
"userAgent": "Mozilla/5.0"
}
}
If you are calling the endpoint directly, send this logical input through the
standard tRPC transport for response.submit.
Failure cases worth planning for
Flow version not found.means theflowVersionIdis unknown or no longer available.This survey version is no longer accepting responses...means the version is older than the allowed grace window after a newer publish.
When in doubt, resolve the latest published version again before retrying.