組織とユーザー
組織リソースはアカウントに関するメタデータを返します。ユーザーリソースは、トレーニングを利用する開発者をリスト表示、取得、招待、更新、非アクティブ化できるようにします。すべてのエンドポイントは/api/public/v1下にあります。
エンドポイント
| メソッド | パス | スコープ | 目的 |
|---|---|---|---|
| GET | /org | org:read | 呼び出し元組織のメタデータ。 |
| GET | /users | users:read | 組織内のユーザーをリスト表示します。 |
| GET | /users/{'{'}id{'}'} | users:read | 進捗合計を含む単一ユーザー。 |
| POST | /users | users:write | ユーザーを招待します。招待メールを送信します。 |
| PATCH | /users/{'{'}id{'}'} | users:write | 名前、メール、ロール、またはチームメンバーシップを更新します。 |
| DELETE | /users/{'{'}id{'}'} | users:write | ユーザーを非アクティブ化します。ハード削除は行いません。 |
組織を取得
APIキーに紐づく組織のプラン、シート上限、スラッグ、ドメイン、トライアル状態を返します。
GET /api/public/v1/org
Authorization: Bearer scs_live_…レスポンス
{
"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"
}例
curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/orgユーザーをリスト表示
アクティブまたは非アクティブ化済みを含む、組織内のすべてのユーザーを返します。リストはページネートされません。プランに応じて数千エントリまでを想定してください。
GET /api/public/v1/users
Authorization: Bearer scs_live_…レスポンス
[
{
"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"
}
]例
curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/usersユーザーを取得
リストエントリと同じフィールドに加え、合計XP、完了したチャレンジ、完了したシナリオ、トピックごとの進捗配列を返します。単一の開発者の完全なトレーニング履歴が必要な場合に使用してください。
GET /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…レスポンス
{
"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": []
}例
curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4ユーザーを作成
ユーザーレコードを作成し、指定されたアドレスに招待メールを送信します。emailに対して冪等: 同じメールを再POSTすると、重複を作成するのではなくエラーを返します。SCIMプロキシ、HRIS同期、またはオンボーディングスクリプトから使用してください。
POST /api/public/v1/users
Authorization: Bearer scs_live_…
Content-Type: application/jsonリクエストボディ
| フィールド | タイプ | 必須 | 意味 |
|---|---|---|---|
name | string | はい | ダッシュボードと課題メールに表示される表示名。 |
email | string | はい | ログイン識別子。招待メールを受信します。 |
role | string | はい | learner (デフォルト) またはorg_admin。それ以外の値はlearnerに強制変換されます。 |
teamId | uuid | いいえ | 作成時にユーザーをチームに配置します。省略すると未割り当てになります。 |
レスポンス
{
"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"
}例
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ユーザーを更新
ボディ内のすべてのフィールドが書き込まれます。ユーザーをチームから外すには、teamId: nullを送信してください。メールアドレスの変更は招待を再送信しません。
PATCH /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…
Content-Type: application/jsonリクエストボディ
4つのフィールドすべてが必須です。変更しないままにするには現在の値を送信してください — このエンドポイントには部分PATCHセマンティクスはありません。
| フィールド | タイプ | 必須 | 意味 |
|---|---|---|---|
name | string | はい | 表示名。 |
email | string | はい | ログイン識別子。 |
role | string | はい | learner または org_admin。 |
teamId | uuid または null | はい | チームID、または切り離すためのnull。 |
レスポンス
{
"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"
}例
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ユーザーを非アクティブ化
isActiveをfalseに設定します。レコードはそのまま残ります: 完了したチャレンジ、シナリオ、XP、履歴課題は保持され、監査とレポートが引き続き機能します。ユーザーはサインインできなくなり、SARIFやPOST /assignments経由で新しい課題が作成されなくなります。ハード削除エンドポイントはありません。データ削除リクエストはプライバシーチームを通じて行ってください。
DELETE /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…レスポンス
{
"message": "User deactivated"
}例
curl -sS -X DELETE \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4