OdyDocs

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

SurfaceWhat it isUse it whenAuth
REST APIHTTPS + JSON endpoints at https://api.ody.co/v1/apiYour server or automation needs to read or change the workspace: sync contacts, send texts, buy numbers, configure AstraAPI key
WebhooksOdy POSTs signed events to your HTTPS endpointYou want to react the moment a text arrives, a call ends, or a contact changes — without pollingSigning secret (whsec_…)
MCP serverA Model Context Protocol server at https://api.ody.co/v1/mcp exposing 20 toolsYou want Claude, ChatGPT, Cursor or your own agent to work the inbox and the phone line in natural languageAPI key
SDKsZero-dependency TypeScript and Python clients for the REST APIYou'd rather call ody.messages.send() than hand-roll HTTP, pagination and signature checksAPI key
Switchboard previewAn in-app assistant that turns "after 6pm ring the on-call tech, then the AI" into a reviewed, signed plan and builds itAn admin wants to reconfigure call routing by describing it. In-app only, by design — not callable from the API or MCPSigned-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

  1. 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.
  2. 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.
  3. 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

Last updated Wed Oct 14 2026 00:00:00 GMT+0000 (Coordinated Universal Time)Something wrong on this page? Tell us