Define once. Ship five faces.

One definition generates the documentation, the REST surface, the SDK, the MCP tools, and the CLI — plus the rate card that meters them. apis.dev is where you build that definition and publish it.

Keyless. No account. The sandbox floor answers anonymously.

14operations
5nouns
2transports
4rate rows
0keys required

Schema in, faces out

// @dotdo/api — the estate's convention-driven generator
import { defineResource } from '@dotdo/api'

const Customer = defineResource('Customer')
  .fields({
    name:  { type: 'string', required: true },
    email: { type: 'string', format: 'email' },
  })
  .relations({ orders: { type: 'hasMany', resource: 'Order' } })
  .build()
REST/apis — typed OK · EMPTY · BLOCKED · OFFER
SDKtyped client from the definition
MCPPOST /mcp — tools = contract operationIds
CLIcommands from the definition
Rate card/pricing — operation-keyed rates[]

The generator is @dotdo/api, the estate's own convention-driven builder: a resource definition in; REST with HATEOAS, an OpenAPI contract, a typed SDK, CLI commands, and MCP tools out. This origin practices the same mechanism — its whole machine face is generated from one manifest by the vendored axp-faces generator.

What serves today

FaceMechanismAddressStatus
Docsllms.txt front door + OpenAPI 3.1 contract/llms.txt · /openapi.jsonserving
RESTtyped registry + keyless sandbox workspaces/apis · POST /workspacesserving
MCP5 tools; tool names are the contract's operationIdsPOST /mcpserving
Rate cardoperation-keyed rates[]; 402 OFFER boundary/pricing · /offerserving · test-mode
SDKtyped client generated from the definitionvia @dotdo/apiroadmap
CLIcommands generated from the definitionvia @dotdo/apiroadmap

API and probe-report records are real, provenance-stamped. Action records are labeled example data. Settlement is a labeled test-mode stub — the 402 boundary is served, nothing is charged.

Built on apis.dev

52 of the register's 53 categories generated on this platform; every build gates at the pinned conformance spec (apis-ax-axp@2.6.0) before deploy — the generator emits the five faces conformant by construction, so a property scoring imperfectly is an apis.dev product gap, not the property's. Continuous verification is api.qa's product, not this page's: attested, replayable, and run by an estate sibling whose independence is procedural — pinned spec, evidence anyone can replay — not corporate.

Pricing

metered · $0.0002/call · first 1,000 calls free · $100 hard ceiling · test-mode: nothing is charged today — full rate card

apis.dev is the build-and-monetize door of the apis.do provider abstraction; api.management is its sibling for manage-and-operate. What you register here is served the way this page is served — one definition, every face generated from it, and an independent verifier, api.qa, grading the result in public.