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.
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()
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
| Face | Mechanism | Address | Status |
|---|---|---|---|
| Docs | llms.txt front door + OpenAPI 3.1 contract | /llms.txt · /openapi.json | serving |
| REST | typed registry + keyless sandbox workspaces | /apis · POST /workspaces | serving |
| MCP | 5 tools; tool names are the contract's operationIds | POST /mcp | serving |
| Rate card | operation-keyed rates[]; 402 OFFER boundary | /pricing · /offer | serving · test-mode |
| SDK | typed client generated from the definition | via @dotdo/api | roadmap |
| CLI | commands generated from the definition | via @dotdo/api | roadmap |
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.