> ## Documentation Index
> Fetch the complete documentation index at: https://openphone-dev.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Stay up to date with the latest improvements to the API. View [main product Changelog.](https://support.quo.com/changelog)

<Update label="July 15, 2026" description="Webhook endpoints: added phone menu event support">
  ### Added

  **Phone menu event for webhooks.** Create and update webhook endpoints now support the `call.menu.selected` event, which fires when a caller reaches a routing decision in a phone menu (IVR). See [Webhook event payloads](/2026-03-30/webhooks-event-payloads#call-menu-selected) for the schema.
</Update>

<Update label="July 13, 2026" description="Contacts">
  ### Added

  **Get a contact by ID.** [`GET /contacts/{contactId}`](/2026-03-30/contacts/get-a-contact-by-id) retrieves detailed information about a specific contact in your Quo workspace using the contact's unique identifier.
</Update>

<Update label="July 9, 2026" description="Webhook endpoints: added task event support">
  ### Added

  **Task events for webhooks.** Create and update webhook endpoints now support `events`: `task.created`, `task.updated`, `task.deleted`, `task.completed`, `task.reopened`, `task.assigned`, `task.unassigned`, `task.overdue`, `task.linked`, `task.unlinked`, `task.duedate.updated`, `task.duedate.removed`.
</Update>

<Update label="July 8, 2026" description="Contacts">
  ### Added

  **List contacts.** [`GET /contacts`](/2026-03-30/contacts/list-contacts) returns a paginated list of contacts. Filter by `externalIds` or `sources` to narrow results.
</Update>

<Update label="June 18, 2026" description="Webhooks">
  ### Added

  **Webhook API.** The webhook API is now available in this version. Subscribe an HTTPS endpoint to real-time message, call, and contact events, with signed and automatically retried deliveries. See the [overview](/2026-03-30/webhooks-overview) and [quickstart](/2026-03-30/webhooks-quickstart) to get started.

  **Managing subscriptions.** [`POST /webhooks`](/2026-03-30/webhooks/create-a-new-webhook) creates a subscription; companion endpoints list, update, and delete subscriptions, rotate the signing secret, inspect deliveries, retry a delivery, and send a test event. A workspace can have up to 50 webhooks.

  **Events.** Message (`received`, `delivered`, `failed`), the full call lifecycle, and contact (`updated`, `deleted`) events are supported. See [Webhook event payloads](/2026-03-30/webhooks-event-payloads) for every schema.
</Update>

<Update label="June 16, 2026" description="Mark conversations as done or open">
  ### Added

  **Mark a conversation as done.** [`POST /conversations/{conversationId}/mark-as-done`](/2026-03-30/conversations/mark-conversation-as-done) removes a conversation from the inbox without sending a message and returns the updated conversation.

  **Mark a conversation as open.** [`POST /conversations/{conversationId}/mark-as-open`](/2026-03-30/conversations/mark-conversation-as-open) moves a conversation back to the inbox without sending a message and returns the updated conversation.
</Update>

<Update label="June 15, 2026" description="Mark as read & message retry">
  ### Added

  **Mark a conversation as read.** [`POST /conversations/{conversationId}/mark-as-read`](/2026-03-30/conversations/mark-conversation-as-read) clears a conversation's unread indicator without sending a message and returns the updated conversation.

  **Retry a failed message.** [`POST /messages/{messageId}/retry`](/2026-03-30/messages/retry-a-failed-message) re-attempts delivery of a message in a failed or undelivered state. Messages that have permanently failed with an error code cannot be retried.
</Update>

<Update label="June 5, 2026" description="Users">
  ### Added

  **List users.** `GET /users` returns a paginated list of users in your Quo workspace.

  **Get user by ID.** `GET /users/{userId}` retrieves detailed information about a specific workspace user.
</Update>

<Update label="March 30, 2026" description="2026-03-30 — Initial release">
  ### API versioning

  The Quo API now uses header-based versioning. Specify your target version by passing the `Quo-Api-Version` header on every request:

  ```
  Quo-Api-Version: 2026-03-30
  ```

  **Version policy.** A new version is only introduced when a breaking change is necessary — for example, removing a field, changing a field's type, or altering existing behavior in an incompatible way. New endpoints, new optional fields, and bug fixes are added to the current version without a new version being published. See [Versioning](/2026-03-30/versioning) for the full contract.
</Update>
