API-referens för Azure SRE-agent

REST API-åtgärder för att hantera och interagera med Azure SRE Agent programmatiskt.

Overview

Azure SRE-agenten tillhandahåller REST-API:er i två lager. Använd kontrollplanet (ARM) för att skapa, konfigurera och ta bort agenter och deras underresurser. Använd dataplanet för körningsåtgärder som chatt, lagringsplatshantering och kunskapsuppladdningar.

Flygplan Bas-URL Auth Använd för
Kontrollplan management.azure.com Standard-Azure RBAC Skapa, uppdatera, ta bort agenter och konfiguration
Dataplanet Slutpunkt per agent azuresre.dev Publik Chatt, lagringsplatser, krokar, kunskap, utlösare

Authentication

Kontrollplan (ARM)

Standard-Azure-autentisering – Azure CLI, tjänstens huvudnamn eller hanterade identitet:

# 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

Dataplanet

Dataplanet kräver en separat token med målgruppen 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

Agentslutpunkten är unik per agent. Den följer mönstret https://{name}--{id}.{hash}.{region}.azuresre.ai och ARM GET-åtgärden returnerar den här slutpunkten i properties.agentEndpoint.

RBAC-roller

Role Beskrivning Scope
SRE-agentadministratör Fullständig kontroll över agentkonfiguration och -åtgärder Resurs för agenter
SRE-agentanvändare Chatta, godkänna åtgärder, hantera trådar Resurs för agenter
SRE-agentläsare Skrivskyddad åtkomst till agentkonfiguration och trådar Resurs för agenter

Tilldela roller med hjälp av Azure-portalen, CLI eller ARM API:

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

Arm-åtgärder (Control Plane)

API-version

2025-05-01-preview

Note

Både kontrollplanets och dataplanets API:er är för närvarande i förhandsversion. Slutpunktssökvägar, begärande- och svarsscheman och beteende kan ändras före allmän tillgänglighet. Fäst dina integreringar i den här API-versionen och testa efter uppgraderingar.

Bas-URL

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

Lägg till sökvägssuffixet från operationstabellen och lägg sedan till ?api-version=2025-05-01-preview som en frågeparameter. Till exempel: .../agents/{agentName}/start?api-version=2025-05-01-preview.

Agentresursåtgärder

Operation Metod Sökvägssuffix
Skapa eller uppdatera PUT (ingen)
Get GET (ingen)
Delete DELETE (ingen)
Start POST /start
Stoppa POST /stop
Hämta användning GET /usages
Hämta daglig användning GET /dailyusages

Agentegenskaper

Fastighet Type Beskrivning
provisioningState string Succeeded, Failed, InProgress, Canceled, Deleting (skrivskyddad)
agentEndpoint string Url för dataplanet (skrivskyddad)
powerState string Running eller Stopped (skrivskyddad)
outboundIpAddresses string[] Utgående IP-adresser för listan över tillåtna (skrivskyddade)
actionConfiguration.mode string Review, Automatic eller ReadOnly
actionConfiguration.accessLevel string Low eller High
defaultModel.provider string Anthropic eller MicrosoftFoundry (Öppna AI)
defaultModel.name string Modellnamn (till exempel Automatic)
upgradeChannel string Stable eller Preview
monthlyAgentUnitLimit number AAU-tak för månatligt aktivt flöde (inkluderar inte alltid-på-flöde)
knowledgeGraphConfiguration.identity string Resurs-ID för hanterad identitet
knowledgeGraphConfiguration.managedResources string[] Resursgrupps-ID:t som agenten kan komma åt
logConfiguration object Application Insights-konfiguration
incidentManagementConfiguration.type string PagerDuty, AzMonitor, ServiceNoweller None
mcpServers string[] MCP-server-URL:er
vnetConfiguration.subnetResourceId string VNet-inmatningsundernät
experimentalSettings object Åsidosättningar av funktionsflagga

Underresurser

Underresurs ARM-typ Sökväg
Anslutningar Microsoft.App/agents/DataConnectors /DataConnectors/{name}
Färdigheter Microsoft.App/agents/skills /skills/{name}
Underagenter Microsoft.App/agents/subagents /subagents/{name}
Tools Microsoft.App/agents/tools /tools/{name}
Schemalagda aktiviteter Microsoft.App/agents/scheduledTasks /scheduledTasks/{name}
Incidentfilter Microsoft.App/agents/incidentFilters /incidentFilters/{name}
Hookar Microsoft.App/agents/hooks /hooks/{name}
Vanliga frågor Microsoft.App/agents/commonPrompts /commonPrompts/{name}

Stöd för alla underresurser PUT (skapa/uppdatera), GEToch DELETE åtgärder.

Brödtextformat för underresurser

Anslutningsappar använder direkta egenskaper:

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

Andra underresurser (kunskaper, underagenter, verktyg och så vidare) använder ett base64-kodat kuvert:

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

Anslutningstyper

Type Value Användningsfall
Azure-datautforskaren Kusto Fråga ADX-kluster
Application Insights Kusto Fråga App Insights
Logganalys Kusto Fråga Log Analytics
MCP Mcp MCP-kompatibla anslutningsappar (Datadog, Splunk osv.)
PagerDuty Mcp PagerDuty-incidenter
ServiceNow Mcp ServiceNow-incidenter
Outlook Outlook E-postaviseringar
Teams Teams Teams kanalmeddelanden

Dataplansåtgärder

Använd dataplanets API för att interagera med en agent som körs, inklusive att skicka meddelanden, hantera godkännanden, ladda upp kunskap och konfigurera lagringsplatser, krokar och utlösare.

Bas-URL

Hämta från ARM:

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

Alla dataplanssökvägar börjar med $ENDPOINT/api/....

Trådar och chatt

Metod Sökväg Beskrivning
GET /api/v1/threads Lista konversationstrådar
GET /api/v1/threads/{threadId} Hämta en specifik tråd
POST /api/v1/threads/{threadId}/messages Skicka ett meddelande (starta en konversation)
GET /api/v1/threads/{threadId}/messages Hämta meddelanden i en tråd

Godkännanden

Metod Sökväg Beskrivning
GET /api/v1/approvals/{threadId} Lista väntande godkännanden
POST /api/v1/approvals/{threadId}/{id}/decision Godkänna eller avvisa en åtgärd

Kodlagringsplatser

Metod Sökväg Beskrivning
PUT /api/v2/repos/{repoName} Lägga till en kodlagringsplats
GET /api/v2/repos Lista lagringsplatser
GET /api/v2/repos/{repoName} Hämta lagringsplatsinformation
DELETE /api/v2/repos/{repoName} Ta bort en lagringsplats
POST /api/v2/repos/{repoName}/test Testa lagringsplatsens anslutning

Kunskap (agentminne)

Metod Sökväg Beskrivning
POST /api/v1/agentmemory/upload Ladda upp dokument (flera delar, max 100 MB totalt, 16 MB per fil)
GET /api/v1/agentmemory/status Kontrollera minnesstatus
DELETE /api/v1/agentmemory/document/{fileName} Ta bort ett dokument
DELETE /api/v1/agentmemory/documents Massborttagningsdokument
GET /api/v1/agentmemory/indexer-status Kontrollera indexerarens förlopp

HTTP-utlösare

Metod Sökväg Beskrivning
POST /api/v1/httptriggers/create Skapa en HTTP-utlösare
GET /api/v1/httptriggers Lista utlösare
POST /api/v1/httptriggers/{triggerId}/execute Köra en utlösare
POST /api/v1/httptriggers/trigger/{triggerId} Offentlig webhook-slutpunkt (ingen autentisering krävs)

Hookar

Metod Sökväg Beskrivning
PUT /api/v2/extendedAgent/hooks/{hookName} Skapa eller uppdatera en krok
GET /api/v2/extendedAgent/hooks Lista krokar
DELETE /api/v2/extendedAgent/hooks/{hookName} Ta bort en krok

Utökad agentkonfiguration

Hantera underagenter, verktyg, anslutningsappar, färdigheter, uppmaningar och plugin-program via dataplanet:

Resource Sökvägsmönster
Underagenter /api/v2/extendedAgent/agents/{name}
Tools /api/v2/extendedAgent/tools/{name}
Anslutningar /api/v2/extendedAgent/connectors/{name}
Färdigheter /api/v2/extendedAgent/skills/{name}
Vanliga frågor /api/v2/extendedAgent/commonprompts/{name}
Schemalagda aktiviteter /api/v2/extendedAgent/scheduledtasks/{name}
Plugins /api/v2/extendedAgent/plugins/{name}

Alla resurser stöder PUTmetoder för , GET, PATCHoch DELETE .

Realtidsströmning

Agenten använder SignalR för chattströmning i realtid:

Nav Sökväg Purpose
AgentHub /agentHub Direktuppspelning av realtidsmeddelanden och tråduppdateringar

Anslut med hjälp av SignalR-klientbiblioteket med samma ägartoken.

Exempel

Hämta agentegenskaper

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

Visa alla anslutningar

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

Visa en lista över trådar via dataplanet

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"

Lägga till en kodlagringsplats via dataplanet

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