Organisation et utilisateurs
La ressource organisation renvoie les métadonnées sur votre compte. La ressource utilisateur vous permet de lister, récupérer, inviter, mettre à jour et désactiver les développeurs qui consomment la formation. Tous les points de terminaison se trouvent sous /api/public/v1.
Points de terminaison
| Méthode | Chemin | Portée | Objectif |
|---|---|---|---|
| GET | /org | org:read | Métadonnées de l'organisation appelante. |
| GET | /users | users:read | Lister les utilisateurs de l'organisation. |
| GET | /users/{'{'}id{'}'} | users:read | Utilisateur unique incluant les totaux de progression. |
| POST | /users | users:write | Inviter un utilisateur. Envoie un e-mail d'invitation. |
| PATCH | /users/{'{'}id{'}'} | users:write | Mettre à jour le nom, l'e-mail, le rôle ou l'appartenance d'équipe. |
| DELETE | /users/{'{'}id{'}'} | users:write | Désactiver un utilisateur. Ne supprime pas définitivement. |
Récupérer l'organisation
Renvoie le plan, le plafond de sièges, le slug, le domaine et l'état d'essai pour l'organisation liée à la clé API.
GET /api/public/v1/org
Authorization: Bearer scs_live_…Réponse
{
"id": "9c2f4b8e-0c1d-4a52-b6f3-1ed7b0a4c9f1",
"name": "Acme Corp",
"slug": "acme",
"domain": "acme.com",
"plan": "growth",
"maxSeats": 250,
"trialExpiresAt": null,
"isActive": true,
"createdAt": "2025-08-12T09:14:22Z"
}Exemple
curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/orgLister les utilisateurs
Renvoie chaque utilisateur de l'organisation, actif ou désactivé. La liste n'est pas paginée ; attendez-vous à jusqu'à quelques milliers d'entrées selon votre plan.
GET /api/public/v1/users
Authorization: Bearer scs_live_…Réponse
[
{
"id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
"name": "Jane Smith",
"email": "jane.smith@acme.com",
"role": "learner",
"teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
"teamName": "Payments",
"isActive": true,
"lastLoginAt": "2026-05-27T16:42:11Z",
"createdAt": "2026-02-04T11:08:00Z"
}
]Exemple
curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/usersRécupérer un utilisateur
Renvoie les mêmes champs que l'entrée de liste plus l'XP agrégée, les challenges terminés, les scénarios terminés et les tableaux de progression par sujet. Utilisez ceci lorsque vous avez besoin de l'historique complet de formation d'un seul développeur.
GET /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…Réponse
{
"id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
"name": "Jane Smith",
"email": "jane.smith@acme.com",
"role": "member",
"teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
"teamName": "Payments",
"isActive": true,
"lastLoginAt": "2026-05-27T16:42:11Z",
"createdAt": "2026-02-04T11:08:00Z",
"totalXp": 4280,
"completedChallenges": 38,
"completedScenarios": 4,
"practiceProgress": [],
"learnProgress": []
}Exemple
curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4Créer un utilisateur
Crée l'enregistrement utilisateur et envoie un e-mail d'invitation à l'adresse fournie. Idempotent sur email : reposter le même e-mail renvoie une erreur plutôt que de créer un doublon. Utilisez ceci depuis votre proxy SCIM, votre synchronisation SIRH ou votre script d'onboarding.
POST /api/public/v1/users
Authorization: Bearer scs_live_…
Content-Type: application/jsonCorps de requête
| Champ | Type | Requis | Signification |
|---|---|---|---|
name | string | oui | Nom d'affichage présenté dans les tableaux de bord et les e-mails d'affectation. |
email | string | oui | Identifiant de connexion. Reçoit l'e-mail d'invitation. |
role | string | oui | learner (par défaut) ou org_admin. Toute autre valeur est coercée à learner. |
teamId | uuid | non | Placez l'utilisateur dans une équipe à la création. Omettez pour laisser non attribué. |
Réponse
{
"id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
"name": "Jane Smith",
"email": "jane.smith@acme.com",
"role": "learner",
"teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
"teamName": "Payments",
"isActive": true,
"lastLoginAt": null,
"createdAt": "2026-05-29T09:22:14Z"
}Exemple
curl -sS -X POST \
-H "Authorization: Bearer $SCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Smith",
"email": "jane.smith@acme.com",
"role": "learner",
"teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32"
}' \
https://api.limeplate.com/api/public/v1/usersMettre à jour un utilisateur
Tous les champs dans le corps sont écrits. Pour déplacer un utilisateur hors d'une équipe, envoyez teamId: null. Changer l'adresse e-mail ne renvoie pas une invitation.
PATCH /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…
Content-Type: application/jsonCorps de requête
Les quatre champs sont requis. Envoyez la valeur actuelle pour la conserver inchangée — il n'y a pas de sémantique PATCH partielle sur ce point de terminaison.
| Champ | Type | Requis | Signification |
|---|---|---|---|
name | string | oui | Nom d'affichage. |
email | string | oui | Identifiant de connexion. |
role | string | oui | learner ou org_admin. |
teamId | uuid ou null | oui | Id d'équipe, ou null pour détacher. |
Réponse
{
"id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
"name": "Jane Smith",
"email": "jane.smith@acme.com",
"role": "org_admin",
"teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
"teamName": "Payments",
"isActive": true,
"lastLoginAt": "2026-05-27T16:42:11Z",
"createdAt": "2026-02-04T11:08:00Z"
}Exemple
curl -sS -X PATCH \
-H "Authorization: Bearer $SCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Smith",
"email": "jane.smith@acme.com",
"role": "org_admin",
"teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32"
}' \
https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4Désactiver un utilisateur
Définit isActive à false. L'enregistrement reste en place : les challenges terminés, les scénarios, l'XP et les affectations historiques sont préservés pour que l'audit et les rapports continuent de fonctionner. L'utilisateur ne peut plus se connecter, et aucune nouvelle affectation ne sera créée contre lui via SARIF ou POST /assignments. Il n'y a pas de point de terminaison de suppression définitive ; les demandes de suppression de données passent par l'équipe confidentialité.
DELETE /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…Réponse
{
"message": "User deactivated"
}Exemple
curl -sS -X DELETE \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4