Referencia de la API
Los endpoints disponibles hoy, agrupados por recurso. Cada uno indica el permiso que requiere.
Rutas relativas a https://api.xatcrm.com/public/v1
ping
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /ping | Liveness/auth check | Cualquier clave válida |
- GET
/pingLiveness/auth check
Permiso: Cualquier clave válida
me
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /me | Identity of the API key | inboxes:read |
- GET
/meIdentity of the API key
Permiso:
inboxes:read
inboxes
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /inboxes | List inboxes | inboxes:read |
| GET | /inboxes/{inboxId}/check-number | Is this phone on WhatsApp? | inboxes:read |
- GET
/inboxesList inboxes
Permiso:
inboxes:read - GET
/inboxes/{inboxId}/check-numberIs this phone on WhatsApp?
Permiso:
inboxes:read
contacts
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /contacts | List/search contacts | contacts:read |
| POST | /contacts | Create (or find existing) contact | contacts:write |
| GET | /contacts/{id} | Get contact | contacts:read |
| PATCH | /contacts/{id} | Update contact | contacts:write |
| POST | /contacts/{id}/labels | Attach label to contact | labels:write |
- GET
/contactsList/search contacts
Permiso:
contacts:read - POST
/contactsCreate (or find existing) contact
Permiso:
contacts:write - GET
/contacts/{id}Get contact
Permiso:
contacts:read - PATCH
/contacts/{id}Update contact
Permiso:
contacts:write - POST
/contacts/{id}/labelsAttach label to contact
Permiso:
labels:write
conversations
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /conversations | List conversations | conversations:read |
| POST | /conversations | Create or reuse a conversation | conversations:write |
| GET | /conversations/{id} | Get conversation | conversations:read |
| PATCH | /conversations/{id} | Update status/priority/subject | conversations:write |
| POST | /conversations/{id}/snooze | Snooze/unsnooze | conversations:write |
| PATCH | /conversations/{id}/assignment | Assign agent/team | assignments:write |
| POST | /conversations/{id}/labels | Attach label | labels:write |
| POST | /conversations/{id}/mark-read | Mark conversation read for THIS integration (per API key; not the per-user unread) | conversations:write |
| POST | /conversations/{id}/mark-unread | Mark conversation unread for THIS integration (per API key) | conversations:write |
- GET
/conversationsList conversations
Permiso:
conversations:read - POST
/conversationsCreate or reuse a conversation
Permiso:
conversations:write - GET
/conversations/{id}Get conversation
Permiso:
conversations:read - PATCH
/conversations/{id}Update status/priority/subject
Permiso:
conversations:write - POST
/conversations/{id}/snoozeSnooze/unsnooze
Permiso:
conversations:write - PATCH
/conversations/{id}/assignmentAssign agent/team
Permiso:
assignments:write - POST
/conversations/{id}/labelsAttach label
Permiso:
labels:write - POST
/conversations/{id}/mark-readMark conversation read for THIS integration (per API key; not the per-user unread)
Permiso:
conversations:write - POST
/conversations/{id}/mark-unreadMark conversation unread for THIS integration (per API key)
Permiso:
conversations:write
messages
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /conversations/{id}/messages | List messages | messages:read |
| POST | /conversations/{id}/messages | Send a text message | messages:write |
| POST | /conversations/{id}/messages/media | Send a media message (image/audio/video/document/sticker) | messages:write |
| GET | /messages/{id} | Get a message | messages:read |
- GET
/conversations/{id}/messagesList messages
Permiso:
messages:read - POST
/conversations/{id}/messagesSend a text message
Permiso:
messages:write - POST
/conversations/{id}/messages/mediaSend a media message (image/audio/video/document/sticker)
Permiso:
messages:write - GET
/messages/{id}Get a message
Permiso:
messages:read
notes
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /conversations/{id}/notes | List internal notes (read-only) | notes:read |
| POST | /conversations/{id}/notes | Create a PRIVATE internal note (never sent to WhatsApp) | notes:write |
- GET
/conversations/{id}/notesList internal notes (read-only)
Permiso:
notes:read - POST
/conversations/{id}/notesCreate a PRIVATE internal note (never sent to WhatsApp)
Permiso:
notes:write
attachments
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /attachments/{id}/download | Download an attachment (bytes) | attachments:read |
- GET
/attachments/{id}/downloadDownload an attachment (bytes)
Permiso:
attachments:read
labels
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /labels | List labels | labels:read |
- GET
/labelsList labels
Permiso:
labels:read
assignees
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /assignees | List assignable agents/teams | assignments:read |
- GET
/assigneesList assignable agents/teams
Permiso:
assignments:read
search
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /search | Global search (contacts / conversations / messages with snippets) | Cualquier clave válida |
- GET
/searchGlobal search (contacts / conversations / messages with snippets)
Permiso: Cualquier clave válida
quickreplies
| Método | Ruta | Descripción | Permiso |
|---|---|---|---|
| GET | /quick-replies | List canned replies (read-only) | quickreplies:read |
- GET
/quick-repliesList canned replies (read-only)
Permiso:
quickreplies:read
Contrato OpenAPI
La especificación completa se sirve desde la propia API, así que siempre corresponde a la versión que está corriendo. Puedes generar clientes desde ella.