Skip to main content
The sandbox HTTP API is a strict subset of the production API shape. The auditor SDK (@enfinitos/sdk-auditor) is published today and integrates with the sandbox by pointing its base URL at https://sandbox.api.enfinitos.com. Other SDKs (sdk-operator-web, sdk-brand) ship at the April 2027 production launch — code snippets below show the expected integration shape for planning purposes. This page is the integration map: which SDK surface maps to which sandbox endpoint, with copy-pasteable code snippets.

@enfinitos/sdk-auditor

Verify any sandbox-issued pack offline. The sandbox publishes the same runtime-keys directory shape as production, with the sandbox-only key. This SDK is published today.
The auditor SDK is fully browser-compatible as of v0.0.2 — the previous version required node:crypto; the current version uses @noble/ed25519 + @noble/hashes + Web APIs only, so this exact snippet runs in a browser tab, a Cloudflare Worker, Node, Deno, or Bun.
Use auditor SDK v0.0.4 or later. The platform seals settlement.v2 packs (3-field content-hash settlement idemKey); earlier published SDK versions reconstruct the legacy 2-field key and report SETTLEMENT_IDEM_KEY_MISMATCH on every line. v0.0.4 is version-aware: it verifies both settlement.v2 and historical settlement.v1 packs.

@enfinitos/sdk-brand

@enfinitos/sdk-brand ships at the April 2027 production launch. The integration shape below is for planning purposes.
The Brand SDK is read-only — it queries delivery proof, metering, and settlement records scoped to a brand’s campaigns. The sandbox runs the brand from the operator side (we sign offers from one sandbox org to another), so the brand surface is presented through the same /api/sandbox/proof-packs and /api/sandbox/inspect endpoints.

@enfinitos/sdk-operator-web

@enfinitos/sdk-operator-web ships at the April 2027 production launch. The integration shape below is for planning purposes.
The Operator Web SDK is a React component library. Wire it against the sandbox by configuring its OperatorProvider with the sandbox base URL:
The sandbox API surfaces a subset of the production endpoints: rights, offers, challenges, proof, runtime-keys. Components that hit endpoints outside that subset (billing, pacing, pilot programmes) currently render an empty state when pointed at the sandbox. Wiring the remaining surfaces is on the post-launch roadmap.

@enfinitos/cli

The CLI has dedicated sandbox subcommands — see the CLI page for the full reference. The CLI itself ships at the April 2027 launch; today, use the published auditor SDK and the integration playground.

Direct HTTP

Every SDK is a thin client over the same HTTP API. If you’d rather not adopt a client, the API is fully documented in the API reference and the snippets above translate to direct fetch calls one-to-one.

Webhooks

The key-authed /v1 surface (the same credentials as the quickstart) can also push events to you. Subscribe an HTTPS endpoint and the platform POSTs a signed payload for every matching tenant event — right.issued, offer.accepted, challenge.opened, delivery.observed, and the rest of the event taxonomy. ["*"] subscribes to everything; a few kinds are defined but don’t fire on the sandbox yet (right.resumed, right.expired, challenge.withdrawn, proof_pack.sealed, the key.* kinds) — subscribing to them is safe and forward-compatible. Reads carry audit:read; the active toggle and replay additionally carry delivery:write; creating, deleting, rotating the secret, and process-due require a key carrying the wildcard * scope. Every delivery is signed with one header:
where v1 is HMAC-SHA256 over `${t}.${body}` — the timestamp, a dot, the raw request body — keyed with your subscription’s whsec_… secret. Verify by recomputing the HMAC over exactly that string with your subscription secret and comparing; reject stale timestamps (say, older than five minutes) to block replayed captures:
Delivery is asynchronous and at-least-once — make your receiver idempotent and return 2xx quickly (each attempt has a 10-second timeout). Failed attempts retry on an exponential backoff with jitter — roughly 30 s, 2 m, 10 m, 1 h — and after 5 attempts the delivery is marked dead_lettered: automatic retries stop, but the replay endpoint can re-fire it manually at any time.

What’s the same vs. production integration

A buyer’s integration team can write their auditor SDK wiring against the sandbox today. Other SDKs ship at the April 2027 production launch — type definitions, response shapes, error codes, and state-machine semantics will be identical.