Caravan Guide API Docs
Navigation - Errors

Error Codes

All error responses use the same envelope:

{
  "success": false,
  "error": {
    "code": "machine_readable_code",
    "message": "Human-readable description."
  },
  "meta": {
    "request_id": "a1b2c3d4e5f6",
    "version": "v1"
  }
}

The error.code field is stable and machine-readable. The error.message is human-readable and may change.

Authentication Errors

CodeHTTPDescription
api_platform_disabled503 The API platform is currently disabled by the operator. Try again shortly or contact support.
missing_credentials401 No X-API-Key header or Authorization: Bearer header was provided.
malformed_credentials401 A credential header was present but could not be parsed (e.g. a malformed Bearer header).
invalid_api_key401 The API key does not match any active key in the system.
expired_token401 The Bearer token has passed its expiry time. Request a new token via the token endpoint.
revoked_api_key403 The API key has been explicitly revoked. Obtain a new key from your account manager.
revoked_token403 The Bearer token has been explicitly revoked. Request a new token.
client_suspended403 Your API client account has been suspended. Contact support.
ip_not_allowed403 The request originated from an IP address not in your allowlist. Contact your account manager to update the list.
credential_environment_mismatch403 A live credential was used against a sandbox endpoint, or vice versa. Use the correct key/token for the target environment.

Authorization Errors

CodeHTTPDescription
scope_missing403 The endpoint requires a scope that your credential does not have. Contact your account manager to discuss expanded access.
api_access_disabled403 API access has not been enabled for your account. Contact support.
api_write_scope_not_commercially_enabled403 Write endpoints require enterprise access, which is not enabled for your account.

Rate Limit & Allowance Errors

CodeHTTPDescription
rate_limit_exceeded429 You have exceeded the per-minute request rate for your tier. Wait until the X-RateLimit-Reset timestamp and retry.
api_usage_allowance_exceeded429 Your monthly request allowance has been exhausted. Contact your account manager to discuss overage options.

Endpoint & Platform Errors

CodeHTTPDescription
endpoint_disabled503 This specific endpoint (or its category) has been temporarily disabled. The error.message will contain any available detail. Retry later.
idempotency_conflict409 An Idempotency-Key was reused with a different request body. Generate a new unique key for each distinct operation.

Request Errors

CodeHTTPDescription
invalid_request400 A required parameter is missing or has an invalid value. See the error.message for which parameter.
invalid_grant400 Token endpoint: the grant_type is not client_credentials.
invalid_client401 Token endpoint: the client_id/client_secret pair is invalid.
invalid_scope400 Token endpoint: the requested scope is not a subset of your allowed scopes.

Server Errors

CodeHTTPDescription
internal_error500 An unexpected server error occurred. Include the X-Request-Id when contacting support.

Retry Guidance

HTTP StatusSafe to retry?Notes
400NoFix the request first.
401 (expired)Yes, after re-authRe-request a token then retry.
401 (other)NoCredential issue - contact support.
403NoAccess denied - won't change on retry.
409No (change key)Use a new Idempotency-Key.
429 (rate limit)Yes, after resetWait until X-RateLimit-Reset.
429 (allowance)NoMonthly quota exhausted.
500Yes, with backoffRetry once with exponential backoff; if persistent, contact support with X-Request-Id.
503 (disabled)Yes, laterPoll for restoration; contact support if urgent.