# API

URL: /products/api · Id: `page:products/api`

> An API sells Verbs on your Nouns to developers and agents, with keys, metering, an SDK, a CLI, an MCP server and reference docs.

An API is an [Interface](/business/nouns/interface) that sells [Verbs](/business/nouns/verb) on your [Nouns](/business/nouns/noun) to developers and [Agents](/business/nouns/agent). Declare the Nouns and Verbs once, and every part of the API compiles from them.

## What you get
- 1 API on your domain, one route per Verb (Interface)
- 1 OpenAPI document, SDK, CLI and MCP server under your name (Interface)
- 1 reference docs, status page and changelog on your domain (Site)
- 1 key screen, usage and request log in the customer Portal (Portal)
- 1 Meter that counts calls per customer (Meter)
- 1 Offer with a metered Price, billed each month (Stripe's Product, Price and Billing Meter)
- 1 rate limits and errors that name the fix (Limit)

## Guides
- [Ship an API](/products/api/ship-an-api)
- [Replace a leaked key](/products/api/replace-a-leaked-key)
- [Promise uptime on a plan](/products/api/promise-uptime)

## Build it in code
| Part | Code |
| --- | --- |
| Calling the platform's API | [API guides and reference](/code/api) |
| The typed client | [SDK](/code/sdk) |
| The terminal | [CLI](/code/cli) |
| Agents and tools | [MCP](/code/mcp) |
| Keys and scopes | [Keys](/code/api/guides/keys) |
| The [Function](/business/nouns/function) behind each Verb | [Functions](/code/platform/capabilities/functions) |

## How it works
- [Your customers' API keys](/products/api/customer-keys): issued in the [Portal](/business/nouns/portal), scoped, rolled and revoked.
- [API plans, limits and uptime](/products/api/plans-and-uptime): a free plan, bundles, caps, rate limits and credits.
- [The API](/products/platform/api): the seven parts compiled from one definition.
- [api.sb](/code/platform/api-sb): the platform API every [Startup](/business/nouns/startup) API runs on.
- [Rate limits](/code/platform/rate-limits).