本文へスキップ

ドキュメントを検索

入力すると、ドキュメントのすべてのページを検索できます。

ドキュメントメニュー
リファレンス対象読者 · API 利用者

REST API リファレンス

リクエスト例付きの、全エンドポイントの一覧

このページは英語から機械翻訳されました。相違がある場合は原文が優先されます。英語の原文を読む

インタラクティブドキュメント

すべての Agent-Lab アプリケーションは OpenAPI 3 を自動的に提供します。リファレンス実装では http://localhost:18000/docs(独自のアプリの場合はその実行場所)で確認できます。以下の一覧はフレームワークに組み込まれたルーターを説明したものです。extra_routers で追加したルーターも同じスキーマに表示されます。

認証

auth.enabled が true の場合(設定リファレンスを参照)、ルートには Keycloak の Bearer トークンが必要です。/auth ルーターは認証が有効な場合にのみマウントされます。

TOKEN=$(curl -s -X POST https://<host>/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "…", "password": "…"}' | jq -r '.access_token')

curl -s https://<host>/agents/list -H "Authorization: Bearer $TOKEN" | jq
メソッド エンドポイント 説明
POST /auth/login 新しい Bearer トークンを作成します
POST /auth/renew 既存の Bearer トークンを更新します
POST /auth/exchange Microsoft Entra ID の認可コード(PKCE)をアプリのトークンと交換します
GET /auth/profile 認証済みユーザーのプロフィールを取得します
PUT /auth/profile 認証済みユーザーのプロフィールを更新します

レルム/クライアントのセットアップについては、Keycloak による認証で説明しています。

認証不要のパス: /status/*、/docs、/openapi.json、/mcp、/static、 OAuth の well-known エンドポイント、SPA のマウントポイント。それ以外はすべて有効なトークンが必要です。

エンドポイント

エージェント

登録済みの任意のエージェントタイプのインスタンスを作成します。agent_type はレジストリに対して動的に検証されます。

メソッド エンドポイント 説明
GET /agents/list すべてのエージェントインスタンスを一覧表示します
GET /agents/types 登録済みのエージェントタイプ(レジストリ)を一覧表示します
GET /agents/{agent_id} ID を指定してエージェントインスタンスを取得します
POST /agents/create 新しいエージェントインスタンスを作成します
POST /agents/update エージェントの基本情報を更新します
POST /agents/update_setting エージェントの設定を 1 つ更新します
POST /agents/{agent_id}/reset_settings エージェントの設定をデフォルトにリセットします
DELETE /agents/delete/{agent_id} エージェントインスタンスを削除します
WS /agents/ws/task_updates/{agent_id} 長時間処理のタスク進捗を配信する WebSocket ストリーム

メッセージ

メソッド エンドポイント 説明
POST /messages/post エージェントにメッセージを送信し、応答を受け取ります
POST /messages/list エージェントのメッセージを一覧表示します
GET /messages/{message_id} メッセージの詳細(返信、添付ファイル)を展開して取得します
DELETE /messages/delete/{message_id} メッセージを削除します

言語モデル

メソッド エンドポイント 説明
GET /llms/list 設定済みの言語モデルを一覧表示します
GET /llms/{language_model_id} 言語モデルとその設定を取得します
POST /llms/create 新しい言語モデルを作成します
POST /llms/update 言語モデルの設定を更新します
POST /llms/update_setting 言語モデルの設定を 1 つ更新します
DELETE /llms/delete/{language_model_id} 言語モデルを削除します

インテグレーション

メソッド エンドポイント 説明
GET /integrations/list 外部インテグレーション(AI サプライヤー)を一覧表示します
GET /integrations/{integration_id} インテグレーションの詳細を取得します
POST /integrations/create インテグレーションを作成します(認証情報は Vault に保存されます)
DELETE /integrations/delete/{integration_id} インテグレーションを削除します

添付ファイル

メソッド エンドポイント 説明
GET /attachments/list 添付ファイルを一覧表示します
GET /attachments/download/{attachment_id} 添付ファイルをダウンロードします
POST /attachments/upload ファイルを添付としてアップロードします
POST /attachments/embeddings 添付ファイルの埋め込みを生成します

ステータスと MCP

メソッド エンドポイント 説明
GET /status/liveness Liveness プローブ
GET /status/readiness Readiness プローブ
GET /status/metrics Prometheus メトリクス
* /mcp MCP サーバー(Streamable HTTP)
GET /.well-known/oauth-protected-resource/mcp MCP クライアント向けの OAuth メタデータ

リクエスト例

エージェントインスタンスを作成する:agent_name には [a-zA-Z0-9_-] を使用できます。 agent_type は登録済みのタイプである必要があります。language_model_id は省略可能です。

curl -s -X POST http://localhost:18000/agents/create \
  -H "Content-Type: application/json" \
  -d '{
        "agent_name": "support-agent-1",
        "agent_type": "coordinator_planner_supervisor",
        "language_model_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
      }' | jq

メッセージを送信する:message_role は human、assistant、tool のいずれかです。 attachment_id は省略可能です。

curl -s -X POST http://localhost:18000/messages/post \
  -H "Content-Type: application/json" \
  -d '{
        "agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "message_role": "human",
        "message_content": "Summarize the attached report.",
        "attachment_id": null
      }' | jq

エージェントの設定を更新する:setting_key には [a-zA-Z_-] を使用できます。 setting_value には最大 16,000 文字を格納できます(プロンプトテンプレートや JSON ペイロードはここに保存されます。エンティティドメインモデルを参照してください)。

curl -s -X POST http://localhost:18000/agents/update_setting \
  -H "Content-Type: application/json" \
  -d '{
        "agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "setting_key": "system_prompt",
        "setting_value": "You are a concise research assistant…"
      }' | jq

規約

  • ID は UUID です。一覧系のエンドポイントはすべて、クエリ文字列ではなく JSON ボディを受け付けます。
  • 設定は、エージェントやモデルとともに永続化されるキーと値のペアです。これにより、同じ実装から設定の異なる多数のインスタンスを実行できます。
  • 有効な agent_type の値についてはレジストリが唯一の情報源です。 GET /agents/types を実行すると、実行中のアプリが検出したもの(scan_packages 経由の独自パッケージを含む)を確認できます。