Skip to content

Quickstart

Get a first successful Cleared call in your Early Access environment. Venue path = gate. Ops path = onboard.

Maturity: Contract-preview / by arrangement. Paths below are the public contract shape — your issued OpenAPI may pin exact field names.

Prerequisites

  • Cleared environment base URL (placeholder: {API_ORIGIN})
  • Scoped clr_ API key (Authentication)
  • Server-side HTTP client (no browser-held secrets)
  • For gate: a synthetic subject_ref your env has seeded, or a case you onboarded
  • For onboard: vault attach entitlement on the key

Expected outcome

  • Venue: HTTP 200 with allowed: true|false (or equivalent) for an action such as quote; deny on miss/timeout is success for fail-closed wiring
  • Ops: HTTP 201/200 with case_id after onboard create

1. Authenticate

export CLEARED_API_BASE="https://api.cleared.example" # issued URL
export CLEARED_API_KEY="clr_test_xxxxxxxx" # issued secret
curl -sS "$CLEARED_API_BASE/v1/health" \
 -H "Authorization: Bearer $CLEARED_API_KEY" \
 -H "Accept: application/json"

Synthetic health shape:

{ "status": "ok", "service": "cleared", "maturity": "early_access" }

unauthorized → check key and environment. See Errors.

2. Gate check (venue)

curl -sS -X POST "$CLEARED_API_BASE/v1/gate/check" \
 -H "Authorization: Bearer $CLEARED_API_KEY" \
 -H "Content-Type: application/json" \
 -H "Accept: application/json" \
 -d '{
 "subject_ref": "subj_synth_001",
 "action": "quote",
 "as_of": "2026-10-03T15:00:00Z"
 }'

Synthetic allow:

{
 "allowed": true,
 "action": "quote",
 "policy_version": "pol_v0.1.0",
 "stratum_record_id": "stratum_rec_synth_abc",
 "expires_at": "2026-10-10T00:00:00Z"
}

Synthetic deny (fail-closed — treat as correct behavior when no live pass):

{
 "allowed": false,
 "action": "quote",
 "reason_code": "no_live_pass",
 "retryable": false
}

Wire your quote path to block on allowed: false, HTTP 403/422, timeout, or 5xx. Never fail open. Details: Gate check.

3. Onboard path (ops)

curl -sS -X POST "$CLEARED_API_BASE/v1/cases" \
 -H "Authorization: Bearer $CLEARED_API_KEY" \
 -H "Content-Type: application/json" \
 -H "Idempotency-Key: case-synth-001" \
 -d '{
 "legal_name": "Synthetic Counterparty LLC",
 "jurisdiction": "US-DE",
 "external_ref": "zd-demo-001"
 }'

Synthetic create:

{
 "case_id": "case_synth_001",
 "status": "received",
 "created_at": "2026-10-03T15:01:00Z"
}

Attach docs and decision/seal steps follow your issued OpenAPI. Seal uses Idempotency-Key = case_id + policy_version semantics — see Lifecycle and Eligibility record.

Failure modes

SymptomLikely causeIntegrator action
401 / unauthorizedBad or revoked keyRotate; confirm environment
403 / forbiddenScope missingRequest correct scopes
Gate deny no_live_passNo sealed pass / expiredExpected until onboard+seal complete
Timeout / 5xx on gateUpstream or cache issueDeny quote (fail closed)
409 on createIdempotency replayUse returned case_id

Next

Was this page clear?