Introduction
What each Ody developer surface does — REST API, webhooks, MCP server, SDKs and Switchboard — and how they fit together.
Ody is an AI-native business phone: shared numbers, team calling, a shared SMS/MMS inbox, and Astra, an AI receptionist that answers and places calls. Everything a team does in the Ody app is also available to code, and to AI assistants.
#What does what
| Surface | What it is | Use it when | Auth |
|---|---|---|---|
| REST API | HTTPS + JSON endpoints at https://api.ody.co/v1/api | Your server or automation needs to read or change the workspace: sync contacts, send texts, buy numbers, configure Astra | API key |
| Webhooks | Ody POSTs signed events to your HTTPS endpoint | You want to react the moment a text arrives, a call ends, or a contact changes — without polling | Signing secret (whsec_…) |
| MCP server | A Model Context Protocol server at https://api.ody.co/v1/mcp exposing 20 tools | You want Claude, ChatGPT, Cursor or your own agent to work the inbox and the phone line in natural language | API key |
| SDKs | Zero-dependency TypeScript and Python clients for the REST API | You'd rather call ody.messages.send() than hand-roll HTTP, pagination and signature checks | API key |
| Switchboard preview | An in-app assistant that turns "after 6pm ring the on-call tech, then the AI" into a reviewed, signed plan and builds it | An admin wants to reconfigure call routing by describing it. In-app only, by design — not callable from the API or MCP | Signed-in admin session |
The REST API and the MCP server are two doors into the same functions. A text sent with POST /v1/api/messages, by the MCP tool send_message, or from the inbox in the app goes through identical code, billing and rules.
#How the pieces fit
Text
┌──────────────── your code ─────────────────┐
curl / SDKs ───────▶│ REST API https://api.ody.co/v1/api/* │
Claude, ChatGPT ───▶│ MCP server https://api.ody.co/v1/mcp │──▶ same domain functions the app uses
Cursor, agents └────────────────────────────────────────────┘ (contacts, inbox, numbers, Astra, billing)
│
your HTTPS endpoint ◀── signed webhook deliveries (message.received, call.completed, …) ◀──┘
app.ody.co admin ──▶ Switchboard (session only) ──▶ plan → approve → signed build#Three things that are true everywhere
- A key acts as a person. Every API key belongs to the workspace member who created it and can never do more than they can in the app. Scopes narrow it further. See Authentication and Scopes.
- Your code changes the real account. There is no separate developer sandbox: a number you buy appears in Settings → Numbers, an AI call you place lands in the shared inbox, and a teammate can take over at any moment. Use test mode keys to simulate anything that spends money or reaches the outside world.
- Same billing as the app. Buying a number, filing 10DLC or placing an AI call through the API bills exactly like doing it in the app — no API surcharge.
#Plans
The REST API, webhooks, and the MCP server are included on every Ody plan, starting with Starter. Switchboard is in private preview and turned on per workspace by Ody.
#Where to go next
- Quickstart Send your first text in under five minutes.
- Core concepts Workspaces, conversations, activities and numbers.
- Connect an AI assistant Add Ody to Claude, ChatGPT or Cursor.
- Agent Phone guide Provision a complete AI phone line from code.
Last updated Wed Oct 14 2026 00:00:00 GMT+0000 (Coordinated Universal Time)Something wrong on this page? Tell us