API-Referenz für Azure SRE-Agent

REST-API-Vorgänge zum programmgesteuerten Verwalten und Interagieren mit Azure SRE-Agent.

Overview

Azure SRE-Agent stellt REST-APIs auf zwei Ebenen bereit. Verwenden Sie die Steuerebene (ARM), um Agents und deren Unterressourcen zu erstellen, zu konfigurieren und zu löschen. Verwenden Sie die Datenebene für Laufzeitvorgänge wie Chat, Repoverwaltung und Wissensuploads.

Flugzeug Basis-URL Auth Verwendung für
Steuerebene management.azure.com Standard-Azure RBAC Erstellen, Aktualisieren, Löschen von Agents und Konfigurationen
Datenebene Endpunkt pro Agent azuresre.dev Publikum Chat, Repos, Hooks, Wissen, Trigger

Authentifizierung

Steuerebene (ARM)

Standardauthentifizierung Azure – Azure CLI, Dienstprinzipal oder verwaltete Identität:

# 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

Datenebene

Für die Datenebene ist ein separates Token mit Zielgruppe https://azuresre.deverforderlich:

# 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

Der Agentendpunkt ist pro Agent eindeutig. Es folgt dem Muster https://{name}--{id}.{hash}.{region}.azuresre.ai und der ARM GET-Vorgang gibt diesen Endpunkt in properties.agentEndpoint.

RBAC-Rollen

Rolle Beschreibung Umfang
SRE-Agent-Administrator Vollständige Kontrolle über die Agentkonfiguration und -vorgänge Agentenressource
SRE-Agent-Benutzer Chat, Genehmigen von Aktionen, Verwalten von Threads Agentenressource
SRE Agent Reader Schreibgeschützter Zugriff auf agent-Konfiguration und Threads Agentenressource

Zuweisen von Rollen mithilfe der Azure-Portal-, CLI- oder ARM-API:

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

Steuerungsebene (ARM)-Vorgänge

API-Version

2025-05-01-preview

Note

Sowohl die Steuerebene als auch die Datenebenen-APIs befinden sich derzeit in der Vorschau. Endpunktpfade, Anforderungs- und Antwortschemas und Verhalten können sich vor der allgemeinen Verfügbarkeit ändern. Heften Sie Ihre Integrationen an diese API-Version an, und testen Sie nach Upgrades.

Basis-URL

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

Fügen Sie das Pfadsuffix aus der Operationstabelle an, und fügen Sie dann als Abfrageparameter hinzu ?api-version=2025-05-01-preview . Beispiel: .../agents/{agentName}/start?api-version=2025-05-01-preview.

Agent-Ressourcenvorgänge

Vorgang Methode Pfadsuffix
Erstellen oder aktualisieren PUT (kein)
Abrufen GET (kein)
Löschen DELETE (kein)
Start POST /start
Aufhören POST /stop
Abrufen von Verwendungen GET /usages
Abrufen täglicher Nutzungen GET /dailyusages

Agenteigenschaften

Eigentum Typ Beschreibung
provisioningState Schnur Succeeded, Failed, InProgress, Canceled, Deleting (schreibgeschützt)
agentEndpoint Schnur URL der Datenebene (schreibgeschützt)
powerState Schnur Running oder Stopped (schreibgeschützt)
outboundIpAddresses string[] Ausgehende IPs für Zulassungsliste (schreibgeschützt)
actionConfiguration.mode Schnur Review, Automatic oder ReadOnly
actionConfiguration.accessLevel Schnur Low oder High
defaultModel.provider Schnur Anthropic oder MicrosoftFoundry (Open AI)
defaultModel.name Schnur Modellname (z. B Automatic. )
upgradeChannel Schnur Stable oder Preview
monthlyAgentUnitLimit number Monatliche AAU-Obergrenze (enthält keinen Always-On-Fluss)
knowledgeGraphConfiguration.identity Schnur Verwaltete Identitätsressourcen-ID
knowledgeGraphConfiguration.managedResources string[] Ressourcengruppen-IDs, auf die der Agent zugreifen kann
logConfiguration Objekt Application Insights-Konfiguration
incidentManagementConfiguration.type Schnur PagerDuty, AzMonitor, ServiceNow oder None
mcpServers string[] MCP-Server-URLs
vnetConfiguration.subnetResourceId Schnur VNet Injection Subnetz
experimentalSettings Objekt Außerkraftsetzungen von Featurekennzeichnungen

Unterressourcen

Unterressource ARM-Typ Pfad
Verbinder Microsoft.App/agents/DataConnectors /DataConnectors/{name}
Fähigkeiten Microsoft.App/agents/skills /skills/{name}
Subagenten Microsoft.App/agents/subagents /subagents/{name}
Werkzeuge Microsoft.App/agents/tools /tools/{name}
Geplante Vorgänge Microsoft.App/agents/scheduledTasks /scheduledTasks/{name}
Vorfallfilter Microsoft.App/agents/incidentFilters /incidentFilters/{name}
Hooks Microsoft.App/agents/hooks /hooks/{name}
Allgemeine Eingabeaufforderungen Microsoft.App/agents/commonPrompts /commonPrompts/{name}

Alle Unterressourcen unterstützen PUT (Erstellen/Aktualisieren), GETund DELETE Vorgänge.

Unterressourcentextformate

Connectors verwenden direkte Eigenschaften:

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"
    }
  }'

Andere Unterressourcen (Fähigkeiten, Subagenten, Tools usw.) verwenden einen base64-codierten Umschlag:

# 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\"}}"

Verbindertypen

Typ Wert Anwendungsfall
Azure-Daten-Explorer Kusto Abfragen von ADX-Clustern
Application Insights Kusto Abfragen von App Insights
Log Analytics Kusto Abfrage-Log Analytics
MCP Mcp MCP-kompatible Connectors (Datadog, Splunk usw.)
PagerDuty Mcp PagerDuty-Vorfälle
ServiceNow Mcp ServiceNow-Vorfälle
Outlook Outlook E-Mail-Benachrichtigungen
Mannschaften Teams Teams-Kanalbenachrichtigungen

Vorgänge auf Datenebene

Verwenden Sie die Datenebenen-API, um mit einem ausgeführten Agent zu interagieren, einschließlich senden von Nachrichten, Verwalten von Genehmigungen, Hochladen von Wissen und Konfigurieren von Repositorys, Hooks und Triggern.

Basis-URL

Von ARM abrufen:

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

Alle Datenebenenpfade beginnen mit $ENDPOINT/api/....

Threads und Chats

Methode Pfad Beschreibung
GET /api/v1/threads Unterhaltungsthreads auflisten
GET /api/v1/threads/{threadId} Abrufen eines bestimmten Threads
POST /api/v1/threads/{threadId}/messages Senden einer Nachricht (Starten einer Unterhaltung)
GET /api/v1/threads/{threadId}/messages Abrufen von Nachrichten in einem Thread

Genehmigungen

Methode Pfad Beschreibung
GET /api/v1/approvals/{threadId} Ausstehende Genehmigungen auflisten
POST /api/v1/approvals/{threadId}/{id}/decision Genehmigen oder Ablehnen einer Aktion

Code-Repositorys

Methode Pfad Beschreibung
PUT /api/v2/repos/{repoName} Hinzufügen eines Code-Repositorys
GET /api/v2/repos Auflisten von Repositorys
GET /api/v2/repos/{repoName} Abrufen von Repositorydetails
DELETE /api/v2/repos/{repoName} Entfernen eines Repositorys
POST /api/v2/repos/{repoName}/test Testen der Repositorykonnektivität

Wissen (Agentspeicher)

Methode Pfad Beschreibung
POST /api/v1/agentmemory/upload Hochladen von Dokumenten (mehrteilig, max. 100 MB gesamt, 16 MB pro Datei)
GET /api/v1/agentmemory/status Überprüfen des Speicherstatus
DELETE /api/v1/agentmemory/document/{fileName} Löschen eines Dokuments
DELETE /api/v1/agentmemory/documents Massenlöschen von Dokumenten
GET /api/v1/agentmemory/indexer-status Überprüfen des Fortschritts der Indexerstellung

HTTP-Trigger

Methode Pfad Beschreibung
POST /api/v1/httptriggers/create Erstellen eines HTTP-Triggers
GET /api/v1/httptriggers Auflisten von Triggern
POST /api/v1/httptriggers/{triggerId}/execute Ausführen eines Triggers
POST /api/v1/httptriggers/trigger/{triggerId} Öffentlicher Webhook-Endpunkt (keine Authentifizierung erforderlich)

Hooks

Methode Pfad Beschreibung
PUT /api/v2/extendedAgent/hooks/{hookName} Erstellen oder Aktualisieren eines Hooks
GET /api/v2/extendedAgent/hooks Hooks auflisten
DELETE /api/v2/extendedAgent/hooks/{hookName} Löschen eines Hooks

Erweiterte Agent-Konfiguration

Verwalten Sie Subagenten, Tools, Connectors, Fähigkeiten, Eingabeaufforderungen und Plug-Ins über die Datenebene:

Resource Pfadmuster
Subagenten /api/v2/extendedAgent/agents/{name}
Werkzeuge /api/v2/extendedAgent/tools/{name}
Verbinder /api/v2/extendedAgent/connectors/{name}
Fähigkeiten /api/v2/extendedAgent/skills/{name}
Allgemeine Eingabeaufforderungen /api/v2/extendedAgent/commonprompts/{name}
Geplante Vorgänge /api/v2/extendedAgent/scheduledtasks/{name}
Plugins /api/v2/extendedAgent/plugins/{name}

Alle Ressourcen unterstützen PUT, , GET, PATCHund DELETE Methoden.

Echtzeitstreaming

Der Agent verwendet SignalR für echtzeitbasiertes Chatstreaming:

Drehscheibe Pfad Purpose
AgentHub /agentHub Echtzeitnachrichtenstreaming und Threadupdates

Stellen Sie eine Verbindung mithilfe der SignalR-Clientbibliothek mit demselben Bearertoken her.

Examples

Abrufen von Agenteigenschaften

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

Alle Anschlüsse auflisten

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

Threads über datenebene auflisten

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"

Hinzufügen eines Code-Repositorys über die Datenebene

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"
    }
  }'