Buenas prácticas de API REST 2026: construye servicios escalables
Una buena API es fácil de intuir, difícil de romper y sencilla de ampliar. Estas buenas prácticas de API REST te enseñan a diseñar una, paso a paso.
- Usa sustantivos en las URL y métodos HTTP para las acciones.
- Devuelve el código de estado correcto y un cuerpo de error claro.
- Pagina todas las listas y versiona tu API desde el primer día.
- Usa HTTPS, autenticación sólida y límites de frecuencia.
- Documenta y prueba tu API para que otros puedan confiar en ella.
Una API es una promesa. Otros desarrolladores construyen sobre ella, así que cada cambio puede romper la aplicación de alguien. Por eso las pequeñas decisiones de diseño importan pronto, cuando es barato corregirlas.
A continuación encontrarás los hábitos que mantienen una API limpia a medida que crece. Cada uno viene con un breve ejemplo.
REST en breve
REST es un estilo para construir API web. Tratas los datos como recursos, como usuarios o pedidos. Cada recurso tiene una URL. Usas métodos HTTP estándar para leerlo o cambiarlo. Las respuestas suelen ser JSON.
1. Nombra tus URL con sustantivos
La URL debe decir qué es la cosa. El método HTTP dice qué hacer.
| Evita | Usa en su lugar |
|---|---|
GET /getAllUsers |
GET /users |
POST /createOrder |
POST /orders |
POST /users/5/delete |
DELETE /users/5 |
- Usa sustantivos en plural:
/orders, no/order. - Usa minúsculas y guiones:
/order-items. - Muestra las relaciones con anidación, pero sin pasarte:
/users/5/orders.
2. Usa correctamente los métodos HTTP y los códigos de estado
| Método | Para | Código de éxito típico |
|---|---|---|
| GET | Leer datos | 200 OK |
| POST | Crear datos | 201 Created |
| PUT | Reemplazar un recurso | 200 OK o 204 No Content |
| PATCH | Cambiar parte de un recurso | 200 OK |
| DELETE | Eliminar un recurso | 204 No Content |
Para los problemas, elige el código que cuente la historia real:
- 400 Bad request: la entrada es incorrecta.
- 401 Unauthorized: el usuario no ha iniciado sesión.
- 403 Forbidden: ha iniciado sesión, pero no tiene permiso.
- 404 Not found: el recurso no existe.
- 409 Conflict: la acción choca con el estado actual.
- 429 Too many requests: ve más despacio.
- 500 Server error: algo se rompió en tu lado.
Nunca devuelvas 200 OK con un mensaje de error dentro. Confunde a los clientes y a las herramientas.
3. Devuelve errores claros y consistentes
Elige un formato de error y úsalo en todas partes. Incluye un código corto, un mensaje legible y, cuando sea útil, el campo que falla.
HTTP/1.1 422 Unprocessable Entity
{
"error": {
"code": "invalid_email",
"message": "La dirección de correo no es válida.",
"field": "email"
}
}
No filtres trazas de pila ni detalles de la base de datos en los errores. Regístralos en el servidor.
4. Pagina, filtra y ordena las listas
Nunca devuelvas una lista enorme de golpe. Es lenta y desperdicia ancho de banda. Usa límites y un cursor o número de página.
GET /orders?status=paid&sort=-created_at&limit=20&cursor=eyJpZCI6MTAwfQ
La paginación por cursor se mantiene rápida y estable incluso cuando llegan filas nuevas. Los números de página son más simples y sirven para conjuntos de datos pequeños.
5. Versiona tu API
Algún día necesitarás cambiar cosas. El versionado permite que los clientes antiguos sigan funcionando mientras los nuevos avanzan. La forma más común es en la URL:
https://api.example.com/v1/orders
Añade una nueva versión solo para cambios incompatibles. Añadir un campo nuevo no es un cambio incompatible, así que mantenlo en la misma versión. Avisa a los usuarios con antelación antes de retirar una versión antigua.
6. Protege la API
- Usa solo HTTPS. Sin excepciones.
- Usa autenticación probada. OAuth 2.0 o tokens de corta duración superan a los esquemas caseros.
- Comprueba los permisos en cada solicitud. No confíes en el cliente.
- Valida toda la entrada. Comprueba tipo, longitud y formato en el servidor.
- Añade límites de frecuencia. Evita abusos y protege tus servidores.
- Mantén los secretos fuera de las URL. Las URL acaban en los registros.
7. Mantenla rápida
- Usa cabeceras de caché como
ETagyCache-Controlpara los datos que rara vez cambian. - Comprime las respuestas con gzip o Brotli.
- Deja que los clientes pidan solo los campos que necesitan, por ejemplo
?fields=id,name. - Evita las llamadas lentas a la base de datos añadiendo los índices adecuados.
8. Documenta y prueba la API
Una API sin documentación es un juego de adivinanzas. Descríbela con el formato OpenAPI para poder generar documentación y código de cliente. Muestra ejemplos de solicitudes y respuestas de cada endpoint.
Después pruébala. Comprueba los códigos de estado, la forma de la respuesta y los casos de error. Una herramienta como Postman lo hace sencillo, y nuestra guía de pruebas de API con Postman te muestra cómo. Si quieres probar recorridos completos de usuario entre servicios, lee nuestros consejos sobre pruebas end-to-end.
Consejo rápido: añade un endpoint de salud sencillo, como GET /health. Hace mucho más fáciles la monitorización y las comprobaciones automáticas.
Preguntas frecuentes
¿Cuál es la diferencia entre REST y una API RESTful?
La gente usa los dos términos para referirse a lo mismo. Una API RESTful es la que sigue las reglas de REST, como usar recursos, URL y métodos HTTP estándar.
¿Debo usar PUT o PATCH?
Usa PUT para reemplazar un recurso completo y PATCH para cambiar solo algunos campos. PATCH es más común para actualizaciones pequeñas.
¿Sigue siendo relevante REST en 2026?
Sí. REST sigue siendo la forma más común de construir API web. Otros estilos, como GraphQL y gRPC, son útiles en ciertos casos, pero REST es simple y está ampliamente soportado.
¿Cómo debo versionar mi API?
Poner la versión en la URL, como /v1/, es lo más fácil y claro para la mayoría de los equipos. Crea una nueva versión solo para cambios incompatibles.
¿Cómo protejo una API REST?
Usa HTTPS, autenticación sólida basada en tokens, validación de entradas, comprobaciones de permisos y límites de frecuencia. Nunca expongas secretos ni trazas de pila.
Sigue aprendiendo
¿Necesitas ayuda con testing, WordPress o SEO?
Ayudamos a los equipos a lanzar mejor software y a hacer crecer sus sitios. Cuéntanos en qué trabajas y te sugeriremos un siguiente paso claro.
Más guías sobre testing, IA y desarrollo moderno
¿Te gustó este artículo? Elige otro tutorial y sigue aprendiendo.
Arquitectura MCP sin estado: novedades de MCP 2026
La especificación MCP 2026-07-28 elimina las sesiones y el handshake. Descubre cómo funciona MCP sin estado, qué se rompe, qué se vuelve más fácil de escalar y cómo migrar tu servidor.
Leer artículo →Inteligencia artificialAgentic Resource Discovery (ARD): cómo encuentran herramientas los agentes de IA
Agentic Resource Discovery (ARD) permite que los agentes de IA encuentren y verifiquen herramientas, agentes y skills en la web. Descubre cómo funcionan ai-catalog.json y los registros, y cuáles son los riesgos.
Leer artículo →Inteligencia artificialWebMCP explicado: cómo interactuarán los agentes de IA con los sitios web
WebMCP permite que un sitio web publique herramientas que los agentes de IA pueden llamar directamente. Conoce las API Declarative e Imperative, ejemplos de código, en qué se diferencia de MCP y los riesgos de seguridad.
Leer artículo →