Aller au contenu principal
EntrepriseDocumentation API

API Enterprise v1

Documentation API pour connecter SKILL LMS a votre systeme d information.

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.

Exemple indicatif apres activation
curl https://skill-lms.fr/api/enterprise/v1/learners \
  -H "Authorization: Bearer <enterprise_api_key>" \
  -H "Accept: application/json"

Vue generale

Une API v1 volontairement stable et lecture seule.

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.

Filtrage organisation

Chaque cle API est rattachee a une seule organisation.

JSON stable

Reponses previsibles, pagination obligatoire et erreurs standardisees.

Activation encadree

Scopes, rate limits et webhooks sont valides pendant l onboarding.

Authentification

Cle API organisation cote serveur uniquement.

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.

Headers requis
Authorization: Bearer <enterprise_api_key>
Accept: application/json

Scopes v1

read:organizationread:learnersread:coursesread:enrollmentsread:progressread:certificates
Requete indicative apres activation
GET /api/enterprise/v1/learners?limit=50&cursor=eyJwYWdlIjoyfQ
Reponse
{
  "data": [],
  "pagination": {
    "limit": 50,
    "next_cursor": null,
    "has_more": false
  }
}

`limit` vaut 50 par defaut et ne depasse pas 100 en v1.

Endpoints

Endpoints v1 disponibles pour le reporting.

Tous les endpoints ci-dessous sont des lectures. Les ecritures, suppressions, imports ou actions d administration restent hors perimetre de cette v1 publique.

GET/health

Verifier que l API Enterprise repond.

public
Exemple de reponse
{
  "status": "ok",
  "version": "1.0.0"
}
GET/organization

Lire les informations de l organisation associee a la cle API.

read:organization
Exemple de reponse
{
  "data": {
    "id": "org_01J...",
    "name": "Groupe Exemple",
    "plan": "enterprise"
  }
}
GET/learners

Lister les apprenants rattaches a l organisation.

read:learners
Exemple de reponse
{
  "data": [
    {
      "id": "usr_01J...",
      "email": "[email protected]",
      "first_name": "Manon",
      "last_name": "Martin",
      "status": "active"
    }
  ],
  "pagination": { "limit": 50, "next_cursor": null, "has_more": false }
}
GET/courses

Lister les formations visibles dans le perimetre organisationnel.

read:courses
Exemple de reponse
{
  "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 }
}
GET/enrollments

Lister les inscriptions, filtrables par apprenant ou formation.

read:enrollments
Exemple de reponse
{
  "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 }
}
GET/progress

Lire les taux de progression, filtrables par apprenant ou formation.

read:progress
Exemple de reponse
{
  "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 }
}
GET/certificates

Lister les certificats emis dans le perimetre client.

read:certificates
Exemple de reponse
{
  "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

Erreurs standardisees pour faciliter l integration.

Chaque erreur retourne un code lisible, un message court et un identifiant de requete a transmettre au support si necessaire.

Format
{
  "error": {
    "code": "unauthorized",
    "message": "Authentication is required.",
    "request_id": "req_01J..."
  }
}
400

Parametre invalide

401

Authentification absente ou invalide

403

Scope insuffisant

404

Ressource introuvable dans l organisation

429

Rate limit depasse

500

Erreur interne

Webhooks

Connecter SKILL LMS a un CRM ou outil d automatisation.

Les webhooks sont actives par organisation pendant l onboarding. Les evenements, retries, signatures et journaux de livraison sont cadrables selon le besoin client.

learner.created
enrollment.created
progress.updated
certificate.issued
Payload indicatif
{
  "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

SSO SAML/OIDC et SCIM sont traites comme un onboarding DSI.

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.

SSO

SAML ou OIDC selon l IdP client, avec mapping des attributs et strategie de fallback.

SCIM

Provisioning encadre pour creation, synchronisation et desactivation des utilisateurs.

Limites v1

Ce que cette API ne promet pas.

Cette documentation est partageable en avant-vente, mais elle reste volontairement prudente sur les actions sensibles.

Pas d acces brut a la base de donnees
Pas d ecriture publique en v1
Pas de provisioning hors cadrage SSO/SCIM
Pas de garantie contractuelle sans annexe Entreprise
Pas de cle API cote navigateur
Pas d acces aux donnees d autres organisations