Qu'est-ce qu'un API Endpoint ? Définition, Exemples, Best Practices
Un API endpoint est une URL + méthode HTTP spécifique qui réalise une opération, comme GET /api/users ou POST /api/orders. L'adresse où vont les requêtes.
Qu'est-ce qu'un API endpoint ?
Un API endpoint est une URL spécifique combinée avec une méthode HTTP qui réalise une opération bien définie dans une API. L'endpoint POST /api/users crée un nouvel utilisateur ; GET /api/users/42 lit user 42 ; DELETE /api/users/42 retire user 42. Chaque endpoint est l'adresse où une requête est envoyée et le contrat de ce qui se passe quand cette requête arrive.
Une API a typiquement des dizaines à des centaines d'endpoints, un par opération. La collection d'endpoints définit la surface area de l'API. Les APIs RESTful organisent les endpoints par ressource (users, orders, products) ; les APIs GraphQL les compressent en un seul endpoint avec requêtes query-shaped ; gRPC les définit comme noms de méthode RPC plutôt que paths HTTP.
Anatomie d'un API endpoint
- URL de base. Le protocole + host (+ port + prefix path optionnel). Exemple :
https://api.example.com. - Path. La route vers une ressource spécifique. Exemple :
/users/42. - Méthode HTTP. Verbe qui détermine l'opération. GET, POST, PUT, PATCH, DELETE.
Combiné : POST https://api.example.com/users est l'endpoint "créer user".
POST https://api.example.com/users
Content-Type: application/json
Authorization: Bearer ...
{
"name": "Alice",
"email": "alice@example.com"
}L'URL complète plus la méthode HTTP identifient ensemble l'endpoint. GET /users et POST /users sont deux endpoints différents partageant le même path.
Conventions de design REST endpoint
- Utiliser des nouns, pas des verbes, dans les paths.
/userspas/getUsers. - Noms de collection au pluriel.
/userspour la collection,/users/42pour un item. - Paths hiérarchiques reflètent les relations.
/users/42/orders. - Utiliser les codes status HTTP. 200 pour success, 201 pour created, 400 pour erreurs client etc.
- Pagination via query strings.
/users?page=2&limit=20. - Filtrage via query strings.
- Versioning. Inclure version API dans URL (
/v1/users) ou header Accept.
Patterns d'endpoint courants
| Opération | Méthode HTTP | Pattern endpoint | Exemple |
|---|---|---|---|
| Lister collection | GET | /resources | GET /users |
| Lire item | GET | /resources/:id | GET /users/42 |
| Créer item | POST | /resources | POST /users |
| Mettre à jour item (full) | PUT | /resources/:id | PUT /users/42 |
| Mettre à jour item (partial) | PATCH | /resources/:id | PATCH /users/42 |
| Supprimer item | DELETE | /resources/:id | DELETE /users/42 |
| Collection imbriquée | GET | /resources/:id/sub | GET /users/42/orders |
| Action sur item | POST | /resources/:id/action | POST /users/42/activate |
| Recherche | GET | /resources?q=... | GET /users?q=alice |
Endpoint vs URL vs API
- API. L'interface complète, collection de tous les endpoints.
- Endpoint. Une opération spécifique dans l'API.
- URL. La partie adresse d'un endpoint. Endpoint = URL + méthode.
Best practices de design endpoint
Soyez cohérent
Choisissez une convention (kebab-case vs snake_case, pluriel vs singulier, style versioning) et appliquez à tous les endpoints.
Utiliser la sémantique HTTP correctement
POST crée. PUT remplace. PATCH met à jour partiellement. DELETE retire. GET lit.
Retourner les codes status appropriés
Ne retournez pas 200 pour tout avec un champ "error" dans le body, ce n'est pas RESTful.
Documenter avec OpenAPI/Swagger
OpenAPI génère docs interactives et SDKs client depuis des specs endpoint machine-readable.
Versionner explicitement
Mettre v1 dans le path (/v1/users) vous permet de shipper breaking changes en v2 sans casser les clients existants.
Idempotence pour opérations non-idempotentes
Les endpoints POST qui créent des ressources devraient accepter un header Idempotency-Key pour des retries sûrs.
Sécurité endpoint
- HTTPS seulement.
- Authentification sur chaque endpoint.
- Rate limiting.
- Validation d'input.
- Autorisation par endpoint.
Testing endpoint
- Tests unitaires.
- Tests d'intégration.
- Tests de contrat.
- Load tests.
- Synthetic monitoring.
Erreurs courantes endpoint
- Bourrer des actions dans le path.
POST /createUserau lieu dePOST /users. - Query strings verbeuses.
?action=deleteau lieu de méthode DELETE. - Retourner 200 pour des erreurs.
- Incohérence de trailing slash.
- Données sensibles dans URL.
- Formats d'erreur incohérents.
Discovery d'endpoints
- Spec OpenAPI/Swagger.
- Site docs API.
- HATEOAS / hypermedia.
- API marketplace.
FAQ : API endpoints
Quelle est la différence entre une API et un API endpoint ?
Une API est l'interface complète, tous les endpoints ensemble. Un endpoint est une opération spécifique dans l'API.
GET /users et POST /users sont-ils le même endpoint ?
Non. Ils partagent la même URL mais différentes méthodes HTTP, donc sont des endpoints différents.
Devrais-je utiliser des noms endpoint pluriels ou singuliers ?
Pluriel est plus courant. Singulier fonctionne aussi. L'important est la cohérence.
Combien d'endpoints une API devrait-elle avoir ?
Autant que nécessaire pour le scope de l'API. Petites APIs focused ont 5-20. Grosses APIs plateforme ont des centaines.
Quelle est la différence entre endpoints REST et GraphQL ?
Les APIs REST ont beaucoup d'endpoints (un par opération). Les APIs GraphQL ont un endpoint avec requêtes query-shaped.
Comment versionner les endpoints API sans casser les clients ?
Inclure version dans URL (/v1/users, /v2/users). Faire tourner les deux versions en parallèle pendant la transition.
Testez les API endpoints avec LoadFocus
Si vous testez des API endpoints sous charge, requêtes concurrentes, latence sous trafic, taux d'erreur at scale. LoadFocus exécute des scripts JMeter et k6 depuis 25+ régions cloud avec jusqu'à 12 500 VUs. Inscrivez-vous sur loadfocus.com/signup, pas de carte de crédit, et lancez votre premier load test endpoint en moins de 5 minutes.
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus, la plateforme même qui propulse tout ce que vous venez de lire.