Skip to content

Your workspace

Your workspace is your own account with APIs.Dev: your products and team, your plan and take, your verification and your Stripe connection.

From sign-up to the first sale

Every move is a Build plane Verb, and the move to Live is a person's. Filled: what your Customers see. The point marks the money you are paid.

What a workspace holds

A workspace is the scope above your products. One plan covers every product in it, and every act on it is a Build plane Verb.

FamilyVerbsWhat it does
The workspaceWorkspace.get, Workspace.closeIts state, plan, take, verification level and Stripe connection; it closes once every product is closed or transferred
Plan and takeWorkspace.upgrade, Workspace.downgradeOne of the four plans on the price list; an upgrade's take applies from the next charge, a downgrade's at the period's end
Allowances and spend capsAllowance.list, SpendCap.set, TopUp.createEach meter against its allowance; past it, usage bills at cost up to the cap, which stops model calls and Workflow steps, never a paying Customer's call
StatementsStatement.listEach month: the plan, the take charge by charge, and usage past the allowance
StripeStripeAccount.connectThe account every Customer pays into, connected once and checked before the move to Live
VerificationWorkspace.verifyWho answers for the sales, checked in levels; each level lets the workspace sell more
Your teamTeammate.invite, Token.create and the restPeople and agents under your Roles; agents never count toward a plan's people
Client accountsClientAccount.create, ClientAccount.handoffA client's own place on its own Stripe; a handoff keeps the product here with a statement per client, or moves it by transfer
Each product's endProduct.sunset, Product.transfer, Product.exportA product's life: sunset, close, transfer and export

Example

Your coding agent reads the workspace before it proposes the move to Live.

Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Cost: price=0, currency="USD"
X-Request-Id: req_6c0b3e9a71d24f58b1e3

{
  "id": "ws_leads",
  "state": "verified",
  "plan": { "name": "Launch", "take": 0.01, "renews": "2026-11-27" },
  "verified": "identity",
  "stripe": "connected",
  "people": 2,
  "allowances": { "calls": { "used": 41200, "of": 5000000 } },
  "spendCaps": { "steps": { "month": 25, "state": "under" } },
  "products": [{ "name": "leads", "state": "test", "host": "leads.io.sb" }]
}

That is GET https://apis.dev/v1/workspace, npx apis.dev workspaces get in the CLI, and getWorkspace over MCP.

States and levels

Each state is one the workspace's owner sees in the console, the CLI and Workspace.get, with the move that leaves it.

ThingStatesWhat moves it
A workspacesigned_up, verified, live, past_due, suspended, closedSign-up; verification; the first product's move to Live; a failed plan charge, with 14 days of grace; a suspension and its cure; Workspace.close
A Stripe connectionnone, onboarding, restricted, connected, disconnectedStripeAccount.connect, then Stripe's own checks; a restricted account takes no Live charge until Stripe lifts it
A verification levelemail, identity, businessA checked email; a person's identity, checked through Stripe; then the business's registration and tax details
A client accountopen, handed_off, closedClientAccount.create; a handoff, kept or moved
A spend capunder, warned, reached, then under when the period turnsAlerts at 50, 80 and 100 percent; at the cap, only usage past the allowance stops
LevelWhat it lets the workspace do
emailBuild, deploy to Test, and call every Interface with a Test key
identityGo Live, take payments within the limits Stripe sets a new account, and receive payouts
businessSell past those limits, run suppliers in a Marketplace or a Service API, open client accounts, and print "verified": "business" on every offer card and receipt

Going Live, and what stops a workspace

The move to Live is always made by a person on your team, on evidence the deploy plan prints first.

EvidenceWhat it shows
A passing check and planEvery Verb priced, at or above cost, with no breaking change left
Stripe connectedCharges and payouts are on for your account
A verification level of identity or aboveWho answers for the sales
One Test call per VerbEach Verb answers as its docs print it
Published terms and refund ruleWhat the offer card and every receipt bind

The approver holds your team's owner or admin Role. An agent proposes the move and it waits as Pending, so Environment.promote runs once on a person's grant.

A workspace sells anything the law allows that the terms do not exclude.

CauseWhat stopsWhat keeps runningThe cure
A plan charge unpaid past its gracePublishing a new VersionEvery product, and every paying Customer's callPay the statement
A lapsed verificationPayoutsServing and salesVerify again
Fraud, abuse or a breach of the termsNew sales and new sign-upsExisting Customers, their records and their exportsThe evidence the notice names, reviewed by a person

Every suspension names its reason and its cure, and writes an Event. A person at APIs.Dev reviews it, and nothing is deleted.

What you, your clients and your Customers meet

  • You. One plan and one statement for every product, the take line by line, and a cap on anything that bills past the allowance.
  • Your coding agent. It builds, deploys to Test and proposes the move to Live, which waits for you. Payouts, transfers and closing are reserved to a person.
  • A client. Its own account on its own Stripe, a statement of what its products used, and a handoff when you finish.
  • Customers. Your brand only, and your verified identity on each offer card and receipt. A billing problem of yours never stops their calls.

A workspace is the one account behind every product you sell, and every act on it is a Verb your agent can call.