Changelog
Versions and changes of the Ricky API.
This page records changes to the API. A breaking change only ships in a new path version and is announced here.
October 14, 2026
First public release of the v1 API reference.
- Published contract. The OpenAPI 3.1 document is at
https://getricky.ai/openapi.json. Ricky generates it from the same contract that validates every request. The reference in this documentation comes from that document. - Conventions. Requests and responses use JSON with snake_case fields. A body with an unknown field gets
400 invalid_input. - Lists. Every list answers
{ "data": [...], "next_cursor": ... }. See Pagination. - Errors. Every error answers
{ "error": { "code", "message", "param", "request_id" } }, with a stable code catalog. See Errors. - Starting conversations.
POST /conversationssends a WhatsApp template to a phone number and creates the contact and the conversation when they do not exist. - Templates in conversations.
POST /conversations/{conversation_id}/messagesacceptstype: "template". - Following sends. Sends answer
202with a send.GET /sends/{send_id}reports whether the provider accepted it and, once it did, themessage_idof the message. - Contact filters.
GET /contactsfilters byquery,tag_id,owner_user_id,lifecycle_stageandchannel. - Catalogs.
GET /channelslists the connected channels.GET /contact-fieldslists the custom fields that keycustom_values. - Webhooks. The
datafield of every event carriesconversation_idand, onmessage.*events,message_id.