canonical: https://jentic.com/apis/echo.win/echowin

# echowin API

echowin is an AI-powered phone answering platform that handles inbound calls with virtual agents and routes follow-up actions back to a business. The API exposes 33 endpoints to manage AI agents, contacts, contact notes and assignments, call records, knowledgebase entries, boards (kanban-style task organisation), and tags. Businesses use it to read call transcripts, sync contacts to a CRM, update agent instructions, and automate post-call workflows.

## For AI agents

Manage echowin AI phone agents, read call records and contacts, update agent instructions, and run knowledgebase and board automations through 33 REST endpoints.

## Scope

Does not handle outbound dialling, SMS messaging, or telephony number provisioning - use for managing echowin AI phone agents, contacts, calls, and knowledgebase entries only.

## Capabilities

- List and update AI agent instructions that drive how echowin handles inbound calls
- Sync contacts and contact notes between echowin and an external CRM
- Read call records to extract transcripts and outcomes for analysis
- Manage boards and assignments to route follow-up tasks from calls
- Maintain knowledgebase entries that ground the AI agent's answers
- Tag contacts and calls to power downstream filtering and reporting

## Use cases

### AI Receptionist for Small Businesses

Small businesses use echowin as an AI receptionist that answers calls, captures lead details, and books follow-ups. The API lets the business read call records, update agent instructions when offerings change, and sync contacts back into their CRM. The endpoint surface covers agents, contacts, calls, and notes so the entire call lifecycle stays in sync without manual data entry.

Example prompt: List recent calls for an agent, push each caller's contact and notes into the business CRM, and tag qualified leads.

### CRM Contact and Note Sync

Businesses already running a CRM want call activity to flow into customer records automatically. The echowin API exposes /api/v1/contacts for create, list, and update, plus /api/v1/contacts/{contactId}/notes for per-call notes. A nightly or webhook-driven sync keeps the CRM contact record up to date with what the AI agent learned during recent calls.

Example prompt: On call completion, GET the new echowin contact, POST a contact note containing the call summary, then push both into the destination CRM.

### Knowledgebase and Agent Instruction Management

When pricing, hours, or product details change, the AI agent's grounding must update too. The echowin API exposes knowledgebase endpoints and PUT /api/v1/agents/{agentId}/instructions so an admin tool or CI pipeline can push changes from a single source of truth. The agent then handles new calls with the updated context immediately.

Example prompt: PUT /api/v1/agents/{agentId}/instructions with new instructions reflecting the latest pricing and confirm the change took effect.

### Post-Call Task Routing via Boards

echowin's board resource works like a kanban that organises post-call follow-ups. Using the contacts assignments endpoints and board endpoints, an integration can move a contact to the right board column when the AI agent flags an issue. This replaces manual triage and keeps the team focused on calls that need a human.

Example prompt: When a call ends with a 'needs callback' tag, list the contact's assignments and create a new board card on the callbacks column.

### AI Agent Voice Workflow Orchestration

An external AI agent can use Jentic to discover echowin operations and coordinate a multi-step voice workflow - list calls, read transcripts, summarise, update CRM contacts, and adjust knowledgebase entries - without an engineer wiring those calls. Jentic delivers the X-API-Key auth and operation schemas into the agent's context for each step.

Example prompt: Through Jentic, search 'list echowin calls and update contact notes', load the relevant schemas, and execute the call-to-CRM update flow.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /api/v1/agents | List all AI agents |
| PUT | /api/v1/agents/{agentId}/instructions | Update agent instructions |
| GET | /api/v1/contacts | List contacts |
| POST | /api/v1/contacts | Create a contact |
| POST | /api/v1/contacts/bulk | Bulk-create contacts |
| POST | /api/v1/contacts/{contactId}/notes | Create a note for a contact |

## Key resources

- **Agents** — Manage echowin AI phone agents and their instructions
- **Contacts** — Create, read, update, delete, and bulk-create contacts
- **Notes** — Add and list notes on a contact
- **Calls** — Read call records and outcomes
- **Knowledgebase** — Maintain entries that ground AI agent responses
- **Boards** — Kanban-style boards for organising post-call work
- **Assignments** — Track contact assignments across boards and team members
- **Tags** — Apply tags to contacts and calls for filtering

## Why Jentic

- **Setup:** Wiring the echowin API by hand means managing its X-API-Key header on every request across agents, contacts, calls, and knowledgebase endpoints on the echo.win host. Through Jentic you install once, import the echowin API from the API Directory, store the X-API-Key once, and your agent calls it.
- **Permission scoping:** echowin operations put the resource id in the URL path, such as /agents/{agentId}/instructions and /contacts/{contactId}/notes, so a rule can pin your agent to one phone agent or one contact. You choose the operations it may call, so you can allow reading agents and adding contact notes while leaving bulk contact creation out unless you add it.
- **Credential handling:** Your echowin X-API-Key is stored once, encrypted, by your own Jentic One instance and injected as the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list echowin calls' or 'update an echowin agent's instructions', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio Voice API** — Programmable voice and call control rather than a packaged AI receptionist
- **HubSpot CRM** — Destination CRM for echowin contacts and call notes
- **Ediware API** — Email campaign system to follow up on echowin-captured leads

## FAQ

### What authentication does the echowin API use?

The echowin API uses an API key passed in the X-API-Key request header (the apiKey scheme). Through Jentic, the key is stored encrypted in your Jentic One instance and is injected into the X-API-Key header at call time so it never enters the agent's context.

### Can I update an echowin AI agent's instructions through the API?

Yes. PUT /api/v1/agents/{agentId}/instructions accepts the new instruction text and applies it so subsequent inbound calls run with the updated guidance.

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

The OpenAPI spec does not publish per-endpoint rate limits. echowin applies fair-use limits per workspace; bulk endpoints such as POST /api/v1/contacts/bulk help reduce request volume when importing many records.

### How do I sync echowin call notes to my CRM through Jentic?

Search 'list echowin contacts and notes' in Jentic, load the GET /api/v1/contacts and GET /api/v1/contacts/{contactId}/notes schemas, and chain the calls. Jentic handles the X-API-Key header and returns the contact-plus-notes payload to forward into your CRM.

### Does the echowin API expose call recordings or transcripts?

The Calls resource exposes call records and metadata. Recording or transcript availability depends on the workspace plan and is returned as part of the call resource fields when present.

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

Yes. Jentic One is self-hosted by you, so your own rules decide which echowin operations and credentials the agent may use. Because echowin puts the resource id in the URL path, such as /agents/{agentId}/instructions and /contacts/{contactId}/notes, you can pin the agent to a single phone agent or a single contact. You choose which operations it may call, so you can allow reading agents and adding contact notes while keeping bulk contact creation via POST /api/v1/contacts/bulk off unless you add it.
