Guía de uso de códigos de estado en REST API

Ofrece criterios prácticos para elegir el código de estado adecuado a cada situación en una REST API.

Una REST API bien diseñada comunica con claridad el resultado de una solicitud mediante los códigos de estado. Usa 200 OK para una lectura correcta, 201 Created para la creación de un recurso (con la nueva URL en la cabecera Location) y 204 No Content para un éxito sin cuerpo que devolver (por ejemplo, una eliminación).

Los errores del cliente se distinguen con 4xx. Lo estándar es 400 Bad Request para una sintaxis incorrecta, 401 Unauthorized cuando se requiere autenticación, 403 Forbidden cuando no hay permiso, 404 Not Found para un recurso inexistente, 409 Conflict para un conflicto de estado, 422 Unprocessable Content para un fallo de validación y 429 Too Many Requests para un exceso de solicitudes.

Los errores del servidor se indican con 5xx. Usa 500 Internal Server Error para una excepción inesperada y 503 Service Unavailable para sobrecarga o mantenimiento, enviando junto a él la cabecera Retry-After cuando sea posible. Ante todo, devolver siempre el mismo código de forma coherente para la misma situación es lo que determina la usabilidad de una API.