Skip to main content

Overview

The batch-issue endpoint accepts up to 10,000 credentials in a single call and processes them asynchronously. You get a job_id back immediately; the credentials are issued in the background by a worker Lambda, and you poll job status or subscribe to a webhook stream to find out when the batch is done. Use it for:
  • One-time backfills when you’ve already KYB-verified a set of businesses out-of-band.
  • CLI-driven uploads where an operator pastes a JSON file with thousands of records.
  • Periodic syncs from an internal system that issues credentials nightly.
For low-volume, interactive issuance (≤ 10 credentials), call POST /v1/credentials directly per credential — it’s faster and synchronous.

Prerequisites

  • A Beltic API key with credentials:write permission
  • A JSON array of credential payloads (each one a valid POST /v1/credentials body)

Step 1: Submit the Batch

Response

The batch is accepted and queued. The HTTP response returns within ~200ms; actual issuance happens in the background.

Step 2: Poll for Status (or use webhooks)

Poll the same job_id endpoint to check progress:
Status progression: queuedprocessingcompleted (or failed if every item errored).

Webhook Alternative

For long-running batches you don’t want to poll, create a webhook stream that fires on credential.batch_completed:
See the audit-streams endpoint reference for signature verification details.

Partial Failures

A batch is treated as best-effort: if one credential fails validation (e.g. an invalid kyb_status), the rest still issue. The job’s failed count reflects how many didn’t make it; per-item failure details are surfaced in the job response’s errors array:
The index field is the 0-based position of the failed item in your original credentials array — use it to reconcile with your source data.

Limits

Submitting a 100k-credential backfill? Split it across multiple jobs.

Idempotency

Like single-issue, batch-issue supports the Idempotency-Key header. Use one key per logical batch — re-submitting with the same key within 24 hours returns the original job_id without enqueuing duplicate work.

CLI Usage

The Beltic CLI wraps batch-issue with a progress bar and per-item retry. If you have a JSON file of credential payloads:
The CLI calls POST /v1/credentials/batch-issue, polls for completion, and exits non-zero if any item failed. Pair it with CI/CD to run nightly backfills.

Next Steps

Verify Credentials

Validate any of the issued credentials.

Audit Events

Query the audit log for batch issuance events.