Base URL
Authentication
Public REST integrations use an organization API key passed as a Bearer token:401 with {"detail": "Invalid authentication credentials"}.
The same public API routes also accept short-lived, scoped JWTs issued for authenticated
Versive MCP server sessions. Each MCP connection is granted studies:read, interviews:read, and
studies:write at consent time (or a narrower set if the client requests one). Those scopes are an upper bound:
organization roles and study access policies are still checked on every request. MCP clients manage these credentials
automatically; do not copy MCP access tokens into direct REST API integrations.
Conventions
- JSON everywhere — request bodies are JSON (
Content-Type: application/json); one endpoint (Update question) also acceptsmultipart/form-datafor file uploads. - IDs are UUID strings.
- Organization scoping is automatic — the key determines the organization; requesting a resource that belongs to another organization returns
403. - Partial updates —
PUTendpoints only change the fields you send. On studies, theconfigobject is merged into the existing config rather than replaced. - Pagination is endpoint-specific — list studies currently returns all matching records, while
GET /interviews?study_id=...supportspageandpage_size. Check each endpoint’s parameters before assuming either behavior.
Rate limits and retries
Versive does not currently publish numeric request-rate limits for the public API. Clients should keep concurrency bounded and retry transient5xx responses with exponential backoff and jitter. If the API edge returns 429, treat it
as transient and honor Retry-After when present. Do not retry validation, authentication, or authorization failures
without changing the request.
See Versioning and compatibility for the public API lifecycle and deprecation signals.
Errors
Errors use conventional HTTP status codes with a JSON body:Resources
Studies
Create, list, update, translate, and AI-edit studies; read response metrics.
Questions
Read, batch-create/update, and delete a study’s questions.
Question logic
Manage conditional branching rules.
Interviews
Create tracked participant links and read interview transcripts and status.
Insights
Fetch AI-generated interview summaries.
Translations
Trigger and manage study translations.
Folders
Create and list folders for organizing studies.
Webhooks
Receive an event after an interview is completed.
Versioning
Understand compatibility guarantees and deprecation signals.