Saltar al contenido
meruma Desarrolladores

Desarrolladores · Empezar

Límites y errores

Cuántos pedidos puedes hacer, cómo se pagina, cómo reintentar sin duplicar y cómo leer un error.

Límites

Qué Límite
Pedidos por minuto, por organización 120
Pedidos por día, por organización 10.000
Apps privadas por organización 5
Webhooks por organización 20
Tamaño de un pedido 256 KB

Cada respuesta trae RateLimit-Limit, RateLimit-Remaining y RateLimit-Reset. Si te pasas, la respuesta es 429 con Retry-After: espera esos segundos y vuelve a intentar.

Listas y paginación

Las listas que crecen con el uso (contactos, fichas, notas) traen 25 por página por defecto, hasta 100 con limit. Para seguir, manda el nextCursor de la respuesta como cursor:

{
  "data": [ … ],
  "nextCursor": "MjAyNi0xMS0xMFQxNTowNDowNS4xMjNafDBiOGYz…"
}

Sin nextCursor, llegaste al final. Las listas acotadas por naturaleza (procesos, usuarios, campos personalizados) vienen completas en data.

Reintentar sin duplicar

Manda el encabezado Idempotency-Key en los POST que crean. Si repites el mismo pedido con la misma clave, recibes la misma respuesta y no se crea nada dos veces: sirve cuando no sabes si el primer intento llegó. Las claves duran 24 horas.

curl -X POST https://api.meruma.app/v1/contacts/upsert \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Idempotency-Key: 7f9c0d2e-pedido-1043" \
  -H "Content-Type: application/json" \
  -d '{"name":"Juan Pérez","email":"juan@empresa.com"}'

Errores

Las respuestas de error usan application/problem+json, con un code estable para tu código y un title en inglés para las personas:

{
  "type": "about:blank",
  "title": "Name is required.",
  "status": 400,
  "code": "INVALID_BODY",
  "detail": "Field: name."
}

Algunos códigos frecuentes: INVALID_BODY, NOT_FOUND, INSUFFICIENT_SCOPE e INVALID_TOKEN. Un id de otra organización siempre da 404: la API nunca dice si existe en otra parte.

Revisado el