REST HTTPS JSON v1

API simple,
documentation complète

Connectez AutoPilote à vos outils en quelques lignes de code. API REST sécurisée, réponses JSON structurées, exemples prêts à l'emploi.

Démarrage rapide

Faites votre première requête API en moins de 5 minutes, sans configuration complexe.

1
Générer une clé API
Dans AutoPilote → Clés API → Nouvelle clé. Copiez-la immédiatement, elle n'est affichée qu'une fois.
2
Tester avec curl
Envoyez votre première requête GET /api/eleves avec le header X-API-Key. Vous obtenez un JSON structuré.
3
Intégrer dans votre app
Utilisez n'importe quel client HTTP (fetch, axios, requests…) avec le même header d'authentification.
shell — premier appel API
# Remplacez apk_xxx par votre vraie clé API
curl -X GET \
  'https://saas-auto-ecole.modernweb.fr/api/eleves' \
  -H 'X-API-Key: apk_xxx' \
  -H 'Content-Type: application/json'

Authentification

L'API utilise des clés API pour l'authentification. Chaque requête doit inclure votre clé dans le header HTTP X-API-Key.

Exemple d'authentification

shell
curl -X GET https://saas-auto-ecole.modernweb.fr/api/eleves \
  -H 'X-API-Key: apk_votre_cle_api_ici' \
  -H 'Content-Type: application/json'
Sécurité : Ne committez jamais votre clé API dans votre dépôt Git. Utilisez des variables d'environnement. Si une clé est compromise, régénérez-la immédiatement depuis l'interface AutoPilote.

Clé manquante — réponse 401

json — erreur 401
{
  "success": false,
  "message": "Clé API manquante (header X-API-Key requis)"
}

Base URL & format

Toutes les requêtes API sont envoyées à l'URL de base suivante. Toutes les réponses sont au format JSON.

https://saas-auto-ecole.modernweb.fr/api

Format de réponse standard

json — succès
{
  "success": true,
  "data": { /* données de la ressource */ },
  "message": "Opération réussie"
}
json — liste paginée
{
  "success": true,
  "data": [ /* tableau de ressources */ ],
  "total": 42,
  "page": 1,
  "limit": 50
}

Rate Limiting

Chaque clé API dispose d'une limite de requêtes par minute, configurable depuis l'interface AutoPilote.

Limite Plage Défaut Code si dépassé
Par clé API 10 – 300 req/min 60 req/min 429
Global (IP) Fixe 120 req/min 429

Headers de rate limit dans les réponses

headers http
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1741123200
Pour des quotas plus élevés (> 300 req/min), contactez-nous pour un plan Enterprise avec des limites personnalisées.

Élèves

Gérez les élèves de votre auto-école. Toutes les opérations sont isolées par tenant — vous ne voyez que les élèves de votre auto-école.

GET /api/eleves Lister les élèves
GET /api/eleves/:id Détails d'un élève
POST /api/eleves Créer un élève
PATCH /api/eleves/:id Modifier un élève
DELETE /api/eleves/:id Supprimer un élève

GET /api/eleves — Lister les élèves

shell — requête
curl -X GET \
  'https://saas-auto-ecole.modernweb.fr/api/eleves?statut=EN_FORMATION&limit=20' \
  -H 'X-API-Key: apk_xxx'
json — réponse 200
{
  "success": true,
  "data": [
    {
      "id": "cl9x2abc",
      "nom": "Dupont",
      "prenom": "Marie",
      "email": "marie.dupont@email.com",
      "statut": "EN_FORMATION",
      "typePermis": "B",
      "heuresEffectuees": 15,
      "createdAt": "2026-02-15T09:00:00Z"
    }
  ],
  "total": 23
}

POST /api/eleves — Créer un élève

shell — requête avec body
curl -X POST \
  'https://saas-auto-ecole.modernweb.fr/api/eleves' \
  -H 'X-API-Key: apk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "nom": "Martin",
    "prenom": "Lucas",
    "email": "lucas.martin@email.com",
    "telephone": "0601020304",
    "dateNaissance": "2003-05-12",
    "typePermis": "B"
  }'

Valeurs de statut acceptées

  • INSCRIT — Nouvellement inscrit
  • EN_FORMATION — En cours de formation
  • PRET_EXAMEN — Prêt pour l'examen
  • OBTENU — Permis obtenu
  • ABANDONNE — Formation abandonnée

Moniteurs

Accédez aux données des enseignants de votre auto-école. Lecture seule recommandée via l'API.

GET /api/moniteurs Lister les moniteurs
GET /api/moniteurs/:id Détails d'un moniteur
POST /api/moniteurs Créer un moniteur
PATCH /api/moniteurs/:id Modifier un moniteur
json — réponse GET /api/moniteurs/:id
{
  "success": true,
  "data": {
    "id": "cl7a1xyz",
    "nom": "Leblanc",
    "prenom": "Pierre",
    "email": "p.leblanc@autoecole.fr",
    "specialites": ["B", "AAC"],
    "estActif": true,
    "nbLeconsMois": 48
  }
}

Véhicules

Gérez la flotte de véhicules de votre auto-école, y compris les entretiens et la disponibilité.

GET /api/vehicules Lister les véhicules
GET /api/vehicules/:id Détails d'un véhicule
POST /api/vehicules Ajouter un véhicule
PATCH /api/vehicules/:id Modifier un véhicule

Leçons

Planifiez et gérez les leçons de conduite. Chaque leçon associe un élève, un moniteur et un véhicule sur un créneau horaire.

GET /api/lecons Lister les leçons
GET /api/lecons/:id Détails d'une leçon
POST /api/lecons Planifier une leçon
PATCH /api/lecons/:id Modifier / changer statut
DELETE /api/lecons/:id Annuler une leçon

POST /api/lecons — Planifier une leçon

shell — requête
curl -X POST \
  'https://saas-auto-ecole.modernweb.fr/api/lecons' \
  -H 'X-API-Key: apk_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "eleveId": "cl9x2abc",
    "moniteurId": "cl7a1xyz",
    "vehiculeId": "cl5b3def",
    "dateDebut": "2026-03-10T10:00:00Z",
    "duree": 60,
    "type": "CONDUITE"
  }'

Paiements

Consultez et enregistrez les paiements des élèves. Les paiements Stripe sont gérés automatiquement via les webhooks.

GET /api/paiements Lister les paiements
POST /api/paiements Enregistrer paiement manuel
Les paiements Stripe (abonnement SaaS, forfaits élèves) sont créés automatiquement via le webhook Stripe — pas via l'API publique.

Codes d'erreur

L'API utilise les codes HTTP standard. Chaque erreur retourne un objet JSON avec le champ message explicatif.

Code Nom Cause fréquente
200 OK Requête réussie
201 Created Ressource créée avec succès
400 Bad Request Champ manquant ou format invalide
401 Unauthorized Clé API absente ou invalide
403 Forbidden Ressource appartenant à un autre tenant
404 Not Found Ressource introuvable
409 Conflict Email déjà existant, conflit planning
429 Too Many Requests Rate limit dépassé
500 Server Error Erreur interne — contactez le support
json — format d'erreur standard
{
  "success": false,
  "message": "Clé API manquante (header X-API-Key requis)",
  "code": "UNAUTHORIZED"
}

Webhooks

Les webhooks sortants arrivent en Q2 2026 et permettront de pousser des événements AutoPilote vers vos outils tiers en temps réel.

Webhooks sortants — bientôt disponibles

Vous pourrez vous abonner à des événements comme eleve.created, lecon.terminee, paiement.valide et recevoir un payload JSON sur votre endpoint configuré.

Voir la roadmap Q2 2026 →

Prêt à intégrer AutoPilote ?

Générez votre clé API depuis votre compte et faites votre premier appel en moins de 5 minutes.