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.