Saltar al contenido principal

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 ser validation_error, client_error o server_error
  • code: 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 ser null cuando el error no está asociado a un campo específico; cuando aplica, contiene el nombre del campo, por ejemplo en errores de tipo validation_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
}
]
}