KanutusDocs
kanutus.com Entrar / Criar contaEntrar

Limites e erros

Formato dos erros

Os erros vêm em application/problem+json (RFC 9457). O code é estável, então você pode usá-lo nas suas regras. Já a message é para pessoas e pode mudar. Toda resposta traz um X-Request-Id: inclua esse valor quando falar com a gente.

json
{
  "type": "https://kanutus.com/developers/errors#insufficient_scope",
  "title": "insufficient_scope",
  "status": 403,
  "code": "insufficient_scope",
  "message": "This credential lacks the permission rooms:write.",
  "request_id": "req_0NjjmC1WyEw2Tmyz1rwP"
}

Códigos

HTTPcodeO que fazer
400invalid_requestCorrija a requisição; a message diz qual campo está errado
400idempotency_key_requiredMande o cabeçalho Idempotency-Key nas requisições que criam algo
401unauthorizedA credencial está ausente, inválida, vencida ou revogada
402spend_limit_reachedA chave atingiu o limite de gasto (do dia, do mês ou por ligação) ou acabaram os minutos
403insufficient_scopeFalta uma permissão à credencial; o cabeçalho WWW-Authenticate diz qual
403needs_reviewQuem criou a chave saiu da organização; ela só lê até um Dono revisá-la
403paid_plan_requiredA conta está no plano grátis
403ip_not_allowedA requisição veio de um IP fora da lista permitida da chave
403language_not_allowed, voice_not_allowed, number_not_allowed, destination_not_allowedFora das restrições da chave ou das regras do país
403org_blocked, org_suspendedA organização foi bloqueada ou suspensa; fale com a gente
404not_foundNão existe ou esta credencial não tem acesso
409idempotency_mismatchO mesmo Idempotency-Key foi usado com um corpo diferente
409idempotency_in_progressA primeira requisição com essa chave ainda está rodando; tente de novo em instantes
409slot_takenO horário foi ocupado nesse meio-tempo
409session_endedA sessão do agente já terminou
429rate_limitedRequisições demais; espere o tempo do Retry-After
429too_many_sessionsSessões de agente demais ao mesmo tempo
429test_daily_limitChaves de teste aceitam 1.000 requisições por dia
501not_available_yetAinda não está disponível em produção; funciona com uma chave kt_test_
503api_disabled, mcp_disabled, booking_unavailableIndisponível no momento; tente mais tarde

Limites de requisições

  • O padrão é de 60 requisições por minuto por credencial; planos para empresas podem ter mais. Chaves de teste também têm um limite de 1.000 requisições por dia.
  • Toda resposta traz RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset. Um 429 também traz Retry-After (em segundos).
  • Repita 429 e 5xx com espera exponencial e jitter. Não repita outros 4xx, a não ser 409 idempotency_in_progress.

Idempotência

As requisições que criam algo exigem o cabeçalho Idempotency-Key: POST /v1/rooms, /meetings, /bookings, /calls e /rooms/{id}/agent-sessions. Use qualquer valor único de até 255 caracteres, como um UUID. Se a rede falhar, mande a mesma requisição com a mesma chave: você recebe a resposta original em vez de uma segunda sala, agendamento ou ligação. As chaves ficam guardadas por 24 horas, por credencial.

Versões

A versão vai no caminho (/v1). Campos e endpoints novos podem aparecer a qualquer momento, então ignore os campos que você não conhece. Uma mudança incompatível viria como /v2, com 12 meses de convivência entre as duas versões e um e-mail aos donos das chaves que usam a rota antiga. Toda resposta traz Kanutus-Version.