Filtrage organisation
Chaque cle API est rattachee a une seule organisation.
API Enterprise v1
Une reference partageable avec une DSI : authentification serveur a serveur, scopes, pagination, endpoints de reporting, erreurs standardisees, webhooks et parcours SSO/SCIM.
Base URL
https://skill-lms.fr/api/enterprise/v1
Exemple indicatif pour cadrage DSI : cette base URL devient executable apres activation Enterprise et livraison du lot API live securisee.
curl https://skill-lms.fr/api/enterprise/v1/learners \
-H "Authorization: Bearer <enterprise_api_key>" \
-H "Accept: application/json"Vue generale
L API Enterprise v1 est pensee pour alimenter un reporting SI, un data warehouse, un CRM ou un tableau de bord franchise, sans donner d acces brut a la plateforme.
Chaque cle API est rattachee a une seule organisation.
Reponses previsibles, pagination obligatoire et erreurs standardisees.
Scopes, rate limits et webhooks sont valides pendant l onboarding.
Authentification
Les appels utilisent un jeton bearer transmis depuis un backend client. La cle ne doit jamais etre exposee dans un navigateur, une app mobile publique ou un depot Git.
Authorization: Bearer <enterprise_api_key>
Accept: application/jsonPagination
Les endpoints de liste accepteront un parametre limit et retourneront un curseur opaque pour la page suivante apres activation API Enterprise.
GET /api/enterprise/v1/learners?limit=50&cursor=eyJwYWdlIjoyfQ{
"data": [],
"pagination": {
"limit": 50,
"next_cursor": null,
"has_more": false
}
}`limit` vaut 50 par defaut et ne depasse pas 100 en v1.
Endpoints
Tous les endpoints ci-dessous sont des lectures. Les ecritures, suppressions, imports ou actions d administration restent hors perimetre de cette v1 publique.
/healthVerifier que l API Enterprise repond.
{
"status": "ok",
"version": "1.0.0"
}/organizationLire les informations de l organisation associee a la cle API.
{
"data": {
"id": "org_01J...",
"name": "Groupe Exemple",
"plan": "enterprise"
}
}/learnersLister les apprenants rattaches a l organisation.
{
"data": [
{
"id": "usr_01J...",
"email": "[email protected]",
"first_name": "Manon",
"last_name": "Martin",
"status": "active"
}
],
"pagination": { "limit": 50, "next_cursor": null, "has_more": false }
}/coursesLister les formations visibles dans le perimetre organisationnel.
{
"data": [
{
"id": "crs_01J...",
"title": "Onboarding reseau",
"status": "published",
"updated_at": "2026-06-09T10:00:00Z"
}
],
"pagination": { "limit": 50, "next_cursor": null, "has_more": false }
}/enrollmentsLister les inscriptions, filtrables par apprenant ou formation.
{
"data": [
{
"id": "enr_01J...",
"learner_id": "usr_01J...",
"course_id": "crs_01J...",
"status": "active",
"enrolled_at": "2026-06-09T10:00:00Z"
}
],
"pagination": { "limit": 50, "next_cursor": null, "has_more": false }
}/progressLire les taux de progression, filtrables par apprenant ou formation.
{
"data": [
{
"learner_id": "usr_01J...",
"course_id": "crs_01J...",
"completion_rate": 72,
"last_activity_at": "2026-06-09T10:00:00Z"
}
],
"pagination": { "limit": 50, "next_cursor": null, "has_more": false }
}/certificatesLister les certificats emis dans le perimetre client.
{
"data": [
{
"id": "cert_01J...",
"learner_id": "usr_01J...",
"course_id": "crs_01J...",
"issued_at": "2026-06-09T10:00:00Z",
"verification_url": "https://skill-lms.fr/certificate/verify/cert_01J..."
}
],
"pagination": { "limit": 50, "next_cursor": null, "has_more": false }
}Erreurs
Chaque erreur retourne un code lisible, un message court et un identifiant de requete a transmettre au support si necessaire.
{
"error": {
"code": "unauthorized",
"message": "Authentication is required.",
"request_id": "req_01J..."
}
}Parametre invalide
Authentification absente ou invalide
Scope insuffisant
Ressource introuvable dans l organisation
Rate limit depasse
Erreur interne
Webhooks
Les webhooks sont actives par organisation pendant l onboarding. Les evenements, retries, signatures et journaux de livraison sont cadrables selon le besoin client.
learner.createdenrollment.createdprogress.updatedcertificate.issued{
"id": "evt_01J...",
"type": "certificate.issued",
"created_at": "2026-06-09T10:00:00Z",
"organization_id": "org_01J...",
"data": {
"certificate_id": "cert_01J...",
"learner_id": "usr_01J...",
"course_id": "crs_01J..."
}
}Identite
La connexion enterprise demande une configuration IdP, des domaines, certificats, attributs et tests de recette. SCIM peut automatiser le cycle de vie des utilisateurs dans un perimetre defini.
SAML ou OIDC selon l IdP client, avec mapping des attributs et strategie de fallback.
Provisioning encadre pour creation, synchronisation et desactivation des utilisateurs.
Limites v1
Cette documentation est partageable en avant-vente, mais elle reste volontairement prudente sur les actions sensibles.
Gestion de vos préférences