Build with AI
This documentation, and this API, are built to be read by a model as well as by you. Two of the three things on this page work right now with nothing installed.
The whole site as text
Every page here is also served as Markdown — the same words, no markup — at the page's own
address with .md on the end. And llms.txt is the index of all of
them.
# The index: every page, with a sentence saying what is on it.
curl -s https://voice.sphoro.com/docs/llms.txt
# One page, as plain Markdown.
curl -s https://voice.sphoro.com/docs/agents.mdPaste one into a model, diff them between releases, or point a coding assistant's fetch tool at them. Nothing needs to be installed and no credential is required.
The API as a machine-readable description
curl -s https://voice.sphoro.com/openapi.json
curl -s https://voice.sphoro.com/openapi.yamlGenerated by the running server, so it describes the deployment you are actually talking to rather than a snapshot somebody exported. Most code generators take it directly, and most coding assistants will read it if you hand them the URL. See API reference.
keypad map, no greeting, and nothing to
read the menu out.The MCP server
Sphoro Voice speaks the Model Context Protocol, which gives a coding assistant real hands on your account: it can create agents, place and inspect calls, manage knowledge bases, test post-call extraction, build and validate journeys, inject events into live flows, and read these docs — with the same API key you would use yourself.
Roughly fifty tools, in the shape of the API rather than a reduction of it:
| Area | What the assistant can do |
|---|---|
| Agents | Create, read, update, delete; list the templates; extract a persona from one. |
| Calls | Start one, read it, fetch the transcript, end it, inject an event into a live flow. |
| Knowledge | Create a base, ingest text or a URL, search it, list and delete. |
| Journeys | Create, save and validate a draft, publish it, start an execution, read one, cancel it. |
| Campaigns | Create, add contacts, start, pause, resume, cancel, read the report. |
| Post-call | Test an extraction against a transcript without placing a call. |
| Webhooks | Create an endpoint, list them, send a test delivery. |
| Compliance | Check a number, add a suppression. |
| Analytics | Read the overview. |
| Docs | Search and fetch these pages, so it answers from the current version rather than from training data. |
Which turns a session into: "Create a Hindi-first collections agent that verifies date of
birth before naming the amount, then test-call my number", or "Why did call
call_8b21… end so fast?", or "Add an extraction for whether the caller
agreed to the plan, and try it on the last three transcripts."
Skills
Task-shaped instructions for a coding assistant — the method rather than the hands. The MCP server lets an assistant call the API; the skills tell it what a good agent body looks like, how to write an extraction that answers reliably, and which field to check for each symptom.
| Skill | Teaches |
|---|---|
| Authenticating | Base URLs, keys, and what a 401, 403 or 429 actually means. |
| Creating an agent | The body end to end: languages, conversation settings, post-call, tools, modes. |
| Making a call | Placing and following one; variables, compliance, end reasons. |
| Inbound setup | Pointing a number at an agent, menus, capacity. |
| Post-call extraction | Designing fields that come back right, and testing them. |
| Building a flow | Nodes, edges, expressions, capture, injected events. |
| Building a journey | Call, branch, wait, retry, message; drafts and versions. |
| Prompt writing | The structure, and the rules for text that is read aloud. |
| Debugging calls | Symptom to field: end reasons, latency, barge-in, flows, webhooks. |
| Webhooks | Subscribing, verifying signatures, retries, dedupe. |
| Campaigns and compliance | Lists, pacing, suppression, consent, calling windows. |
What to tell an assistant first
With no tooling at all, this is usually enough to get a useful first draft:
Read https://voice.sphoro.com/docs/llms.txt and then the pages it lists for agents,
prompting and post-call. The API description is at https://voice.sphoro.com/openapi.json.
Then write me a POST /v1/agents body for an outbound appointment-reminder
agent that speaks Hindi first and English second, leaves a voicemail message,
and extracts whether the appointment was confirmed.