コンテンツにスキップ

REST API リファレンス

このページでは、ADK Webサーバーが提供するREST APIのリファレンスを提供します。 ADK REST APIの実際の使用方法については、 APIサーバーの使用 を参照してください。

Tip

実行中のADK Webサーバーで /docs のパス(例:http://localhost:8000/docs)にアクセスすると、更新されたAPIリファレンスを閲覧できます。

エンドポイント

/run

このエンドポイントは、エージェントの実行を行います。実行の詳細を含むJSONペイロードを受け取り、実行中に生成されたイベントのリストを返します。

リクエストボディ (Request Body)

リクエストボディは、以下のフィールドを持つJSONオブジェクトである必要があります。

  • app_name (string, 必須): 実行するエージェントの名前です。
  • user_id (string, 必須): ユーザーのIDです。
  • session_id (string, 必須): セッションのIDです。
  • new_message (Content, 必須): エージェントに送信する新しいメッセージです。詳細は Content オブジェクト のセクションを参照してください。
  • streaming (boolean, 任意): ストリーミングを使用するかどうか。デフォルトは false です。
  • state_delta (object, 任意): 実行前に適用するステート(state)の差分(delta)です。

レスポンスボディ (Response Body)

レスポンスボディは、Event オブジェクト のJSON配列です。

/run_sse

このエンドポイントは、ストリーミングレスポンスのためにサーバー送信イベント (Server-Sent Events, SSE) を使用してエージェントの実行を行います。/run エンドポイントと同じJSONペイロードを受け取ります。

リクエストボディ (Request Body)

リクエストボディは /run エンドポイントと同じです。

レスポンスボディ (Response Body)

レスポンスはサーバー送信イベントのストリームです。各イベントは Event オブジェクト を表すJSONオブジェクトです。

オブジェクト

Content オブジェクト

Content オブジェクトは、メッセージのコンテンツを表します。以下の構造を持ちます。

{
  "parts": [
    {
      "text": "..."
    }
  ],
  "role": "..."
}
  • parts: パートのリストです。各パートはテキストまたは関数呼び出しのいずれかになります。
  • role: メッセージ作成者の役割(ロール)です (例: "user", "model")。

Event オブジェクト

Event オブジェクトは、エージェントの実行中に発生したイベントを表します。多くの任意フィールドを持つ複雑な構造をしています。最も重要なフィールドは以下の通りです。

  • id: イベントのIDです。
  • timestamp: イベントのタイムスタンプです。
  • author: イベントの作成者です。
  • content: イベントのコンテンツです。