# Changelog

Every change to the Vocenya API, webhooks and MCP servers, newest first, with the date it shipped.

The API is versioned in its URL (`/api/public/v1`). Within a version we only make additive changes: new endpoints, new optional parameters, new response fields and new webhook events. Build your integration to ignore fields and event types it does not know.

The current version is **1.0.0**.

## 1.0.0

### 3 October 2026

- Outbound calls now detect answering machines. Each organization chooses what happens when voicemail answers (leave a short message, hang up and retry later, or hang up); outbound calls and the `outbound_call.completed` webhook carry `answered_by` (`human`, `machine` or `unknown`) and `voicemail_left_at`. Test mode: `+15125550133` reaches voicemail. See [Outbound calls](https://vocenya.com/docs/outbound-calls).
- Spam handling for inbound calls: calls carry `spam` and `caller_name`; `GET /calls` takes `spam` and `status=blocked`; the `call.completed` webhook carries `spam`. New blocked-caller endpoints (`GET`, `POST`, `DELETE /blocked-callers`) and the `block_caller` MCP tool.
- `GET /calls` and the platform MCP server now return `spam` on every call.

### 2 October 2026

- Added test mode: `vk_test_` keys that work on a separate set of test data, simulated outbound calls, per-mode webhook endpoints, and a `livemode` field on every object and webhook delivery. See [Test mode](https://vocenya.com/docs/test-mode).
- Every error now returns a `code`, including `validation_failed`, `unauthenticated`, `not_found`, `method_not_allowed`, `rate_limited` and `server_error`.
- `POST /do-not-call` answers `200` with the existing entry when the number is already on the list.
- Added replying to live chats (`POST /chats/{chat}/messages`, scope `chats:write`) and closing them (`POST /chats/{chat}/close`).
- Added the `chats:write` scope.
- Added live chat webhook events: `chat.started`, `chat.message.created`, `chat.lead_captured`, `chat.handoff_requested` and `chat.closed`, alongside `chat.handed_off`.
- Test deliveries can now send a sample of a real event: `POST /webhook-endpoints/{webhookEndpoint}/test` with `event`.
- New developer docs at [/docs](https://vocenya.com/docs), with Markdown versions of every page and a public [docs MCP server](https://vocenya.com/docs/mcp#docs-mcp-server).

### 29 September 2026

First release of the Vocenya API:

- Organization API keys with scopes, and a per-key rate limit.
- Read calls, leads, bookings and chats; create leads, with an optional AI callback.
- Queue outbound AI calls, checked against consent, Do Not Call lists and calling hours.
- Read and change the Do Not Call list.
- Signed webhooks for `lead.created`, `call.completed`, `booking.created`, `outbound_call.completed` and `chat.handed_off`.
- The platform MCP server at `/mcp/platform` and the public site MCP server at `/mcp/site`.
