API Reference
Base URL:https://api.zebratruth.ai/v1
All endpoints require authentication via Authorization: Bearer {api_key} unless marked public.
Endpoints that reserve credits or change state accept an Idempotency-Key header; reuse it to retry safely.
Endpoint Groups
Compliance Checks
POST /compliance/check— Text, or a PDF / Worddocumentpart. Financial-services scopes viareviewScopesPOST /compliance/check-image— Image checkPOST /compliance/documents/extract— Extract document text, not billed
Video
POST /compliance/media/upload-url— Create upload URLPOST /compliance/check-video— Submit video check (acceptsreviewScopes)GET /compliance/check-video/{requestId}— Poll status and reportGET/POST /compliance/webhooks/video/secret…— Video webhook signing secret
Agents
GET /agents— Discover agents for your industries, including the sixfs-compliance-*specialists andpharma-healthcare-compliancePOST /agents/{agentId}— Invoke one agent
Jobs & Reports
GET /compliance/jobs/{jobId}— Poll an async checkGET /compliance/jobs/{jobId}/trace— Agent traceGET /compliance/jobs/{jobId}/stream— Resume SSEGET /reports/{reportId}— Get reportPOST /reports/{reportId}/replay— Replay check
Check History
GET /compliance/checks— List past checks within retentionGET /compliance/checks/{requestId}— Full persisted report, including the rules appliedGET /logs— Request history
Provenance
POST /media/provenance/inspect— Read Content Credentials on an image or videoPOST /media/provenance/sign— Sign with your registered signer (video is async)GET /media/provenance/jobs/{jobId}— Poll a video signing jobGET /media/provenance/signers— List signersGET /media/provenance/signing-keys— Public: keys used to sign requests to your signer
Account & Usage
GET /whoami— Validate key, tenant infoGET /usage— Credit balance for the periodGET /usage/summary— Totals by featureGET /usage/project/{projectId}— Usage for oneexternalIdGET /subscription— Plan and subscription stateGET /version— Engine version
Billing
POST /billing/checkout— Start a subscriptionPOST /billing/upgrade— Individual → Pro
Dashboard-session endpoints
A few routes are part of the same API but can only be called from a signed-in dashboard session, never with an API key. They are documented so you know what they return and what your team can automate through the dashboard:- Saved webhook endpoints —
GET,POST /webhooksandDELETE /webhooks/{webhookId}, plusGET /webhooks/deliveries. Owner role, recent-authentication proof, Pro plan. Per-requestwebhookUrlon a check needs none of this and works on every plan. - Signer registration —
POST /media/provenance/signers. Owner role with a recent-authentication proof. - Corpus review —
GET /memory/review-queue, the review packet, and the approve / reject / request-changes actions. Registered reviewers, or company owners and managers. - Company policies — publishing your own policies and brand assets happens in the dashboard; every check applies them automatically.
Plan-restricted endpoints
Some endpoints are not available on every plan. On the Individual plan,GET /logs and the four /webhooks management endpoints — list, register,
remove, and delivery log — return:
403 rather than 402: the request and credential are both valid, the plan simply
does not include the feature. 402 means you are out of credits, which has a
different remedy. See Plans & Billing.
data carries a stable code and nothing else. Every error response is
reduced to { code } before it is sent, so no other field — the plan, the
entitlement, the limit — is available to your client. Branch on code, and use
statusMessage when you want to show the reason to a person.webhookUrl on a compliance check is not plan-restricted, so
responseMode: "async" works on every plan. Only the saved-endpoint surface
above is gated. The video signing-secret routes under
/v1/compliance/webhooks/video/… are likewise unrestricted.
The API reference pages below are auto-generated from the
API specification.
Each endpoint includes request/response schemas and a playground for testing.