Build on your AI voice agents.
REST API, signed webhooks, and an MCP server for everything your Essere agents do — calls, transcripts, insights, appointments, contacts, and usage.
Quickstart API ReferenceYour first request
curl https://voice-public-api.essere.ai/v1/calls?limit=3 \
-H "Authorization: Bearer $ESSERE_API_KEY"
Webhooks
Signed call.completed, appointment.booked, and lead.captured events pushed to your endpoint, with retries and a delivery log.
No-code
Works today with Zapier's generic webhook module and n8n's HTTP Request node — no custom app needed.
AI-native
llms.txt, llms-full.txt, a public OpenAPI spec, and an MCP server.
Paste this into your AI
Building the integration with an AI assistant or coding agent? Give it this prompt — it points at everything it needs.
You are integrating with the Essere Voice API (https://voice-public-api.essere.ai).
Read these first:
- Full docs for LLMs: https://voice-developers.essere.ai/llms-full.txt
- OpenAPI spec: https://voice-public-api.essere.ai/openapi.json
Key facts:
- Auth: send "Authorization: Bearer <API key>" on every request. Keys look
like vk_live_... (production) or vk_test_... (staging) and are created in
the Essere dashboard under Developers (Pro plan). Read the key from an
environment variable — never ask the user to paste it into this chat and
never hard-code it. Prefer a read-scope key unless the integration writes
contacts or manages webhooks.
- Base URL: https://voice-public-api.essere.ai/v1
- Errors: JSON body {"error": {"type", "code", "message"}}. Handle
401 invalid_api_key, 403 plan_required / insufficient_scope,
404 resource_not_found, 429 rate_limit_exceeded (respect Retry-After).
- Lists are cursor-paginated (?limit=&cursor=); responses look like
{"object":"list","data":[...],"has_more":true,"next_cursor":"..."}.
Follow next_cursor until has_more is false.
- Writes accept an Idempotency-Key header — send a unique one per operation.
- Webhooks: subscribe via POST /v1/webhook-endpoints; verify the
X-Essere-Signature header (HMAC-SHA256 hex of "<t>.<raw body>" with your
whsec_ secret; reject events older than 5 minutes).
- MCP: https://voice-public-api.essere.ai/mcp (streamable HTTP, same Bearer key) if you support MCP.
My task: [describe the integration you want to build]