# Ody developer docs > Ody is an AI-native business phone (shared numbers, calling, SMS/MMS, and the Astra AI receptionist). These are its developer docs. - REST API base URL: https://api.ody.co/v1/api — authenticate with `Authorization: Bearer ody_live_…` (or `ody_test_…` for test mode) - MCP server (Streamable HTTP, JSON-RPC 2.0): https://api.ody.co/v1/mcp — same keys and scopes - OpenAPI 3.1 spec (no auth): https://api.ody.co/v1/api/openapi.json - Every page is also available as Markdown by appending `.md` to its URL. ## Get started - [Introduction](https://dev.ody.co/get-started/introduction.md): What each Ody developer surface does — REST API, webhooks, MCP server, SDKs and Switchboard — and how they fit together. - [Quickstart](https://dev.ody.co/get-started/quickstart.md): Create a test key, make your first authenticated call, and send a (simulated) text in under five minutes. - [Core concepts](https://dev.ody.co/get-started/core-concepts.md): The objects behind every endpoint and tool: workspaces, members, contacts, conversations, activities, numbers, and the Astra agent. - [Authentication](https://dev.ody.co/get-started/authentication.md): Create, use, rotate and revoke Ody API keys. Every request sends Authorization: Bearer ody_live_… or ody_test_…. - [Scopes](https://dev.ody.co/get-started/scopes.md): Narrow an API key to exactly what an integration needs. One scope table governs both the REST API and the MCP server. - [Test mode](https://dev.ody.co/get-started/test-mode.md): ody_test_ keys work against your real workspace data while sends, purchases, AI calls, publishing and 10DLC filings are simulated. ## REST API - [REST API overview](https://dev.ody.co/api/overview.md): Base URL, request and response conventions, the OpenAPI spec, and every endpoint on one page. - [Errors](https://dev.ody.co/api/errors.md): One error envelope for every failure, the codes it can carry, what to do about each, and how to use request IDs. - [Pagination](https://dev.ody.co/api/pagination.md): Page through contacts and conversations with opaque cursors; which endpoints paginate and their page-size limits. - [Idempotency](https://dev.ody.co/api/idempotency.md): Retry message sends and number purchases safely with the Idempotency-Key header — no double texts, no double purchases. - [Rate limits](https://dev.ody.co/api/rate-limits.md): 600 requests per minute per key, the RateLimit headers on every response, and how to back off on 429. - [Contacts](https://dev.ody.co/api/contacts.md): Create, retrieve, update, search and delete the people your business talks to. - [Conversations](https://dev.ody.co/api/conversations.md): Threads between one of your Ody numbers and an outside party: list them, read the full timeline, and mark them open or done. - [Messages](https://dev.ody.co/api/messages.md): Send SMS and MMS from your business number, and search every message body and call transcript. - [Calls](https://dev.ody.co/api/calls.md): Read call and voicemail history, and place outbound phone calls handled by your AI agent. - [Numbers](https://dev.ody.co/api/numbers.md): List your phone numbers, search carrier inventory, buy local or toll-free numbers, and route a number to or away from the AI agent. - [Messaging (10DLC)](https://dev.ody.co/api/messaging.md): Register the workspace for US A2P 10DLC texting: check status, file the brand and campaign, refresh, and verify sole-proprietor PINs. - [Agent](https://dev.ody.co/api/agent.md): Configure Astra, the workspace's AI phone agent: voice, greeting, jobs, business hours, routing — then publish it live. - [Webhook endpoints](https://dev.ody.co/api/webhook-endpoints.md): Register HTTPS endpoints for event notifications, rotate signing secrets, send test pings and inspect delivery history. ## Webhooks - [Webhooks overview](https://dev.ody.co/webhooks/overview.md): Get pushed signed HTTPS notifications when texts arrive, calls end, summaries are ready and IVR flows run — instead of polling. - [Event types](https://dev.ody.co/webhooks/events.md): Every webhook event Ody can send, when it fires, and the fields in its data object. - [Verifying signatures](https://dev.ody.co/webhooks/signatures.md): Verify the Standard Webhooks HMAC-SHA256 signature on every Ody delivery, in Node, Python, or any language. - [Retries and delivery](https://dev.ody.co/webhooks/retries.md): Timeouts, the retry schedule, what counts as success, ordering, and how to debug failing deliveries. ## MCP server - [MCP server overview](https://dev.ody.co/mcp/overview.md): Ody's Model Context Protocol server lets Claude, ChatGPT, Cursor and any MCP client work the business phone: inbox, texts, numbers, 10DLC, AI calls and the agent. - [Connect an MCP client](https://dev.ody.co/mcp/connect.md): Step-by-step setup for Cursor, Claude Code, Claude Desktop, VS Code, the OpenAI Responses API, Anthropic's MCP connector and custom clients. - [MCP tool reference](https://dev.ody.co/mcp/tools.md): All 20 Ody MCP tools: what each does, its arguments, required scope, annotations and test-mode behaviour. - [MCP safety and permissions](https://dev.ody.co/mcp/safety.md): How to give an AI assistant exactly the access it needs: scopes, test keys, confirmation for money-spending tools, and auditing. - [MCP protocol details](https://dev.ody.co/mcp/protocol.md): Transport, protocol versions, authentication, error codes and raw JSON-RPC examples for building your own MCP client. ## Guides - [Send texts and handle replies](https://dev.ody.co/guides/send-your-first-text.md): End-to-end: send a text from your business number, receive the reply by webhook, answer in the same thread, and close it out. - [Agent Phone: give an AI agent a phone line](https://dev.ody.co/guides/agent-phone.md): Provision a real business phone line end to end through the API: buy a number, register 10DLC, configure and publish the AI agent, route calls to it, and place calls. - [Run a live SMS agent](https://dev.ody.co/guides/live-sms-agent.md): Let an LLM hold a real-time text conversation from your business number — with MCP's wait_for_message, or with webhooks and the REST API. ## SDKs (preview) - [SDKs](https://dev.ody.co/sdks/overview.md): Official zero-dependency TypeScript and Python clients for the Ody REST API, with auto-pagination, typed errors, idempotency and webhook verification. - [TypeScript SDK](https://dev.ody.co/sdks/typescript.md): Use @ody/sdk from Node.js, Deno, Bun or the browser: setup, pagination, errors, idempotency and webhook verification. - [Python SDK](https://dev.ody.co/sdks/python.md): Use the ody Python package: setup, pagination, errors, idempotency and webhook verification. Standard library only. ## Switchboard (preview) - [Switchboard](https://dev.ody.co/switchboard/overview.md): Switchboard turns a plain-English request into a reviewed, signed, step-by-step change to an Ody phone system. Private preview, in the app only. - [Plans and the build loop](https://dev.ody.co/switchboard/plans.md): How a Switchboard plan is proposed, revised in conversation, approved step by step, signed, checked and built. - [Switchboard actions](https://dev.ody.co/switchboard/actions.md): The catalog of changes Switchboard can plan and build, with their risk tiers, and what it deliberately won't do. - [Switchboard safety model](https://dev.ody.co/switchboard/safety.md): Why a confident AI plan can't silently change live calls: the guardrails in Switchboard's design. ## Resources - [Docs for AI tools](https://dev.ody.co/resources/docs-for-ai.md): Feed these docs to ChatGPT, Claude, Cursor or your own agent: per-page Markdown, llms.txt, llms-full.txt and the OpenAPI spec. - [Support and changelog](https://dev.ody.co/resources/support.md): Where to get help with the API, what to include in a report, versioning, and where product help lives. ## Optional - [All pages in one file](https://dev.ody.co/llms-full.txt): every page above, concatenated - [Help center](https://help.ody.co): end-user guides for the Ody app (not developer docs)