Pular para o conteúdo principal

Formato de resposta de erro

Toda resposta de erro segue uma estrutura de envelope consistente:
{
  "error": {
    "type": "invalid_request_error",
    "code": "parameter_invalid",
    "message": "idCountry must be a valid country name, ISO alpha-2, or ISO alpha-3 code.",
    "param": "idCountry"
  }
}
CampoTipoDescrição
typestringCategoria geral do erro para tratamento de alto nível.
codestringCódigo de erro legível por máquina. Os clientes devem fazer switch sobre esse valor.
messagestringMensagem de erro legível por humanos que termina com ponto.
paramstring ou nullO campo da requisição que causou o erro, se aplicável.

Tipos de erro

TipoDescrição
invalid_request_errorA requisição está malformada ou contém parâmetros inválidos.
authentication_errorA autenticação falhou (chave de API ausente ou inválida).
permission_errorA chave de API não tem permissão pra essa operação.
api_errorOcorreu um erro interno ou de um serviço upstream.

Códigos de erro

CódigoStatus HTTPDescrição
parameter_missing400Um campo obrigatório está ausente no body da requisição.
parameter_invalid400O valor de um campo está malformado ou não é aceito.
account_invalid400A conta associada à chave de API está mal configurada.
authentication_required401Chave de API ausente ou inválida.
permission_denied403Permissões insuficientes pra essa operação.
resource_not_found404O recurso solicitado não existe.
resource_conflict409Já existe um recurso com o identificador fornecido.
service_unavailable503Uma dependência externa está temporariamente fora do ar.

Exemplos

Campo obrigatório ausente

{
  "error": {
    "type": "invalid_request_error",
    "code": "parameter_missing",
    "message": "name is required.",
    "param": "name"
  }
}

Chave de API inválida

{
  "error": {
    "type": "authentication_error",
    "code": "authentication_required",
    "message": "Invalid API key."
  }
}

Recurso não encontrado

{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_not_found",
    "message": "No session scribe found for the given consultation ID."
  }
}

Conflito de ID de consulta

{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_conflict",
    "message": "consultationInternalId is already in use by a different consultation.",
    "param": "consultationInternalId"
  }
}