All Currents errors share a single shape:Documentation Index
Fetch the complete documentation index at: https://ventra.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
error— a stable, machine-readable code (e.g.invalid_credentials,pending_change_exists,unresolvable_ip). Branch on this, not onmessage.message— a human-readable explanation. Phrasing may change between releases.request_id— include this in any support correspondence; it pins the exact server-side log row.
Status codes
| Status | Meaning |
|---|---|
200 OK | Successful request, includes existing-resource hits for idempotent endpoints. |
201 Created | New resource created. |
202 Accepted | Request queued for asynchronous processing (AML events, KYC submissions). |
400 Bad Request | Request body or query parameters failed schema validation. |
401 Unauthorized | Missing or invalid bearer key. |
403 Forbidden | Authenticated, but the operation requires elevated (admin) privileges. |
404 Not Found | The referenced resource does not exist or is not visible to your tenant. |
409 Conflict | Idempotency conflict (e.g. a pending change already exists). |
422 Unprocessable Entity | Request is syntactically valid but semantically rejected (rare; most validation surfaces as 400). |
429 Too Many Requests | Per-key rate limit exceeded. |
500 Internal Server Error | An unexpected server error. The request_id lets us trace it. |
Idempotency
Several endpoints are idempotent on natural keys:POST /v1/exclusions—(tenant, user, duration)POST /v1/limits—(tenant, user, limit_type)while a pending change existsPOST /v1/limits/commit—(tenant, transaction_id)POST /v1/sanctions/screen—(tenant, external_user_id)POST /v1/aml/event—(tenant, transaction_id)POST /v1/kyc/start—(tenant, user, target_tier)
200 OK rather than creating a duplicate. Use this freely under retry.
Rate limiting
The default sandbox limit is 100 requests per minute per API key. Production limits are set per-tenant.429 responses include a Retry-After header in seconds.