Erros
Registrando uma credencial
| Código | Significa |
|---|---|
API_CREDENTIAL_PUBLIC_KEY_INVALID | A chave enviada não é EC P-256, é certificado, ou não foi possível lê-la |
API_CREDENTIAL_ALLOWED_IPS_INVALID | Alguma entrada da lista de IPs não é IPv4 nem CIDR válido |
API_CREDENTIAL_ACCESS_PROFILE_UNKNOWN | Perfil ou versão que não existe |
Pedindo um token
| Código | Significa |
|---|---|
API_CREDENTIAL_INVALID_CLIENT | kid, aud, exp ou assinatura errados no pedido de token |
API_CREDENTIAL_PROOF_REPLAY | Mesmo jti reutilizado numa prova |
credential_revoked | Credencial revogada no portal; crie outra |
Um código, vários motivos
API_CREDENTIAL_INVALID_CLIENT é o mesmo para qualquer causa, de propósito. Distinguir "assinatura
inválida" de "kid desconhecido" ajudaria quem está tentando forjar. O sandbox devolve o motivo
exato em error_description; produção devolve só o código.
Chamando a API
| Código | Significa | Normalmente porque |
|---|---|---|
DPOP_REQUIRED | Chamou /v2 só com o bearer | Faltou o header da prova |
DPOP_JKT_MISMATCH | A prova foi assinada por outra chave que não a do token | Dois pares no processo, ou o errado carregado |
DPOP_BODY_MISMATCH | O corpo enviado não é o que foi hasheado em bh | O objeto foi serializado duas vezes |
DPOP_QUERY_MISMATCH | A query enviada não é a que foi hasheada em qh | Canonicalização diferente. Ordene por bytes, não decodifique |
DPOP_HTU_MISMATCH | Método ou URL diferentes da prova | O htu levou a query, ou um redirect mudou o path |
DPOP_REPLAY | Mesmo jti reutilizado numa requisição | Uma prova foi cacheada e reusada |
DPOP_STALE | iat fora da janela de 60 s | Relógio fora. Use NTP |
IP_NOT_ALLOWED | Origem fora da lista de IPs da credencial | Deploy numa sub-rede nova, ou proxy saindo por outro endereço |
403 na rota | Rota não permitida para o perfil da credencial | Credencial read_only numa rota de escrita |