Documentation menu

API reference

20 operations in integrations. Raw spec: openapi.json.

GET/api/v1/api-keys

GET /api/api-keys — listing without secrets.

Responses

StatusDescription
200

Security: bearer

POST/api/v1/api-keys

POST /api/api-keys — creates a key and returns the raw secret ONCE.

Request body

CreateApiKeyRequest

Responses

StatusDescription
201

Security: bearer

DELETE/api/v1/api-keys/{id}

DELETE /api/api-keys/{id} — immediate revocation (rotation story: create replacement → revoke old).

Parameters

NameInTypeRequiredDescription
idpathstringYes

Responses

StatusDescription
204

Security: bearer

POST/api/v1/catalog/pricing-feeds

POST /api/v1/catalog/pricing-feeds — upload one immutable distributor feed batch; admin/owner; then `/{batch_id}/apply` overlays pricing by lowercase SKU.

Request body

PricingFeedBatchRequest

Responses

StatusDescription
200
422

Security: bearer

POST/api/v1/catalog/pricing-feeds/{batch_id}/apply

POST /api/v1/catalog/pricing-feeds/{batch_id}/apply

Parameters

NameInTypeRequiredDescription
batch_idpathstringYes

Responses

StatusDescription
200
404
409

Security: bearer

GET/api/v1/connectors

GET /api/v1/connectors — the org's installed bridges (presence only).

Responses

StatusDescription
200

Security: bearer

POST/api/v1/connectors/voip/call-logs

POST /api/v1/connectors/voip/call-logs — machine ingest of one call record (idempotent per provider call id). Requires the consents + the `calls.ingest` scope.

Request body

VoipCallLogRequest

Responses

StatusDescription
200
404
409

Security: bearer

POST/api/v1/connectors/{kind}

POST /api/v1/connectors/{kind} — the admin installs / re-consents.

Parameters

NameInTypeRequiredDescription
kindpathstringYes

Request body

ConnectorInstallRequest

Responses

StatusDescription
200
422

Security: bearer

DELETE/api/v1/connectors/{kind}

DELETE /api/v1/connectors/{kind} — withdraws the consent.

Parameters

NameInTypeRequiredDescription
kindpathstringYes

Responses

StatusDescription
200
404

Security: bearer

POST/api/v1/connectors/{kind}/test

POST /api/v1/connectors/{kind}/test — a provisioned canary through the adapter (slack/teams notifications; rewst trigger).

Parameters

NameInTypeRequiredDescription
kindpathstringYes

Responses

StatusDescription
200
404

Security: bearer

GET/api/v1/orgs/{org_id}/service-accounts

GET /orgs/{org_id}/service-accounts — admin listing with derived cert status.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes

Responses

StatusDescription
200

Security: bearer

POST/api/v1/orgs/{org_id}/service-accounts

POST /orgs/{org_id}/service-accounts — enroll a service account by pinning a certificate fingerprint with permission grants and an optional expiry.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes

Request body

CreateServiceAccountRequest

Responses

StatusDescription
201

Security: bearer

PATCH/api/v1/orgs/{org_id}/service-accounts/{id}

PATCH /orgs/{org_id}/service-accounts/{id} — update grants, expiry, or lifecycle status. The pinned fingerprint and org binding are immutable (a re-pin is a create + revoke).

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
idpathstringYes

Request body

UpdateServiceAccountRequest

Responses

StatusDescription
200

Security: bearer

DELETE/api/v1/orgs/{org_id}/service-accounts/{id}

DELETE /orgs/{org_id}/service-accounts/{id} — immediate, permanent revocation. Idempotent: a second delete of an already-revoked account stays successful (the row is present in-scope), so the surface is safe to retry.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
idpathstringYes
reasonquerystringNo

Responses

StatusDescription
204

Security: bearer

GET/api/v1/webhooks

GET /api/webhooks — the org's subscriptions (never includes secrets).

Responses

StatusDescription
200

Security: bearer

POST/api/v1/webhooks

POST /api/webhooks — create a subscription; responds with the signing secret once. Emits an audit record in the same transaction.

Request body

CreateWebhookRequest

Responses

StatusDescription
201

Security: bearer

PATCH/api/v1/webhooks/{id}

PATCH /api/webhooks/{id} — mutate URL / filter / enabled flag.

Parameters

NameInTypeRequiredDescription
idpathstringYes

Request body

UpdateWebhookRequest

Responses

StatusDescription
200

Security: bearer

DELETE/api/v1/webhooks/{id}

DELETE /api/webhooks/{id} — removes the subscription; deliveries cascade (history is intentionally scoped to the subscription's life).

Parameters

NameInTypeRequiredDescription
idpathstringYes

Responses

StatusDescription
204

Security: bearer

GET/api/v1/webhooks/{id}/deliveries

GET /api/webhooks/{id}/deliveries — the in-app delivery log, newest first, keyset-cursor paged.

Parameters

NameInTypeRequiredDescription
idpathstringYes
cursorquery—No
limitqueryintegerNo

Responses

StatusDescription
200

Security: bearer

POST/api/v1/webhooks/{id}/test

POST /api/webhooks/{id}/test — fires one `webhook.test` envelope into the real pipeline (outbox → relay → stream → signed delivery), then returns 202; poll the deliveries endpoint to watch attempts land.

Parameters

NameInTypeRequiredDescription
idpathstringYes

Responses

StatusDescription
202

Security: bearer