canonical: https://jentic.com/apis/cosvoice.com/cosvoice

# CosVoice API

The CosVoice API gives an AI assistant its own phone line, a single number and email address, that it can use to place calls, send texts, and handle mail on the owner's behalf. You ask it to call someone in plain English, it holds the conversation, and it writes up the outcome, notes, and transcript that you read back after the call completes. Around the line it books restaurant tables by phone, keeps a contact list with standing instructions per number, and streams activity and full history so an agent can catch up on what happened.

## For AI agents

Place phone calls, send and read texts, handle email, and book tables through an AI phone line, then read each call's outcome, notes, and transcript. Authenticated with a bearer API key.

## Scope

Does not handle payment processing, CRM pipelines, or video conferencing. Use for an AI phone line's calls, texts, emails, and reservations only.

## Capabilities

- Place a phone call on the owner's behalf and read its outcome, notes, and transcript
- Send and read text messages from the line's own number
- Book a restaurant table by phone and list the tables the line has booked
- Read mail that reached the line and forward a message on to an inbox
- Keep a contact list with per-number standing instructions and forget a number
- Configure the line's name, voice, greeting, and standing instructions
- Catch up on calls, texts, and mail since a timestamp or read the full history

## Use cases

### Agent-Placed Phone Calls

An agent asks the CosVoice line to call someone in plain English, the line holds the conversation, and the agent reads back the outcome, notes, and transcript once the call completes. Calls run for a few minutes, so the agent either polls the call or waits for the completion webhook before acting on what was said.

Example prompt: Place a call with POST /calls, then poll GET `/calls/{id}` until the outcome, notes, and transcript are ready

### Restaurant and Contact Handling

An agent books a restaurant table by phone through the line and manages a contact list that tells the line how to treat each number. CosVoice records the booked reservations and lets the agent add or forget contacts, so repeat interactions follow the standing instructions set for that caller.

Example prompt: Book a table with POST /reservations, then add the caller with POST /contacts and standing instructions

### AI Agent Integration via Jentic

An AI agent reaches CosVoice through Jentic without handling the bearer key itself. It searches by intent, receives the matching operation and its input schema, and executes the call with the credential injected at run time. This lets an agent place a call or send a text as one step in a larger task without wiring the line's auth in code.

Example prompt: Search Jentic for 'place a phone call', load the POST /calls schema, and execute it with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/calls` | Call someone on the owner's behalf |
| GET | `/calls/{id}` | Read a call's outcome, notes, and transcript |
| POST | `/messages` | Send a text from the line's number |
| POST | `/reservations` | Book a table by phone |
| POST | `/emails/{id}/forward` | Forward a message on to an inbox |
| GET | `/activity` | Calls, texts, and mail since a timestamp |
| PATCH | `/settings` | Change the line's name, voice, greeting, or instructions |

## Key resources

- **Calls** — Place calls and read outcomes, notes, and transcripts via /calls and `/calls/{id}`
- **Messages and emails** — Send and read texts via /messages and read and forward mail via /emails
- **Reservations** — Book tables by phone and list bookings via /reservations
- **Contacts and settings** — Manage per-number contacts via /contacts and configure the line via /settings

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 65 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 74 / 100
  - Developer Experience & Jentic Compatibility: 64 / 100
  - AI-Readiness & Agent Experience: 53 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 59 / 100
- **View full report:** https://jentic.com/apis/cosvoice.com/cosvoice/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring CosVoice by hand means managing the line's bearer key, placing calls that run asynchronously over minutes, and polling each call or handling its completion webhook yourself. Through Jentic you install once, import CosVoice from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** CosVoice carries the recipient inside the request body, so rules bound which operations your agent may call, not which number it can reach. You choose the operations it may call, so placing calls and reading transcripts can be allowed while contact deletion and settings changes are not included unless you add them.
- **Credential handling:** Your CosVoice key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'place a phone call' or 'send a text', and Jentic returns the matching CosVoice operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Bland AI** — Programmable AI phone-calling platform with custom voice agents
- **Telnyx** — Programmable voice and messaging over a carrier network
- **Sinch** — Multichannel messaging and voice APIs

## FAQ

### What authentication does the CosVoice API use?

The CosVoice API authenticates with a bearer API key in the Authorization header, per its OpenAPI spec, where the key belongs to a specific line. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at execution time, so it never reaches the agent.

### Can I place a phone call with the CosVoice API?

Yes. You call the place-a-call operation with the request described in plain English, the line holds the conversation, and you read the outcome, notes, and transcript from the call once it completes. Calls take minutes, so an agent polls the call or waits for the call-completed webhook before acting.

### What are the rate limits for the CosVoice API?

The OpenAPI spec documents a rate limit of 240 requests a minute per key. Because calls run asynchronously over minutes, an agent typically places a call and then polls its status rather than making a burst of requests, which keeps it well within that limit.

### Is there a CosVoice MCP server?

You don't need an MCP server to give your agent CosVoice. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the call, message, and reservation operations. Nothing extra is loaded into the agent's context until an operation is actually invoked.

### Can I limit what my agent is allowed to do with the CosVoice API?

Yes. CosVoice carries the recipient inside the request body, so rules bound which operations your agent may call rather than which number it can reach. Allow only the operations it needs, such as placing calls and reading their transcripts, and the line's settings and contact-deletion operations stay out of reach, with every call logged by your own Jentic One instance.

### How do I place a call with the CosVoice API through Jentic?

Search Jentic for 'place a phone call', and it returns the CosVoice call operation with its input schema. Load the schema and execute POST /calls with the request, then read the result from GET `/calls/{id}`, with the credential injected at run time. To run it on your own infrastructure, install Jentic One from its GitHub repo.
