WhatsApp messaging for Sequencer sends and the Unibox.
CommunicationOAuth29 endpoints
Endpoints
| Operation | Method & path | Effect | Latency | Rate | Cost |
|---|---|---|---|---|---|
accounts_list List the Unipile accounts on this tenancy (use to locate the WhatsApp account_id). | GET /api/v1/accounts | none | — | — | no bill |
accounts_get Retrieve the connected WhatsApp account, including status (CONNECTED, CREDENTIALS, OK, ERROR, etc.) and the linked phone number. | GET /api/v1/accounts/{id} | none | — | — | no bill |
accounts_delete Unlink the WhatsApp account from Unipile (the linked-device session is revoked). | DELETE /api/v1/accounts/{id} | paid_provider | — | — | no bill |
accounts_update_proxy Update the proxy configuration Unipile uses for this WhatsApp account. | PATCH /api/v1/accounts/{id} | paid_provider | — | — | no bill |
accounts_restart Restart the sources of a frozen WhatsApp account. | POST /api/v1/accounts/{id}/restart | paid_provider | — | — | no bill |
chats_list List the WhatsApp account's own chats (inbox). Scope to the connected WhatsApp account via account_id; optionally filter unread. | GET /api/v1/chats | none | — | — | no bill |
chats_get Retrieve a single WhatsApp chat the account is already a participant in. | GET /api/v1/chats/{chat_id} | none | — | — | no bill |
chats_patch Act on a WhatsApp chat via { action, value }: setReadStatus / setMuteStatus / setArchiveStatus / setPinnedStatus (boolean value), addParticipant / removeParticipant / setLabel (string value), getInviteLink (no value). Participant changes are visible group-admin actions. | PATCH /api/v1/chats/{chat_id} | external_send | — | — | no bill |
chats_delete Delete a WhatsApp chat from the account's inbox. | DELETE /api/v1/chats/{chat_id} | external_send | — | — | no bill |
chats_sync Synchronize one WhatsApp conversation from its beginning — the on-demand, paginated history backfill. Call once to start, then poll the same route to monitor: status is SYNC_STARTED | SYNC_RUNNING | SYNC_DONE | SYNC_ERROR | CHAT_DELETED. Re-calling after DONE or ERROR starts a fresh sync. | GET /api/v1/chats/{chat_id}/sync | none | — | — | no bill |
chats_messages_list List messages in a WhatsApp chat the account already has (read inbox history). | GET /api/v1/chats/{chat_id}/messages | none | — | — | no bill |
chats_attendees_list List attendees of a WhatsApp chat the account is in (e.g. to resolve the contact to reply to, or enumerate group members). | GET /api/v1/chats/{chat_id}/attendees | none | — | — | no bill |
chats_messages_send Send a message into an existing WhatsApp chat, with optional media, voice note, or quoted reply. Requires explicit approval before live send. | POST /api/v1/chats/{chat_id}/messages | external_send | — | — | no bill |
chats_create Start a WhatsApp chat. One attendee starts a 1:1 conversation; several attendees plus a subject creates a group. Requires explicit approval before live send. | POST /api/v1/chats | external_send | — | — | no bill |
messages_forward Forward an existing WhatsApp message into another chat. WhatsApp-only endpoint. Counts as a new outbound message. | POST /api/v1/messages/{message_id}/forward | external_send | — | — | no bill |
messages_reaction React to a message in a WhatsApp chat (native emoji). Visible to the other participant. | POST /api/v1/messages/{message_id}/reaction | external_send | — | — | no bill |
messages_edit Edit a message you sent in a WhatsApp chat. WhatsApp allows edits only within ~15 minutes of the original send; later edits are rejected by WhatsApp. | PATCH /api/v1/messages/{message_id} | external_send | — | — | no bill |
messages_delete Delete (revoke) a message you sent in a WhatsApp chat (delete-for-everyone). | DELETE /api/v1/messages/{message_id} | external_send | — | — | no bill |
messages_list Cross-chat list of WhatsApp messages (recent inbox view across every chat on the account). | GET /api/v1/messages | none | — | — | no bill |
messages_get Retrieve a single WhatsApp message. | GET /api/v1/messages/{message_id} | none | — | — | no bill |
messages_attachment_get Download a single attachment from a WhatsApp message (binary) — inbound media retrieval. | GET /api/v1/messages/{message_id}/attachments/{attachment_id} | none | — | — | no bill |
chat_attendees_list List every WhatsApp attendee the account knows across its chats (the contact directory). | GET /api/v1/chat_attendees | none | — | — | no bill |
chat_attendees_get Retrieve one WhatsApp attendee's details. | GET /api/v1/chat_attendees/{id} | none | — | — | no bill |
chat_attendees_picture Download a WhatsApp attendee's profile picture (binary), or a group chat's picture by passing the chat id in the same slot. Always fetches live, so it doubles as a picture refresh. | GET /api/v1/chat_attendees/{id}/picture | none | — | — | no bill |
chat_attendees_chats List the WhatsApp chats a given attendee is involved in. | GET /api/v1/chat_attendees/{attendee_id}/chats | none | — | — | no bill |
chat_attendees_messages List every WhatsApp message from a given sender. | GET /api/v1/chat_attendees/{sender_id}/messages | none | — | — | no bill |
users_me Retrieve the connected WhatsApp account's own profile. | GET /api/v1/users/me | none | — | — | no bill |
users_me_edit Edit the connected WhatsApp account's own profile: display name, About/status text, and profile picture. These three are the only fields WhatsApp supports — the wider LinkedIn profile fields are not available. | PATCH /api/v1/users/me/edit | external_send | — | — | no bill |
users_get Retrieve a WhatsApp user by phone-number provider id, returning { provider, id, is_business }. A successful response also answers whether the number is reachable on WhatsApp. | GET /api/v1/users/{identifier} | none | — | — | no bill |