The API

Access starts empty.A key is created, not assembled.

The action surface the product itself runs on, with the tenancy, the ceilings and the isolation applied identically. What is not exposed yet is said so here, rather than discovered after you have written against it.

One channel live · Scoped per workspace · Attributable per client

POST /v1/tenants{  "name": "Northwind Partners",  "external_id": "client-4471"}201  { "id": "tnt_4b91", "status": "active" }

The API

The same actions, from your own systems.

The action surface and the tenancy around it. The selection endpoints follow, behind the same keys.

A narrow channel with regular taps along its length, opened at one end by a single small key, with one line running its full width.

Issued per workspace

Access starts empty. A key is granted only the actions you name.

Attributable per client

Usage is recorded against one client, so a reseller can account for it cleanly.

The isolation holds here

One client's data cannot be reached with another client's key.

A request that arrives twice acts once

A replay reproduces the first result exactly, errors included.

Guarantees

What the interface promises.

An API is a promise about what stays true while your code is not running. These are the ones we make.

Access starts empty

A key is granted only the actions you name, one at a time, and holds nothing by default. Widening it is a decision someone makes and the record keeps, rather than a checkbox that was already ticked when the key was issued.

Every call is attributable

Usage is recorded against a single client, so a platform or reseller can account for what each engagement consumed without keeping a parallel ledger of its own.

State is ours to hold

An engagement that runs for six weeks holds its own position. Nothing is lost because your service restarted, and nothing has to be replayed by you to catch up.

The ceilings apply here too

Pacing, spacing and per-account ceilings are enforced beneath the API exactly as they are in the product, and allowance is drawn at the instant of the attempt. There is no path through the interface that lets an integration spend an account faster than its owner allowed.

API reference

Tell us what you would build.We will tell you what is exposed.

Keys are issued per workspace and scoped to what you are granted — which is a conversation, not a form.