Azure SRE エージェントの API リファレンス

Azure SRE エージェントをプログラムで管理および操作するための REST API 操作。

概要

Azure SRE エージェントは、2 つのレイヤーで REST API を提供します。 コントロール プレーン (ARM) を使用して、エージェントとそのサブリソースを作成、構成、および削除します。 チャット、リポジトリ管理、ナレッジのアップロードなどの実行時操作には、 データ プレーン を使用します。

平面 基準 URL Auth 利用目的
コントロール プレーン management.azure.com Standard Azure RBAC エージェントと構成の作成、更新、削除
データ プレーン エージェントごとのエンドポイント azuresre.dev 観客 チャット、リポジトリ、フック、ナレッジ、トリガー

Authentication

コントロール プレーン (ARM)

標準Azure認証 - Azure CLI、サービス プリンシパル、またはマネージド ID:

# Interactive login
az login

# Service principal
az login --service-principal -u $APP_ID -p $SECRET --tenant $TENANT_ID

# Managed identity (from Azure VM or Container App)
az login --identity

データ プレーン

データ プレーンには、対象ユーザー https://azuresre.devを含む別のトークンが必要です。

# Step 1: Get the agent's data plane endpoint
ENDPOINT=$(az rest -m GET \
  --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/agents/{agentName}?api-version=2025-05-01-preview" \
  --query properties.agentEndpoint -o tsv)

# Step 2: Get a data plane token
TOKEN=$(az account get-access-token \
  --resource https://azuresre.dev \
  --query accessToken -o tsv)

# Step 3: Call the data plane
curl -H "Authorization: Bearer $TOKEN" "$ENDPOINT/api/v1/threads"

Note

エージェント エンドポイントはエージェントごとに一意です。 これはパターン https://{name}--{id}.{hash}.{region}.azuresre.ai に従い、ARM GET 操作は properties.agentEndpointでこのエンドポイントを返します。

RBAC のロール

Role Description Scope
SRE エージェント管理者 エージェントの構成と操作を完全に制御する エージェント用リソース
SRE エージェント ユーザー チャット、アクションの承認、スレッドの管理 エージェント用リソース
SRE エージェント リーダー エージェント構成とスレッドへの読み取り専用アクセス エージェント用リソース

Azure ポータル、CLI、または ARM API を使用してロールを割り当てます。

az role assignment create \
  --assignee {userOrServicePrincipalId} \
  --role "SRE Agent Administrator" \
  --scope "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{name}"

コントロール プレーン (ARM) 操作

API バージョン

2025-05-01-preview

Note

コントロール プレーン API とデータ プレーン API の両方が現在 プレビュー段階です。 エンドポイント のパス、要求と応答のスキーマ、および動作は、一般公開前に変更される可能性があります。 統合をこの API バージョンにピン留めし、アップグレード後にテストします。

基準 URL

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/agents/{agentName}

操作テーブルからパス サフィックスを追加し、クエリ パラメーターとして ?api-version=2025-05-01-preview を追加します。 たとえば、 .../agents/{agentName}/start?api-version=2025-05-01-previewと指定します。

エージェント リソース操作

操作 メソッド パス サフィックス
作成または更新 PUT (なし)
取得 GET (なし)
削除 DELETE (なし)
[開始] POST /start
止める POST /stop
使用状況を取得する GET /usages
毎日の使用状況を取得する GET /dailyusages

エージェントのプロパティ

財産 タイプ Description
provisioningState 文字列 SucceededFailedInProgressCanceledDeleting (読み取り専用)
agentEndpoint 文字列 データ プレーン URL (読み取り専用)
powerState 文字列 Running または Stopped (読み取り専用)
outboundIpAddresses string[] 許可リストの送信 IP (読み取り専用)
actionConfiguration.mode 文字列 ReviewAutomatic、または ReadOnly
actionConfiguration.accessLevel 文字列 Low または High
defaultModel.provider 文字列 Anthropic または MicrosoftFoundry (Open AI)
defaultModel.name 文字列 モデル名 (例: Automatic)
upgradeChannel 文字列 Stable または Preview
monthlyAgentUnitLimit number 月間アクティブ フロー AAU 上限 (常時オン フローは含まれません)
knowledgeGraphConfiguration.identity 文字列 マネージド ID リソース ID
knowledgeGraphConfiguration.managedResources string[] エージェントがアクセスできるリソース グループ ID
logConfiguration オブジェクト Application Insights の構成
incidentManagementConfiguration.type 文字列 PagerDutyAzMonitorServiceNowまたはNone
mcpServers string[] MCP サーバー URL
vnetConfiguration.subnetResourceId 文字列 VNet インジェクション サブネット
experimentalSettings オブジェクト 機能フラグのオーバーライド

副リソース

下位リソース ARM の種類 経路
コネクタ Microsoft.App/agents/DataConnectors /DataConnectors/{name}
スキル Microsoft.App/agents/skills /skills/{name}
サブエージェント Microsoft.App/agents/subagents /subagents/{name}
ツール Microsoft.App/agents/tools /tools/{name}
スケジュールされたタスク Microsoft.App/agents/scheduledTasks /scheduledTasks/{name}
インシデント フィルター Microsoft.App/agents/incidentFilters /incidentFilters/{name}
フック Microsoft.App/agents/hooks /hooks/{name}
一般的なプロンプト Microsoft.App/agents/commonPrompts /commonPrompts/{name}

すべてのサブリソースは、 PUT (作成/更新)、 GET、および DELETE 操作をサポートします。

サブリソース本文の形式

コネクタは直接プロパティを使用します

az rest -m PUT \
  --url "https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{agent}/DataConnectors/my-kusto?api-version=2025-05-01-preview" \
  --body '{
    "properties": {
      "name": "my-kusto",
      "dataConnectorType": "Kusto",
      "dataSource": "https://mycluster.eastus2.kusto.windows.net",
      "identity": "system"
    }
  }'

その他のサブリソース (スキル、サブエージェント、ツールなど) では、base64 でエンコードされたエンベロープが使用されます。

# The spec is base64-encoded inside properties.value
SPEC='{"name":"my-tool","description":"Query Azure Resource Graph"}'
ENCODED=$(echo -n "$SPEC" | base64)

az rest -m PUT \
  --url "...Microsoft.App/agents/{agent}/tools/my-tool?api-version=2025-05-01-preview" \
  --body "{\"properties\":{\"value\":\"$ENCODED\"}}"

コネクタの種類

タイプ 価値 利用シーン
Azure Data Explorer Kusto ADX クラスターのクエリを実行する
Application Insights Kusto App Insights のクエリ
Log Analytics Kusto クエリ Log Analytics
MCP Mcp MCP 互換コネクタ (Datadog、Splunk など)
ページャーデューティ Mcp PagerDuty インシデント
ServiceNow Mcp ServiceNow インシデント
前途 Outlook メール通知
チーム Teams Teams チャネルの通知

データプレーン操作

データ プレーン API を使用して、メッセージの送信、承認の管理、ナレッジのアップロード、リポジトリ、フック、トリガーの構成など、実行中のエージェントと対話します。

基準 URL

ARM から取得する:

ENDPOINT=$(az rest -m GET \
  --url "...Microsoft.App/agents/{name}?api-version=2025-05-01-preview" \
  --query properties.agentEndpoint -o tsv)

すべてのデータ プレーン パスは、 $ENDPOINT/api/...で始まります。

スレッドとチャット

メソッド 経路 Description
GET /api/v1/threads 会話スレッドを一覧表示する
GET /api/v1/threads/{threadId} 特定のスレッドを取得する
POST /api/v1/threads/{threadId}/messages メッセージを送信する (会話を開始する)
GET /api/v1/threads/{threadId}/messages スレッド内のメッセージを取得する

承認

メソッド 経路 Description
GET /api/v1/approvals/{threadId} 保留中の承認を一覧表示する
POST /api/v1/approvals/{threadId}/{id}/decision アクションを承認または拒否する

コード リポジトリ

メソッド 経路 Description
PUT /api/v2/repos/{repoName} コード リポジトリを追加する
GET /api/v2/repos リポジトリの一覧を表示する
GET /api/v2/repos/{repoName} リポジトリの詳細を取得する
DELETE /api/v2/repos/{repoName} リポジトリを削除する
POST /api/v2/repos/{repoName}/test リポジトリの接続をテストする

ナレッジ (エージェント メモリ)

メソッド 経路 Description
POST /api/v1/agentmemory/upload ドキュメントのアップロード (マルチパート、最大 100 MB、ファイルあたり 16 MB)
GET /api/v1/agentmemory/status メモリの状態を確認する
DELETE /api/v1/agentmemory/document/{fileName} ドキュメントを削除する
DELETE /api/v1/agentmemory/documents ドキュメントを一括削除する
GET /api/v1/agentmemory/indexer-status インデクサーの進行状況を確認する

HTTP トリガー

メソッド 経路 Description
POST /api/v1/httptriggers/create HTTP トリガーを作成する
GET /api/v1/httptriggers トリガーをリスト
POST /api/v1/httptriggers/{triggerId}/execute トリガーを実行する
POST /api/v1/httptriggers/trigger/{triggerId} パブリック Webhook エンドポイント (認証は必要ありません)

フック

メソッド 経路 Description
PUT /api/v2/extendedAgent/hooks/{hookName} フックを作成または更新します
GET /api/v2/extendedAgent/hooks フックを一覧表示する
DELETE /api/v2/extendedAgent/hooks/{hookName} フックを削除します

拡張エージェントの構成

データ プレーンを使用して、サブエージェント、ツール、コネクタ、スキル、プロンプト、プラグインを管理します。

資源 パスパターン形式
サブエージェント /api/v2/extendedAgent/agents/{name}
ツール /api/v2/extendedAgent/tools/{name}
コネクタ /api/v2/extendedAgent/connectors/{name}
スキル /api/v2/extendedAgent/skills/{name}
一般的なプロンプト /api/v2/extendedAgent/commonprompts/{name}
スケジュールされたタスク /api/v2/extendedAgent/scheduledtasks/{name}
Plugins /api/v2/extendedAgent/plugins/{name}

すべてのリソースは、 PUTGETPATCH、および DELETE メソッドをサポートします。

リアルタイム ストリーミング

エージェントは、リアルタイム チャット ストリーミングに SignalR を使用します。

ハブ 経路 Purpose
AgentHub /agentHub リアルタイム メッセージ ストリーミングとスレッドの更新

同じベアラー トークンを使用して SignalR クライアント ライブラリを使用して接続します。

例示

エージェントのプロパティを取得する

az rest -m GET \
  --url "https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{name}?api-version=2025-05-01-preview" \
  -o json

すべてのコネクタを一覧表示する

az rest -m GET \
  --url "https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.App/agents/{name}/DataConnectors?api-version=2025-05-01-preview" \
  -o json

データ プレーンを使用してスレッドを一覧表示する

TOKEN=$(az account get-access-token --resource https://azuresre.dev --query accessToken -o tsv)
ENDPOINT="https://{agentEndpoint}"

curl -s -H "Authorization: Bearer $TOKEN" "$ENDPOINT/api/v1/threads"

データ プレーンを使用してコード リポジトリを追加する

curl -X PUT \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  "$ENDPOINT/api/v2/repos/my-repo" \
  -d '{
    "properties": {
      "url": "https://github.com/myorg/myrepo",
      "type": "GitHub"
    }
  }'