Manejo de errores comunes
Formato de Respuesta de Error
El formato de respuesta de error es el siguiente:
{
"type": "validation_error",
"errors": [
{
"code": "required",
"detail": "This field is required.",
"attr": "name"
}
]
}
type: puede servalidation_error,client_erroroserver_errorcode: cadena corta que describe el error. Puede ser utilizada por los consumidores de la API para personalizar su comportamiento.detail: texto descriptivo y comprensible para el usuario sobre el error. Usualmente en inglés, pero puede ser traducido.attr: puede sernullcuando el error no está asociado a un campo específico; cuando aplica, contiene el nombre del campo, por ejemplo en errores de tipovalidation_error
Errores Comunes
Algunos errores pueden aparecer en la mayoría de nuestros endpoints. En las siguientes secciones describimos los más comunes. Para más detalles, por favor consulta los recursos enlazados en OpenAPI.
401 No Autorizado
Estos errores se retornan con el código de estado 401 siempre que la autenticación falla o se realiza una solicitud a un endpoint sin proporcionar información de autenticación. Estos son los 2 posibles errores que pueden retornar:
{
"type": "client_error",
"errors": [
{
"code": "authentication_failed",
"detail": "Incorrect authentication credentials.",
"attr": null
}
]
}
{
"type": "client_error",
"errors": [
{
"code": "not_authenticated",
"detail": "Authentication credentials were not provided.",
"attr": null
}
]
}
405 Método No Permitido
Este error se retorna cuando se llama a un endpoint usando un método HTTP inesperado. Por ejemplo, si para actualizar un usuario se requiere POST y en su lugar se usa PATCH, se retorna este error. Se ve así:
{
"type": "client_error",
"errors": [
{
"code": "method_not_allowed",
"detail": "Method \"PATCH\" not allowed.",
"attr": null
}
]
}
406 No Aceptable
Este error se retorna si se envía el header Accept y contiene un valor distinto a application/json. La respuesta sería:
{
"type": "client_error",
"errors": [
{
"code": "not_acceptable",
"detail": "Could not satisfy the request Accept header.",
"attr": null
}
]
}
415 Tipo de Medio No Soportado
Este error se retorna cuando el tipo de contenido de la solicitud no es JSON. La respuesta sería:
{
"type": "client_error",
"errors": [
{
"code": "unsupported_media_type",
"detail": "Unsupported media type \"application/xml\" in request.",
"attr": null
}
]
}
500 Error Interno del Servidor
Este error se retorna cuando el servidor de la API encuentra un error inesperado. La respuesta sería:
{
"type": "server_error",
"errors": [
{
"code": "error",
"detail": "A server error occurred.",
"attr": null
}
]
}