For developers

Agentic checkout, in four calls.

Alyte is the trust layer an agent clears before it can buy. You integrate against a hosted API, no PSP migration, no funds touching us. The same request path runs every check server-side, so an agent can't exceed its mandate no matter what its prompt says.

The integration

Discover, quote, reserve, confirm.

One request path. Each step a normal REST call with a Bearer token.

checkout.sh sandbox · no card
# 1 · discover, inventory for a merchant's event
GET  /v1/merchants/mrc_42/events          Authorization: Bearer $TOKEN

# 2 · quote, lock the price (returns a quote_id)
POST /v1/quotes          { "tier_id": "tier_ga", "qty": 2 }

# 3 · reserve, one atomic, oversell-proof hold
POST /v1/holds           { "quote_id": "qt_9f3" }   Idempotency-Key: 3b1c…

# 4 · confirm, the merchant's own PSP settles the charge
POST /v1/holds/hd_7c/confirm   { "instrument": "inst_tok_…" }
discover quote reserve confirm Money settles merchant to merchant's PSP. Alyte moves instructions, never funds.
Auth

A Bearer token, scoped and tenant-bound.

The important part: the spend cap is resolved server-side from the agent record, never read from the token.

What you send

One header. Scopes gate each route.

Authorization: Bearer <jwt>
scope: catalog:read payments:write agent:run
What Alyte enforces

Cap, scope, ownership and oversell checks all run in the orchestrator. The model cannot raise its own spend cap; that authority is resolved server-side from the agent record.

cap → server-side, from the agent record
Surfaces

Three ways in. One policy envelope.

REST, MCP and A2A all funnel through the same orchestrator, same auth, scopes, tenancy, idempotency, checks.

Straight about maturity: surfaces and policy checks are live and tested. Scheme attestation adapters (TAP, Visa Intelligent Commerce) are wired and enforced in shape, but live signature verification and the production agent are roadmap. The sandbox agent runs as a deterministic script. We label real, mock or stub honestly.

Money-path guarantees

Idempotent by contract. Typed on failure.

Idempotency-Key

Claimed atomically before any charge work, per-tenant. Two concurrent same-key requests never both authorize. Retry freely.

Idempotency-Key: 3b1c-…-9f
Stable error taxonomy

Typed codes, stable shape. An ambiguous PSP result halts to reconcile, never a silent decline you would retry into a double-charge.

{ "error": { "code": "validation_error", "message": … } }
Supply side

Bring your inventory and your PSP.

The four calls above are the buy side. To make a merchant's tickets available to agents, two things get wired, both real today, through the merchant console.

real · console
PSP linking

Register your PSP rails and store credentials as an opaque reference, never the secret, resolved at charge time. Charges settle to your own PSP account. Alyte is never a payee.

credential_ref → resolved at charge
real · console
Catalog

Create events and tiers, set price and availability. The mutable inventory that quotes price-lock against and holds decrement atomically, the source of the oversell-proof guarantee.

events · tiers · availableCount

Straight about the supply API: PSP linking and catalog management are live in the merchant console today, an admin surface you operate. A server-to-server inventory-sync API, for merchants who run their own ticketing system and want to push inventory programmatically, plus outbound webhooks (payment.succeeded, hold.expired), are on the roadmap, not shipped. If you have your own inventory source, that adapter is what we build with design partners next.

Read the full docs.

The quickstart, machine-readable OpenAPI spec, preview SDK, and full endpoint and error reference are coming to a hosted docs site. Talk to us in the meantime and we will walk you through the API directly.

Talk to us Try the sandbox