Developers

From API key to first verification in minutes.

One signing scheme for every endpoint, consistent JSON, stable error codes and examples that actually run.

# body.json: {"selfie":{"image":"<base64>"},"reference":{"image":"<base64 KTP>"}}
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
BODY_HASH=$(openssl dgst -sha256 -hex body.json | sed 's/^.* //')
SIG=$(printf '%s\n%s\n%s\n%s\n%s' "$TS" "$NONCE" POST /v1/kyc/verify "$BODY_HASH" \
  | openssl dgst -sha256 -hmac "$KYC_API_SECRET" -binary \
  | openssl base64 -A | tr '+/' '-_' | tr -d '=')

curl -sS "$KYC_BASE_URL/v1/kyc/verify" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: $KYC_API_KEY" \
  -H "X-Timestamp: $TS" \
  -H "X-Nonce: $NONCE" \
  -H "X-Signature: v1=$SIG" \
  -H "Idempotency-Key: $(uuidgen)" \
  --data-binary @body.json
Getting started

Four steps to production

  1. 01Request access — we activate your dashboard
  2. 02Create an API key with only the scopes you need
  3. 03Sign and send your first request
  4. 04Monitor usage, cost and audit logs
Resources

Everything you need for production

Official SDKs are not available yet — the docs include working examples in four languages.

Start with the docs.

The full reference is public — no sign-in needed.