Platform API

The company operating system exposes versioned contracts rather than giving agents direct access to internal data. These platform endpoints cover subscription, usage and signup; module services provide the governed business tools.

The signup contract and r72-B4 self-service billing backend are implemented. Billing remains default-off until the staged rollout flag is approved for the deployed environment.

Read the subscription

GET /api/v1/platform/subscription

Returns the tenant-safe commercial status, cycle, period, purchased modules, usage and mirrored invoices visible to the authenticated workspace.

json
{
  "status": "ACTIVE",
  "cycle": "ANNUAL",
  "modules": [{ "code": "finance", "band": "C", "purchased": true }]
}

Read the public catalogue

GET /api/v1/signup/catalogue

Returns the published GBP price book, optional independently published TRY book, module/band rules and live signup-region availability. The client never supplies an amount.

json
{
  "priceBooks": [{ "code": "GBP-UK", "currency": "GBP" }],
  "signupRegions": [{ "code": "uk-london", "available": true }]
}

Check a workspace address

GET /api/v1/signup/slug-available?slug=northrig

Returns one boolean with bounded disclosure. The endpoint is rate-limited and the reservation remains atomic at lead creation.

json
{ "available": true }

Create a verified signup lead

POST /api/v1/signup/leads

Stores the requested workspace, identity mode, branding seed and enabled region, then sends verification. It does not create a database before verification.

json
{
  "leadId": "opaque-status-proof",
  "verificationRequired": true
}

Redeem email verification

POST /api/v1/signup/verify

Redeems the one-time email token and returns the non-guessable status proof. B3 keeps the verification token out of query strings.

json
{ "leadId": "opaque-status-proof", "verified": true }

Read provisioning status

POST /api/v1/signup/status

Uses the non-guessable lead proof to project B1 provisioning progress without exposing placement, database credentials or raw worker errors.

json
{
  "leadId": "opaque-status-proof",
  "status": "provisioning",
  "activeStage": "schema_verified"
}

Send workspace discovery email

POST /api/v1/signup/workspaces/email

Accepts a work email and always returns the same public acceptance result. Workspace names and delivery outcomes remain out-of-band.

json
{ "accepted": true }

Webhook events

Every commercial state change is emitted after it is durably recorded. Consumers should deduplicate by event id.

EventWhen
subscription.updatedBasket, band, cycle or status changed
usage.threshold_reachedA billable metric reaches a configured warning threshold
invoice.paidThe mirrored platform invoice is paid
workspace.readyProvisioning completed and the first administrator was invited