One capability model

API reference.

33 management and collection operations available through HTTP, CLI and MCP. Browser identity bridge endpoints are also described in the OpenAPI document.

Fixture IDs in input examples are placeholders. Replace them with resource IDs from your workspace; preserve idempotency keys for identical retries. Never put credentials in input JSON.
OpenAPI JSONCapability registryQuickstart

33 operations

surveys_create

POST /v1/surveys

Create a survey draft idempotently; identical retries return the original draft.

Authorization: management · Scope: surveys:write

Input example JSON · Full schema and errors

surveys_list

GET /v1/surveys

List workspace surveys.

Authorization: management · Scope: surveys:read

Input example JSON · Full schema and errors

surveys_update

PUT /v1/surveys/{id}

Update a draft using its current revision.

Authorization: management · Scope: surveys:write

Input example JSON · Full schema and errors

surveys_publish

POST /v1/surveys/{id}/publish

Publish an immutable version only when every customer-declared SDK installation supports its schema version.

Authorization: management · Scope: surveys:write

Input example JSON · Full schema and errors

collections_create

POST /v1/collections

Create an immutable embedded collection only when every declared SDK installation supports the bound schema version. Identical retries return the original submission credential; handle it as a secret.

Authorization: management · Scope: collections:write

Input example JSON · Full schema and errors

collections_update

PATCH /v1/collections/{id}

Open or close collection acceptance, or irreversibly revoke its credential.

Authorization: management · Scope: collections:write

Input example JSON · Full schema and errors

collections_security_update

PUT /v1/collections/{id}/security

Configure exact browser origins and a per-collection request rate. Origins are browser policy, not authentication.

Authorization: management · Scope: collections:write

Input example JSON · Full schema and errors

collections_get

GET /v1/collections/{id}

Fetch the immutable respondent configuration using a collection credential.

Authorization: collection · Scope: collection

Input example JSON · Full schema and errors

responses_submit

POST /v1/collections/{id}/responses

Submit a completed response. Accepted responses are counted for observability and are never metered or charged. Reuse the same idempotency key only for identical retries.

Authorization: collection · Scope: collection

Input example JSON · Full schema and errors

responses_list

GET /v1/responses

Retrieve one stable snapshot page of workspace responses, optionally filtered by collection and acceptance time. Continue with nextCursor.

Authorization: management · Scope: responses:read

Input example JSON · Full schema and errors

responses_delete

DELETE /v1/responses/{id}

Erase one response's raw answers and metadata while preserving its minimal retry receipt and usage entry.

Authorization: management · Scope: responses:write

Input example JSON · Full schema and errors

exports_create

POST /v1/exports

Create or idempotently retry a bounded asynchronous CSV or JSON response export.

Authorization: management · Scope: exports:write

Input example JSON · Full schema and errors

exports_get

GET /v1/exports/{id}

Read an export job's status and stable schema manifest.

Authorization: management · Scope: exports:read

Input example JSON · Full schema and errors

exports_download

GET /v1/exports/{id}/download

Download a ready export as authenticated base64 content before its 24-hour expiry.

Authorization: management · Scope: exports:read

Input example JSON · Full schema and errors

exports_revoke

DELETE /v1/exports/{id}

Irreversibly revoke export access and remove its stored object.

Authorization: management · Scope: exports:write

Input example JSON · Full schema and errors

retention_run

POST /v1/retention

Run one bounded raw-response and expired-export retention batch for the workspace.

Authorization: management · Scope: responses:write

Input example JSON · Full schema and errors

workspace_delete

DELETE /v1/workspace

Erase and tombstone the current workspace account, revoke capabilities and remove export objects.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

memberships_list

GET /v1/memberships

List current workspace memberships. Owner access is required.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

memberships_put

PUT /v1/memberships

Grant or replace a workspace membership role. Owner access is required.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

memberships_revoke

POST /v1/memberships/revoke

Revoke a workspace membership immediately. Owner access is required.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

service_credentials_list

GET /v1/service-credentials

List service credential metadata without secret values. Owner access is required.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

service_credentials_create

POST /v1/service-credentials

Issue a scoped service credential. Its token is returned exactly once.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

service_credentials_revoke

DELETE /v1/service-credentials/{id}

Irreversibly revoke a service credential.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

oauth_grants_create

POST /v1/oauth-grants

Persist consent as a tenant, subject, client, audience and scope-bound OAuth grant.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

oauth_grants_revoke

DELETE /v1/oauth-grants/{id}

Irreversibly revoke an OAuth grant for subsequent requests.

Authorization: management · Scope: identity:write

Input example JSON · Full schema and errors

usage_get

GET /v1/usage

Retrieve accepted-response usage.

Authorization: management · Scope: usage:read

Input example JSON · Full schema and errors

webhook_endpoints_create

POST /v1/webhook-endpoints

Creates disabled. Install the returned signing secret on your receiver, then explicitly enable. An identical idempotency retry reconstructs the original generation.

Authorization: management · Scope: webhooks:write

Input example JSON · Full schema and errors

webhook_endpoints_list

GET /v1/webhook-endpoints

Lists up to 100 workspace endpoints, including revoked entries. Signing secrets are never listed.

Authorization: management · Scope: webhooks:read

Input example JSON · Full schema and errors

webhook_endpoints_update

PATCH /v1/webhook-endpoints/{id}

Enable only after configuring verification. Use enabled:false to pause, or revoke:true to permanently cancel queued deliveries; an in-flight HTTP request cannot be recalled.

Authorization: management · Scope: webhooks:write

Input example JSON · Full schema and errors

webhook_endpoints_rotate

POST /v1/webhook-endpoints/{id}/rotate-key

Install the new generation and retain the old receiver secret for five minutes. New claims use the new generation; identical rotation retries return the original protected result.

Authorization: management · Scope: webhooks:write

Input example JSON · Full schema and errors

webhook_deliveries_list

GET /v1/webhook-deliveries

Inspect delivery status. Continue with after equal to the last returned UUID for a stable ordering of existing rows; this operational list is not a response snapshot.

Authorization: management · Scope: webhooks:read

Input example JSON · Full schema and errors

webhook_deliveries_get

GET /v1/webhook-deliveries/{id}

Read attempts, retry time and fixed failure code. Receiver bodies and survey answers are never exposed through delivery status.

Authorization: management · Scope: webhooks:read

Input example JSON · Full schema and errors

webhook_deliveries_replay

POST /v1/webhook-deliveries/{id}/replay

Requeue a completed or failed delivery before seven-day expiry, up to three times. The event ID remains unchanged; receivers deduplicate business processing by that ID.

Authorization: management · Scope: webhooks:write

Input example JSON · Full schema and errors