API-verwijzing voor Azure SRE-agent

REST API-bewerkingen voor het programmatisch beheren en gebruiken van Azure SRE Agent.

Overview

Azure SRE-agent biedt REST API's op twee lagen. Gebruik het besturingsvlak (ARM) om agents en hun subbronnen te maken, te configureren en te verwijderen. Gebruik het gegevensvlak voor runtimebewerkingen, zoals chat, opslagplaatsbeheer en kennisuploads.

Vliegtuig Basis-URL Auth Gebruiken voor
beheerlaag management.azure.com Standard Azure RBAC Agents en configuratie maken, bijwerken, verwijderen
Gegevensvlak Eindpunt per agent azuresre.dev Publiek Chatten, opslagplaatsen, hooks, kennis, triggers

Authentication

Besturingsvlak (ARM)

Standaardverificatie voor Azure: Azure CLI, service-principal of beheerde identiteit:

# 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

Gegevensvlak

Voor het gegevensvlak is een afzonderlijk token met doelgroep https://azuresre.devvereist:

# 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

Het eindpunt van de agent is uniek per agent. Het volgt het patroon https://{name}--{id}.{hash}.{region}.azuresre.ai en de ARM GET-bewerking retourneert dit eindpunt in properties.agentEndpoint.

RBAC-rollen

Rol Beschrijving Scope
SRE-agentbeheerder Volledige controle over agentconfiguratie en -bewerkingen Agentresource
SRE-agentgebruiker Chatten, acties goedkeuren, threads beheren Agentresource
SRE-agentlezer Alleen-lezentoegang tot agentconfiguratie en -threads Agentresource

Rollen toewijzen met behulp van de Azure-portal, CLI of ARM-API:

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

Arm-bewerkingen (Control Plane)

API-versie

2025-05-01-preview

Note

Zowel de API's van het besturingsvlak als het gegevensvlak zijn momenteel beschikbaar als preview-versie. Eindpuntpaden, aanvraag- en antwoordschema's en gedrag kunnen veranderen vóór algemene beschikbaarheid. Maak uw integraties vast aan deze API-versie en test na upgrades.

Basis-URL

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

Voeg het padachtervoegsel uit de bewerkingstabel toe en voeg ?api-version=2025-05-01-preview deze toe als een queryparameter. Voorbeeld: .../agents/{agentName}/start?api-version=2025-05-01-preview.

Agentresourcebewerkingen

Operatie Methode Padachtervoegsel
Maken of bijwerken PUT (geen)
Get GET (geen)
Delete DELETE (geen)
Starten POST /start
Stoppen POST /stop
Gebruiksgegevens ophalen GET /usages
Dagelijks gebruik ophalen GET /dailyusages

Agenteigenschappen

Property Typ Beschrijving
provisioningState string Succeeded, , FailedInProgress, , Canceled, Deleting (alleen-lezen)
agentEndpoint string URL van gegevensvlak (alleen-lezen)
powerState string Running of Stopped (alleen-lezen)
outboundIpAddresses string[] Uitgaande IP-adressen voor acceptatielijst (alleen-lezen)
actionConfiguration.mode string Review, of AutomaticReadOnly
actionConfiguration.accessLevel string Low of High
defaultModel.provider string Anthropic of MicrosoftFoundry (AI openen)
defaultModel.name string Modelnaam (bijvoorbeeld Automatic)
upgradeChannel string Stable of Preview
monthlyAgentUnitLimit number AAU-limiet voor maandelijkse actieve stroom (bevat geen always-on-stroom)
knowledgeGraphConfiguration.identity string Resource-id van beheerde identiteit
knowledgeGraphConfiguration.managedResources string[] Resourcegroep-id's die de agent kan openen
logConfiguration Object Application Insights-configuratie
incidentManagementConfiguration.type string PagerDuty, AzMonitor, ServiceNow, of None
mcpServers string[] URL's van MCP-server
vnetConfiguration.subnetResourceId string VNet-injectiesubnet
experimentalSettings Object Overschrijvingen van functievlag

Sub-hulpbronnen

Subbron ARM-type Pad
Connectoren Microsoft.App/agents/DataConnectors /DataConnectors/{name}
Vaardigheden Microsoft.App/agents/skills /skills/{name}
Subagenten Microsoft.App/agents/subagents /subagents/{name}
Gereedschappen Microsoft.App/agents/tools /tools/{name}
Geplande taken Microsoft.App/agents/scheduledTasks /scheduledTasks/{name}
Incidentfilters Microsoft.App/agents/incidentFilters /incidentFilters/{name}
Haken Microsoft.App/agents/hooks /hooks/{name}
Algemene prompts Microsoft.App/agents/commonPrompts /commonPrompts/{name}

Alle subresources ondersteunen PUT (maken/bijwerken) GETen DELETE bewerkingen.

Indelingen voor subresourcetekst

Connectors gebruiken directe eigenschappen:

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 subbronnen (vaardigheden, subagenten, hulpprogramma's, enzovoort) gebruiken een met base64 gecodeerde envelop:

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

Verbindingslijntypen

Typ Value Gebruiksituatie
Azure-gegevensverkenner Kusto Query's uitvoeren op ADX-clusters
Application Insights Kusto Query's uitvoeren op App Insights
Log Analytics Kusto Query's uitvoeren op Log Analytics
MCP Mcp MCP-compatibele connectors (Datadog, Splunk, enzovoort)
PagerDuty Mcp PagerDuty-incidenten
ServiceNow Mcp ServiceNow-incidenten
Outlook Outlook E-mailmeldingen
Teams Teams Teams-kanaalmeldingen

Gegevenslaagbewerkingen

Gebruik de gegevensvlak-API om te communiceren met een actieve agent, waaronder het verzenden van berichten, het beheren van goedkeuringen, het uploaden van kennis en het configureren van opslagplaatsen, hooks en triggers.

Basis-URL

Ophalen uit ARM:

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

Alle gegevensvlakpaden beginnen met $ENDPOINT/api/....

Threads en chat

Methode Pad Beschrijving
GET /api/v1/threads Gespreksthreads weergeven
GET /api/v1/threads/{threadId} Een specifieke thread ophalen
POST /api/v1/threads/{threadId}/messages Een bericht verzenden (een gesprek starten)
GET /api/v1/threads/{threadId}/messages Berichten ophalen in een thread

Goedkeuringen

Methode Pad Beschrijving
GET /api/v1/approvals/{threadId} Goedkeuringen in behandeling weergeven
POST /api/v1/approvals/{threadId}/{id}/decision Een actie goedkeuren of afwijzen

Code-opslagplaatsen

Methode Pad Beschrijving
PUT /api/v2/repos/{repoName} Een codeopslagplaats toevoegen
GET /api/v2/repos Opslagplaatsen vermelden
GET /api/v2/repos/{repoName} Details van opslagplaats ophalen
DELETE /api/v2/repos/{repoName} Een opslagplaats verwijderen
POST /api/v2/repos/{repoName}/test Connectiviteit van opslagplaats testen

Kennis (agentgeheugen)

Methode Pad Beschrijving
POST /api/v1/agentmemory/upload Documenten uploaden (totaal van maximaal 100 MB, 16 MB per bestand)
GET /api/v1/agentmemory/status Geheugenstatus controleren
DELETE /api/v1/agentmemory/document/{fileName} Een document verwijderen
DELETE /api/v1/agentmemory/documents Documenten bulksgewijs verwijderen
GET /api/v1/agentmemory/indexer-status Voortgang van de indexeerfunctie controleren

HTTP-triggers

Methode Pad Beschrijving
POST /api/v1/httptriggers/create Een HTTP-trigger maken
GET /api/v1/httptriggers Lijsttriggers
POST /api/v1/httptriggers/{triggerId}/execute Een trigger uitvoeren
POST /api/v1/httptriggers/trigger/{triggerId} Openbaar webhookeindpunt (geen verificatie vereist)

Haken

Methode Pad Beschrijving
PUT /api/v2/extendedAgent/hooks/{hookName} Een hook maken of bijwerken
GET /api/v2/extendedAgent/hooks Lijsthaakjes
DELETE /api/v2/extendedAgent/hooks/{hookName} Een haak verwijderen

Configuratie van uitgebreide agent

Beheer subagents, hulpprogramma's, connectors, vaardigheden, prompts en invoegtoepassingen via het gegevensvlak:

Hulpbron Padpatroon
Subagenten /api/v2/extendedAgent/agents/{name}
Gereedschappen /api/v2/extendedAgent/tools/{name}
Connectoren /api/v2/extendedAgent/connectors/{name}
Vaardigheden /api/v2/extendedAgent/skills/{name}
Algemene prompts /api/v2/extendedAgent/commonprompts/{name}
Geplande taken /api/v2/extendedAgent/scheduledtasks/{name}
Plugins /api/v2/extendedAgent/plugins/{name}

Alle resources ondersteunenPUT, GET, en PATCHDELETE methoden.

Realtime streamen

De agent maakt gebruik van SignalR voor realtime chatstreaming:

Naaf Pad Purpose
AgentHub /agentHub Realtime berichtstreaming en thread-updates

Maak verbinding met behulp van de SignalR-clientbibliotheek met hetzelfde bearer-token.

Examples

Agenteigenschappen ophalen

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 connectors weergeven

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 weergeven via een gegevensvlak

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"

Een codeopslagplaats toevoegen via het gegevensvlak

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