Dokumente/API & Webhooks/Organisation und Benutzer

Organisation & Benutzer

Die Organisations-Ressource gibt Metadaten zu Ihrem Konto zurück. Die Benutzer-Ressource ermöglicht es Ihnen, die Entwickler, die Schulungen nutzen, aufzulisten, abzurufen, einzuladen, zu aktualisieren und zu deaktivieren. Alle Endpunkte befinden sich unter /api/public/v1.

Endpunkte

MethodePfadGeltungsbereichZweck
GET/orgorg:readMetadaten der aufrufenden Organisation.
GET/usersusers:readBenutzer in der Organisation auflisten.
GET/users/{'{'}id{'}'}users:readEinzelner Benutzer einschließlich Fortschrittssummen.
POST/usersusers:writeEinen Benutzer einladen. Sendet eine Einladungs-E-Mail.
PATCH/users/{'{'}id{'}'}users:writeNamen, E-Mail, Rolle oder Teammitgliedschaft aktualisieren.
DELETE/users/{'{'}id{'}'}users:writeEinen Benutzer deaktivieren. Kein Hard-Delete.

Organisation abrufen

Gibt Plan, Sitzplatzobergrenze, Slug, Domain und Testzustand für die Organisation zurück, die an den API-Schlüssel gebunden ist.

GET /api/public/v1/org
Authorization: Bearer scs_live_…

Antwort

{
  "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"
}

Beispiel

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/org

Benutzer auflisten

Gibt jeden Benutzer in der Organisation zurück, aktiv oder deaktiviert. Die Liste ist nicht paginiert; erwarten Sie je nach Plan bis zu einigen tausend Einträgen.

GET /api/public/v1/users
Authorization: Bearer scs_live_…

Antwort

[
  {
    "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"
  }
]

Beispiel

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/users

Benutzer abrufen

Gibt die gleichen Felder wie der Listeneintrag plus aggregierte XP, abgeschlossene Challenges, abgeschlossene Szenarien und Fortschrittsarrays pro Topic zurück. Verwenden Sie dies, wenn Sie die vollständige Schulungshistorie eines einzelnen Entwicklers benötigen.

GET /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…

Antwort

{
  "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": []
}

Beispiel

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4

Benutzer erstellen

Erstellt den Benutzerdatensatz und sendet eine Einladungs-E-Mail an die angegebene Adresse. Idempotent auf email: Das erneute POSTen derselben E-Mail gibt einen Fehler zurück, anstatt ein Duplikat zu erstellen. Verwenden Sie dies aus Ihrem SCIM-Proxy, HRIS-Sync oder Onboarding-Skript.

POST /api/public/v1/users
Authorization: Bearer scs_live_…
Content-Type: application/json

Anfragetext

FeldTypErforderlichBedeutung
namestringjaAnzeigename, der in Dashboards und Zuweisungs-E-Mails angezeigt wird.
emailstringjaLogin-Kennung. Empfängt die Einladungs-E-Mail.
rolestringjalearner (Standard) oder org_admin. Jeder andere Wert wird zu learner koerziert.
teamIduuidneinPlatzieren Sie den Benutzer bei der Erstellung in einem Team. Weglassen, um ihn nicht zuzuweisen.

Antwort

{
  "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"
}

Beispiel

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/users

Benutzer aktualisieren

Alle Felder im Body werden geschrieben. Um einen Benutzer aus einem Team zu entfernen, senden Sie teamId: null. Das Ändern der E-Mail-Adresse sendet keine erneute Einladung.

PATCH /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…
Content-Type: application/json

Anfragetext

Alle vier Felder sind erforderlich. Senden Sie den aktuellen Wert, um ihn unverändert zu lassen — es gibt keine partielle PATCH-Semantik auf diesem Endpunkt.

FeldTypErforderlichBedeutung
namestringjaAnzeigename.
emailstringjaLogin-Kennung.
rolestringjalearner oder org_admin.
teamIduuid oder nulljaTeam-ID oder null zum Lösen.

Antwort

{
  "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"
}

Beispiel

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-2c6f1a90e7b4

Benutzer deaktivieren

Setzt isActive auf false. Der Datensatz bleibt erhalten: abgeschlossene Challenges, Szenarien, XP und historische Zuweisungen werden bewahrt, sodass Audit und Berichterstellung weiterhin funktionieren. Der Benutzer kann sich nicht mehr anmelden, und es werden keine neuen Zuweisungen über SARIF oder POST /assignments für ihn erstellt. Es gibt keinen Hard-Delete-Endpunkt; Datenlöschanfragen laufen über das Datenschutzteam.

DELETE /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…

Antwort

{
  "message": "User deactivated"
}

Beispiel

curl -sS -X DELETE \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4