AIP
API クイックスタート
AIP でキーを作成し、保存済み Agent の呼び出し、応答の取得、許可された業務リソースへのアクセスを行います。
サーバーから AIP の保存済み Agent を呼び出し、会話の結果を取得します。API キーは AIP ワークベンチで管理し、REST と MCP は同じキーと権限を使用します。詳細は API リファレンスを参照してください。
URL とキーを準備
- AIP で対象の Profile(業務上の ID)に切り替えます。Agent を作成してテストし、設定を保存して有効にします。
- API キーを管理でキーを作成し、アクセス範囲に単一 Agent の会話を選び、呼び出す Agent を指定します。
- メッセージ送信(
agent:invoke)を有効にします。会話の読み取り(agent:conversations:read)も含まれ、他の連携で作成されたものを含む、その Agent の全会話履歴を取得できます。 - 作成直後に完全なキーをコピーします。後から完全な値を再表示することはできません。
サーバーの端末に環境変数を設定します。以下は本番 URL です。開発環境やセルフホストでは、その環境のバックエンド URL を使用してください。
export HAST_API_BASE='https://backend.hast.so/api/public/v1'
export HAST_API_KEY='<YOUR_SINGLE_AGENT_KEY>'最初のタスクを送信
curl --fail-with-body --request POST \
--url "$HAST_API_BASE/agent/prompts" \
--header "Authorization: Bearer $HAST_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"request_id":"message-001","prompt":"あなたの役割と、支援できる作業を説明してください。"}'キーに紐付いた Agent と保存済み設定を使用します。session_id を省略すると会話を作成し、返された session_id を指定すると続行します。新しいメッセージごとに新しい request_id を使い、同じメッセージの再試行では ID と内容を維持します。
HTTP 202 は受け付け完了を示します。応答の session_id と request_id を保存し、イベントから今回の実行結果を確認します。
実行過程を取得
export SESSION_ID='<SESSION_ID_FROM_RESPONSE>'
curl --fail-with-body \
"$HAST_API_BASE/agent/sessions/$SESSION_ID/events?after=0&limit=100" \
--header "Authorization: Bearer $HAST_API_KEY"応答には events、next_after、has_more が含まれます。次のリクエストでは next_after を after に指定します。has_more が true なら、表示対象イベントが空でも次のページを取得します。新しいイベントがなければ、間隔を空けて再度問い合わせます。
この API はユーザーのメッセージ、Agent の返信、実行状態を返します。run_id が受付応答の request_id と一致する run.completed、run.failed、run.interrupted で今回の終了を判断します。message.completed は 1 メッセージの完了です。詳細は会話イベントと SSEを参照してください。
単一 Agent の会話では JSON ポーリングを使用し、SSE パスはありません。GET /agent/sessions でその Agent の会話履歴を探し、各会話のイベントを取得できます。
Profile API key を使う
現在の業務 ID に属するリソースへ機能別にアクセスするには、API キーを管理で Profile API key を作成し、必要な権限を選びます。
| 用途 | 権限とエンドポイント |
|---|---|
| 保存済み Agent 設定の取得 | webhooks:read、GET /webhooks |
| 特定の Agent の呼び出し | webhooks:write、POST /webhooks/{hook_id}/invoke |
| ナレッジベース、チャネル、CRM、スケジュールの管理 | 対応するリソース権限。API リファレンスを参照 |
| 通常タスクの送信とイベント取得 | prompts:write と sessions:read、POST /prompts と /sessions/{id}/events |
書き込み権限には対応する読み取り権限が含まれます。Profile key の /prompts は通常タスクのセッションを作成し、保存済み AIP Agent の設定を自動では適用しません。設定済み Agent を呼び出す場合は /webhooks/{hook_id}/invoke または上記の単一 Agent の手順を使います。
通常タスクの SSE は /sessions/{id}/events/stream で受信できます。SSE 接続を参照してください。Profile key と単一 Agent のキーではアクセス範囲が異なり、/agent/* と通常タスクのパスを相互に置き換えることはできません。
接続を続ける
引数、応答、OpenAPI JSON は API リファレンスを参照してください。外部 Agent クライアントには MCP 連携、Agent 詳細画面の完全な Hook URL を使う場合は Webhook HTTP 連携を利用します。