REST API ドキュメント

本ページでは、LMS プラットフォームの REST API 仕様をまとめています。 認証、エンドポイント一覧、リクエスト/レスポンス形式、サンプルコードを含みます。 API は主に「外部システム連携」「社内の自動化」「RAG データ更新」などに利用できます。


1. API 認証方式

API はすべて Bearer Token(Microsoft Entra ID) による認証が必要です。

Authorization: Bearer <access_token>

トークンは以下の 2 種類の方法で取得可能です。

  • ① OAuth2 / OIDC(標準 Web ログイン)
  • ② On-Behalf-Of(Teams SSO → API 連携)

アクセストークンの Audience(aud)は api://{ClientId} です。

2. ベース URL

GET / POST / PUT / DELETE https://api.yourdomain.com/

※ 実際の環境によって異なります。

3. エンドポイント一覧

カテゴリ メソッド URL 概要
プロジェクト GET /api/projects プロジェクト一覧取得
プロジェクト POST /api/projects プロジェクト新規作成
プロジェクト PUT /api/projects/{projectId} プロジェクト更新
プロジェクト DELETE /api/projects/{projectId} プロジェクト削除
タスク GET /api/tasks タスク一覧取得
タスク POST /api/tasks タスク新規作成
ユーザー GET /api/users ユーザー一覧取得
RAG POST /api/rag/index インデックス再構築(ジョブ起動)

4. リクエスト / レスポンス例

■ プロジェクト一覧取得
GET /api/projects

レスポンス例:

[
  {
    "id": "PRJ-1001",
    "name": "AIリテラシー導入プロジェクト",
    "status": "Active",
    "members": ["yamada@company.com", "suzuki@company.com"],
    "createdAt": "2025-01-10T12:30:00Z"
  },
  {
    "id": "PRJ-1002",
    "name": "RAG 活用 PoC",
    "status": "Planning",
    "members": ["kato@company.com"],
    "createdAt": "2025-02-01T08:20:00Z"
  }
]
■ プロジェクト作成
POST /api/projects

リクエスト例:

{
  "name": "新規 AI 活用プロジェクト",
  "description": "営業部向け業務改善",
  "owner": "yamada@company.com"
}

レスポンス例:

{
  "id": "PRJ-1010",
  "name": "新規 AI 活用プロジェクト",
  "status": "Active",
  "createdAt": "2025-03-01T10:00:00Z"
}

5. エラーレスポンス

全 API は以下のエラーフォーマットで返します。

{
  "error": "Unauthorized",
  "message": "アクセストークンが無効です。",
  "status": 401
}
よくあるステータスコード
  • 400 — Bad Request(バリデーションエラー)
  • 401 — Unauthorized(アクセストークンなし / 無効)
  • 403 — Forbidden(ロール権限不足)
  • 404 — Not Found
  • 500 — Server Error

6. SDK / クライアント例

JavaScript / C# / Python などの SDK は順次公開予定です。

■ JavaScript(fetch)
const res = await fetch("/api/projects", {
  headers: {
    "Authorization": "Bearer " + accessToken
  }
});
const data = await res.json();
console.log(data);
■ C#(HttpClient)
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", accessToken);

var res = await client.GetAsync("/api/projects");
var json = await res.Content.ReadAsStringAsync();

次:Webhook ドキュメントへ進む →