¿Qué es un API Endpoint? Definición, Ejemplos, Best Practices
Un API endpoint es una URL + método HTTP que realiza una operación — como GET /api/users o POST /api/orders. La dirección para los requests.
¿Qué es un API endpoint?
Un API endpoint es una URL específica combinada con un método HTTP que realiza una operación bien-definida en una API. El endpoint POST /api/users crea un nuevo user; GET /api/users/42 lee user 42; DELETE /api/users/42 remueve user 42. Cada endpoint es la dirección donde se envía un request y el contrato de qué pasa cuando ese request llega.
Una API típicamente tiene docenas a cientos de endpoints — uno por operación. La colección de endpoints define el área de superficie de la API. APIs RESTful organizan endpoints por recurso (users, orders, products); APIs GraphQL los colapsan en un endpoint único con requests query-shaped; gRPC los define como nombres de método RPC en vez de paths HTTP.
Anatomía de un API endpoint
- URL base. El protocolo + host (+ puerto + prefix path opcional). Ejemplo:
https://api.example.com. - Path. La ruta a un recurso específico. Ejemplo:
/users/42. - Método HTTP. Verbo que determina la operación. GET, POST, PUT, PATCH, DELETE.
Combinado: POST https://api.example.com/users es el endpoint "crear user".
POST https://api.example.com/users
Content-Type: application/json
Authorization: Bearer ...
{
"name": "Alice",
"email": "alice@example.com"
}La URL completa más el método HTTP juntos identifican el endpoint. GET /users y POST /users son dos endpoints diferentes compartiendo el mismo path.
Convenciones de diseño REST endpoint
- Usa nouns, no verbos, en paths.
/usersno/getUsers. - Nombres de colección plural.
/userspara la colección,/users/42para un item. - Paths jerárquicos reflejan relaciones.
/users/42/orders. - Usa códigos status HTTP. 200 para success, 201 para creado, 400 para errores cliente etc.
- Paginación via query strings.
/users?page=2&limit=20. - Filtrado via query strings.
- Versioning. Incluye versión API en URL (
/v1/users) o header Accept.
Patrones de endpoint comunes
| Operación | Método HTTP | Patrón endpoint | Ejemplo |
|---|---|---|---|
| Listar colección | GET | /resources | GET /users |
| Leer item | GET | /resources/:id | GET /users/42 |
| Crear item | POST | /resources | POST /users |
| Actualizar item (full) | PUT | /resources/:id | PUT /users/42 |
| Actualizar item (partial) | PATCH | /resources/:id | PATCH /users/42 |
| Borrar item | DELETE | /resources/:id | DELETE /users/42 |
| Colección anidada | GET | /resources/:id/sub | GET /users/42/orders |
| Acción en item | POST | /resources/:id/action | POST /users/42/activate |
| Búsqueda | GET | /resources?q=... | GET /users?q=alice |
Endpoint vs URL vs API
- API. La interfaz completa — colección de todos los endpoints.
- Endpoint. Una operación específica dentro de la API.
- URL. La parte dirección de un endpoint. Endpoint = URL + método.
Best practices de diseño endpoint
Sé consistente
Elige una convención (kebab-case vs snake_case, plural vs singular, estilo versioning) y aplica a todos los endpoints.
Usa semántica HTTP correctamente
POST crea. PUT reemplaza. PATCH actualiza parcialmente. DELETE remueve. GET lee.
Devuelve códigos status apropiados
No devuelvas 200 para todo con un campo "error" en el body — eso no es RESTful.
Documenta con OpenAPI/Swagger
OpenAPI genera docs interactivas y SDKs cliente desde specs endpoint machine-readable.
Versiona explícitamente
Poner v1 en el path (/v1/users) te permite shipear breaking changes en v2 sin romper clientes existentes.
Idempotencia para operaciones no-idempotentes
Endpoints POST que crean recursos deberían aceptar header Idempotency-Key para retries seguros.
Seguridad endpoint
- Solo HTTPS.
- Autenticación en cada endpoint.
- Rate limiting.
- Validación de input.
- Autorización por endpoint.
Testing endpoint
- Tests unitarios.
- Tests integración.
- Tests de contrato.
- Load tests.
- Synthetic monitoring.
Errores comunes endpoint
- Stuffeando acciones en path.
POST /createUseren vez dePOST /users. - Query strings verbosas.
?action=deleteen vez de método DELETE. - Devolviendo 200 para errores.
- Inconsistencia de trailing slash.
- Datos sensibles en URL.
- Formatos error inconsistentes.
Discovery de endpoints
- Spec OpenAPI/Swagger.
- Sitio docs API.
- HATEOAS / hypermedia.
- API marketplace.
FAQ: API endpoints
¿Cuál es la diferencia entre una API y un API endpoint?
Una API es la interfaz completa — todos los endpoints juntos. Un endpoint es una operación específica dentro de la API.
¿Son GET /users y POST /users el mismo endpoint?
No. Comparten la misma URL pero diferentes métodos HTTP, así que son endpoints diferentes.
¿Debería usar nombres endpoint plural o singular?
Plural es más común. Singular funciona también. Lo importante es consistencia.
¿Cuántos endpoints debería tener una API?
Tantos como necesarios para el scope de la API. APIs pequeñas focused tienen 5-20. APIs plataforma grandes tienen cientos.
¿Cuál es la diferencia entre endpoints REST y GraphQL?
APIs REST tienen muchos endpoints (uno por operación). APIs GraphQL tienen un endpoint con requests query-shaped.
¿Cómo versiono endpoints API sin romper clientes?
Incluye versión en URL (/v1/users, /v2/users). Corre ambas versiones en paralelo durante transición.
Testea endpoints API con LoadFocus
Si estás testeando endpoints API bajo carga — requests concurrentes, latencia bajo tráfico, tasas de error at scale — LoadFocus corre scripts JMeter y k6 desde 25+ regiones cloud con hasta 12.500 VUs. Regístrate en loadfocus.com/signup — sin tarjeta de crédito — y corre tu primer load test endpoint en menos de 5 minutos.
Herramientas LoadFocus relacionadas
Lleva este concepto a la práctica con LoadFocus — la misma plataforma que potencia todo lo que acabas de leer.