Developer API

Your business phone,
now programmable.

Every contact, conversation, message, and call in your Ody workspace behind one clean REST API | plus an MCP server for AI assistants, signed webhooks, and SDKs. One key, created in minutes.

Get your API key→Read the docs

Bearer auth · ody_live_ and ody_test_ keys · Settings → Developer API

send-sms.sh | your first API call
# Send an SMS from your Ody number
curl https://api.ody.co/v1/api/messages \
-H "Authorization: Bearer ody_live_…" \
-H "Idempotency-Key: order-1042-shipped" \
-d '{"to": "+15125550123", "body": "Your order shipped!"}'
201 Created
{
"conversationId": "b4a6f0…",
"message": { "body": "Your order shipped!" },
"simulated": false
}
Idempotency-Key on POST /messages | retries within 24h replay the first response
Cursor pagination on every list endpoint | follow nextCursor, never miss a row
Standard RateLimit-Limit / -Remaining / -Reset headers, Retry-After on 429
Uniform JSON error envelope with an X-Request-Id echo on every response

THE PLATFORM

Everything you need to build on Ody

Six pieces, one API key. Designed to feel boring in the best way: predictable resources, predictable errors, predictable pages.

REST API

Contacts CRUD, conversations, SMS/MMS sending, message search, call history, and phone numbers at https://api.ody.co/v1/api | Bearer-authenticated with your ody_live_ key.

GET /v1/api/contacts

MCP for AI assistants

Connect ChatGPT, Claude, or Cursor to https://api.ody.co/v1/mcp and your assistant gets 11 tools | list and update contacts, read conversations, search messages, send texts | scoped by your key.

11 tools · /v1/mcp

Signed webhooks

Outbound webhooks with Standard-Webhooks HMAC signing | webhook-id, webhook-timestamp, and webhook-signature headers | automatic retries, and per-endpoint secrets you can rotate anytime.

webhook-signature: v1,…

Test mode

ody_test_ keys behave exactly like live keys, but message sends are simulated | no real SMS ever leaves. Point your CI at production and sleep fine.

"simulated": true

TypeScript & Python SDKs

Official, fully typed clients with auto-pagination, typed errors, idempotent sends, and webhook signature verification built in | so you never hand-roll HMAC again.

await ody.messages.send(…)

OpenAPI 3.1

The whole surface is described in one machine-readable spec at /v1/api/openapi.json | generate clients, mock servers, or just feed it to your AI coding agent.

GET /v1/api/openapi.json

LEAST PRIVILEGE

Keys that only do what you say

Create keys in the Ody app under Settings → Developer API and narrow each one to exactly the scopes an integration needs | seven scopes across contacts, conversations, messages, numbers, and webhooks. A read-only dashboard key can never text a customer.

ody_live_… · scoped key
✓contacts:read
✕contacts:write
✓conversations:read
✕conversations:write
✓messages:send
✓numbers:read
✕webhooks:manage

MODEL CONTEXT PROTOCOL

Paste one block, your AI is on the phones

The same API key powers the MCP server. Drop this config into ChatGPT, Claude, or Cursor and ask your assistant to catch up on unread conversations, draft replies, or text a customer | every call scoped to what the key allows.

Explore the MCP server→
mcp.json
{
"mcpServers": {
"ody": {
"url": "https://api.ody.co/v1/mcp",
"headers": {
"Authorization": "Bearer ody_live_…"
}
}
}
}

START BUILDING

From zero to first SMS in five minutes

Grab a key, make one curl call, and you've sent a text. The full API reference, webhook guides, and SDK quickstarts live in the help center.

Browse the API docs→Open Settings → Developer API

API keys are created by workspace owners and admins under Settings → Developer API.

FAQ

Developer questions, answered

What can the API do today?
Full contacts CRUD; list and read conversations and set their status; send SMS and MMS; search your message history; pull call and voicemail history with transcripts; and list your workspace's phone numbers. The complete reference lives in the developer docs at help.ody.co.

Industries

Who uses developer api, and how

Real setups from the industries that run on Ody: what they route, who answers, and where the call lands. Each card opens the setup for that company size.

Home & field servicesMulti-location
Home services

Push bookings and summaries into your field software

Webhooks fire on call.completed and message.received. Through Make or your own code, the summary lands on the job in ServiceTitan, Housecall Pro or Jobber. Included on every plan.

North+1 (512) 555-0171Branch dispatchbusiness hours, ring order
See how home service companies use Ody→
Health & wellnessMulti-location
Medical practices

Summaries and bookings into the practice system

Webhooks on call.completed and message.received push call summaries into your PM or EHR workflow through Make or your own code. Included on every plan.

Downtown+1 (512) 555-0201Clinic front desklocal hours, menu
See how medical practices use Ody→
Professional servicesMulti-location
Insurance agencies

Push call summaries into the agency management system

Subscribe a webhook to call.completed and message.received. Through Make or your own code, each summary lands on the client record in Applied Epic, EZLynx or HawkSoft. Included on every…

Austin+1 (512) 555-0101Local deskoffice hours, ring order
See how insurance agencies use Ody→
Property & real estateMulti-location
Real estate

Leads into Follow Up Boss, kvCORE or your CRM

Follow Up Boss is native. Webhooks on call.completed and message.received push leads and summaries into other CRMs through Make or your own code. Included on every plan.

Central+1 (512) 555-0601Office duty agentlocal hours, ring order
See how real estate teams use Ody→
Local & hospitalityMulti-location
Restaurants

Reservation requests into your booking system

Webhooks on call.completed and message.received push reservation and catering requests into OpenTable, Resy or Toast workflows through Make or your own code. Included on every plan.

Downtown+1 (512) 555-0701Host standper location, open hours
See how restaurants use Ody→
Logistics & transportMulti-location
Trucking & logistics

Call events into McLeod, TMW or your TMS

Webhooks on call.completed and message.received push load and check-call summaries into your TMS through Make or your own code. Included on every plan.

Laredo+1 (956) 555-0903Terminal desklocal hours, ring all
See how trucking and logistics companies use Ody→
Tech & commerceMulti-location
Ecommerce brands

Call and message events into your data stack

Webhooks on call.completed and message.received, scoped API keys, test mode and TypeScript and Python SDKs. Push events into your warehouse, your CRM or your own support tooling. Included…

Alder & Oak+1 (800) 555-1001Brand support teamring order
See how ecommerce brands use Ody→
Education & communityMulti-location
Schools & childcare

Absences and tours into your SIS or CRM

Webhooks on call.completed and message.received push absence notes and tour bookings into your student information system or admissions CRM through Make or your own code. Included on every…

North campus+1 (512) 555-1201Campus officemenu, school hours
See how schools and childcare centers use Ody→

Better with your stack

The API is the full surface. Integrations are the no-code path.

Scoped keys, webhooks, and SDKs cover anything you want to build. Slack, Make, and CSV cover the jobs most teams shouldn't have to write.

Never miss another customer.

Port your number, train your agent in minutes, and put your line on autopilot. Or keep the AI off entirely. Your call.