Listar conversaciones

GEThttps://api.bydomu.com/v1/conversations

Contactos con al menos un mensaje, del más recientemente actualizado al más antiguo, con su último mensaje y el total de mensajes (pageSize máximo 500). Solo filtran search, page y pageSize; el resto de parámetros se valida pero no se aplica.

Permiso
conversations:read
Claves
Solo secreta (desde un servidor)

Encabezados

X-API-Keystringobligatorio
Tu clave secreta.

Parámetros de consulta

pageinteger
Página, desde 1 · default=1 · ≥ 1
pageSizeinteger
Conversaciones por página (máximo 500) · default=20 · 1–500
cursorstring
Se valida pero no se aplica en esta operación
includeTotalboolean | string
Se valida pero no se aplica en esta operación
sortBystring
Se valida pero no se aplica en esta operación · default="createdAt"
sortOrderstring
Se valida pero no se aplica en esta operación ascdesc · default="desc"
searchstring
Nombre, apellido, teléfono o código del contacto · ≤ 200 chars
statusstring
Se valida pero no se aplica en esta operación OPENWAITINGCLOSED
channelstring
Se valida pero no se aplica en esta operación WHATSAPPINSTAGRAMFACEBOOKWEBEMAILSMS
assignedToIdstring
Se valida pero no se aplica en esta operación
teamIdstring
Se valida pero no se aplica en esta operación
tagIdstring
Se valida pero no se aplica en esta operación
unreadOnlyboolean
Se valida pero no se aplica en esta operación · nullable
spamOnlyboolean
Se valida pero no se aplica en esta operación · nullable
snoozedOnlyboolean
Se valida pero no se aplica en esta operación · nullable
slaBreachedOnlyboolean
Se valida pero no se aplica en esta operación · nullable
needsHumanboolean
Se valida pero no se aplica en esta operación · nullable
viewstring
Se valida pero no se aplica en esta operación awaitingnoa

Respuestas

200Página de conversaciones
400Datos inválidos: el cuerpo o la query no cumplen el esquema, o `Idempotency-Key` está mal formada.
401UNAUTHORIZED · Clave faltante, inválida, desactivada o vencida.
403FORBIDDEN · La clave no puede usar esta operación: falta el scope, es una secreta en el navegador, el nivel de la cuenta no la permite, está suspendida o se alcanzó un tope del plan.
429RATE_LIMITED · Límite de peticiones excedido: el de la clave (`RATE_LIMITED`), el de escrituras de la organización (`TENANT_RATE_LIMITED`) o bloqueo temporal de la IP por claves inválidas.
500INTERNAL_ERROR · Error interno del servidor.
cURL
curl "https://api.bydomu.com/v1/conversations" \
  -H "X-API-Key: $BYDOMU_API_KEY"
JavaScript
const res = await fetch("https://api.bydomu.com/v1/conversations", {
  headers: { "X-API-Key": process.env.BYDOMU_API_KEY },
});
const data = await res.json();
Python
import os, requests

r = requests.get(
    "https://api.bydomu.com/v1/conversations",
    headers={"X-API-Key": os.environ["BYDOMU_API_KEY"]}
)
data = r.json()
Respuesta · 200 · ejemplo
{
  "data": [
    {
      "contactId": "clx1con001",
      "contactName": "María González",
      "phone": "+573001234567",
      "lastMessage": {
        "id": "clx1msg001",
        "body": "Hola, ¿sigue disponible el apartamento?",
        "direction": "INBOUND",
        "type": "TEXT",
        "timestamp": "2026-09-25T10:30:00.000Z"
      },
      "messageCount": 24
    }
  ],
  "meta": {
    "total": 150,
    "page": 1,
    "pageSize": 20,
    "totalPages": 8
  }
}

La clave va en la variable BYDOMU_API_KEY. Los datos del ejemplo no son de ninguna inmobiliaria.