Skip to main content

API Keys

Every request to https://api.beltic.com/v1 must include an API key in the X-Api-Key header:
API keys are created and managed in the Beltic Console under Settings → API Keys. The raw key value is shown exactly once at creation — copy it immediately and store it in a secrets manager. It cannot be recovered after you leave the page.

Environments

Beltic has two environments, each with its own API key prefix: The base URL is the same for both environments — the key prefix determines which environment your requests target. Never use a production key in development or test code. Staging credentials are isolated from production data and can be freely reset.

Key Scopes

Keys carry a fixed permission set. Request only the scopes your service actually needs — a key used only to verify credentials shouldn’t also be able to revoke them. Workflow API Credentials API Document API Business & Screening APIs Webhooks Requests with a valid key but missing scope return 403 Forbidden.

Error Responses

Authentication errors return standard HTTP codes with a JSON body:

Rate Limits

Rate limits are applied per API key: When a limit is exceeded, the API returns 429 Too Many Requests with a Retry-After header indicating how many seconds to wait:

Retries

The Beltic API is safe to retry on transient errors. Follow these conventions:
  • Retry on: 429, 500, 502, 503, 504
  • Do not retry on: 400, 401, 403, 404, 422 — these are deterministic failures that won’t resolve on retry
  • Use exponential backoff with jitter, starting at 1 second, capping at 30 seconds
  • Honour Retry-After on 429 responses — don’t backoff shorter than what the header specifies
For mutation requests (POST, DELETE), use idempotency keys to ensure retries don’t produce duplicate side effects.

Idempotency

Mutation endpoints (POST /v1/credentials, POST /v1/workflows/execute) accept an Idempotency-Key header. Submitting the same key twice within 24 hours returns the original response without re-executing:
Concurrent requests with the same key return 409 Conflict. Use a UUID or a hash of the request payload as the key.

Public Endpoints (No Auth)

The following endpoints do not require authentication — they are used by third-party verifiers who don’t have a Beltic account: See Public Endpoints for details.