# D2B for Agents > Spreadsheets for AI Agents — typed, versioned, governed tables behind an agent-native API, MCP, CLI and SDKs. ## Docs - [D2B for Agents](https://docs.d2b.dev/en): Spreadsheets for AI Agents — take messy Excel in at the door, hand your agent typed, versioned, governed tables, and return results to humans as Excel in its original formatting. - [Use D2B from a coding agent](https://docs.d2b.dev/en/agents): Hand D2B to Claude Code / Codex / Cursor and friends: connect over MCP or the CLI, and let the server deliver the operating norms. Least-privilege PATs, the minimal repo snippet, faithful revise, live formulas. - [API reference](https://docs.d2b.dev/en/api-reference): Every endpoint, generated from the OpenAPI snapshot. The interactive reference in the sidebar renders the same spec. - [CLI](https://docs.d2b.dev/en/cli): The d2b command — JSON on stdout, suggested_fix-bearing errors on stderr. One contract for humans and shell-driving agents. - [Core concepts](https://docs.d2b.dev/en/concepts): Workbook / Source / Table / Sheet / Version / Job — plus optimistic locking, idempotency, the promotion model, governance and the per-row JSON Schema. - [Reading errors](https://docs.d2b.dev/en/errors): problem+json (type / title / detail / suggested_fix), and a page per error type. - [conflict](https://docs.d2b.dev/en/errors/conflict): The state moved (409). - [forbidden](https://docs.d2b.dev/en/errors/forbidden): Not allowed (403). - [internal](https://docs.d2b.dev/en/errors/internal): A server-side failure (5xx). - [propagation-failed](https://docs.d2b.dev/en/errors/propagation-failed): Your transform was saved; a downstream transform then failed to rebuild (400). - [rate-limited](https://docs.d2b.dev/en/errors/rate-limited): Rate limited (429). - [unauthorized](https://docs.d2b.dev/en/errors/unauthorized): Not authenticated (401). - [unknown-artifact](https://docs.d2b.dev/en/errors/unknown-artifact): The table / artifact can't be found (404). - [unknown-workbook](https://docs.d2b.dev/en/errors/unknown-workbook): The workbook can't be found (404). - [validation](https://docs.d2b.dev/en/errors/validation): The input doesn't meet the API contract (400 / 422). - [Your workbook in git](https://docs.d2b.dev/en/git-sync): d2b pull / push — bring transforms, sheets, charts and base tables into a repository, review them in a PR, push them back. Automate the loop with GitHub Actions. - [Connect over MCP](https://docs.d2b.dev/en/mcp): Use D2B's tools from Claude / Cursor / VS Code. Streamable HTTP. Auth is the host's sign-in (OAuth 2.1) or a Bearer PAT. The operating norms arrive from the server as instructions. - [Plans and pricing](https://docs.d2b.dev/en/plans): Billing is metered in data operations (ops) and storage. The biggest difference between Free and paid is the data lifecycle (trial and pause). - [Quickstart](https://docs.d2b.dev/en/quickstart): Mint a PAT and make your first call from Python, curl or the CLI in five minutes. - [SDKs (Python / TypeScript) and REST](https://docs.d2b.dev/en/sdks): d2b (Python) and d2b-sdk (TypeScript): automatic Idempotency-Keys, 429/5xx retries, suggested_fix-bearing exceptions. - [Webhooks](https://docs.d2b.dev/en/webhooks): Receive events like artifact.updated / job.completed, signed with HMAC-SHA256. ## Machine-readable - [openapi.json](https://docs.d2b.dev/openapi.json): OpenAPI 3.1 spec for /api/v1 and /api/control - [llms-full.txt](https://docs.d2b.dev/llms-full.txt): every page in full