Pular para o conteúdo
meruma Desenvolvedores

Desenvolvedores · Começar

Limites e erros

Quantas requisições você pode fazer, como funciona a paginação, como tentar de novo sem duplicar e como ler um erro.

Limites

O quê Limite
Requisições por minuto, por organização 120
Requisições por dia, por organização 10.000
Apps privados por organização 5
Webhooks por organização 20
Tamanho de uma requisição 256 KB

Cada resposta traz RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset. Acima do limite, a resposta é 429 com Retry-After: espere esses segundos e tente de novo.

Listas e paginação

As listas que crescem com o uso (contatos, fichas, notas) trazem 25 por página por padrão, até 100 com limit. Para continuar, envie o nextCursor da resposta como cursor:

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

Sem nextCursor, você chegou ao fim. As listas pequenas por natureza (processos, usuários, campos personalizados) vêm completas em data.

Tentar de novo sem duplicar

Envie o cabeçalho Idempotency-Key nos POST que criam algo. Se você repetir a mesma requisição com a mesma chave, recebe a mesma resposta e nada é criado duas vezes: serve quando você não sabe se a primeira tentativa chegou. As chaves duram 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":"João Silva","email":"joao@empresa.com"}'

Erros

As respostas de erro usam application/problem+json, com um code estável para o seu código e um title em inglês para as pessoas:

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

Alguns códigos frequentes: INVALID_BODY, NOT_FOUND, INSUFFICIENT_SCOPE e INVALID_TOKEN. Um id de outra organização sempre dá 404: a API nunca diz se ele existe em outro lugar.

Revisado em