Microsoft Azure · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Microsoft Azure Resources API
17 actions
17 updates
phrasing
extends
openapi/microsoft-azure-resources-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Microsoft Azure's API. It is a proposal applied on top of the contract, not a document Microsoft Azure publishes.
What the actions change
x-apievangelist-phrasing
Targets 17 · first 16 shown; the file carries all of them
$.info
$.paths['/providers/Microsoft.ResourceGraph/resources'].post
$.paths['/subscriptions/{subscriptionId}/resources'].get
$.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/resources'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources'].post
$.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].get
$.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].put
$.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].delete
$.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].patch
$.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].head
$.paths['/{resourceId}'].get
$.paths['/{resourceId}'].put
$.paths['/{resourceId}'].delete
$.paths['/{resourceId}'].patch
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Microsoft Azure Resources API
version: 1.0.0
extends: openapi/microsoft-azure-resources-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 16
- target: $.paths['/providers/Microsoft.ResourceGraph/resources'].post
update:
x-apievangelist-phrasing:
intent: Query resources with Resource Graph
effect: read
questions:
- How do I run a Kusto-style query across all my Azure resources?
- Can I query resources across several subscriptions or management groups at once?
- Can a Resource Graph query return facets alongside the results?
instructions:
- text: Run the Resource Graph query {query} across my subscriptions.
slots:
query: requestBody.query
- text: Query {query} against subscriptions {subscriptions} in Resource Graph.
slots:
query: requestBody.query
subscriptions: requestBody.subscriptions
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resources'].get
update:
x-apievangelist-phrasing:
intent: List all resources in a subscription
effect: read
questions:
- What resources exist across my whole Azure subscription?
- Can I filter the subscription's resource list by type or tag?
instructions:
- text: List every resource in subscription {subscriptionId}.
slots:
subscriptionId: path.subscriptionId
- text: List subscription resources matching {filter}, top {top}.
slots:
filter: query.$filter
top: query.$top
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/resources'].get
update:
x-apievangelist-phrasing:
intent: List resources in a resource group
effect: read
questions:
- Which resources are inside a particular resource group?
- Can I narrow a resource group's contents with a filter?
instructions:
- text: List the resources in resource group {resourceGroupName} of subscription {subscriptionId}.
slots:
resourceGroupName: path.resourceGroupName
subscriptionId: path.subscriptionId
- text: Show resources in group {resourceGroupName} matching {filter}.
slots:
resourceGroupName: path.resourceGroupName
filter: query.$filter
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}'].get
update:
x-apievangelist-phrasing:
intent: Check a backup vault operation result
effect: read
questions:
- Did the long-running operation on my Data Protection backup vault finish?
- Where can I poll the result of an async backup vault operation?
instructions:
- text: Get the result of operation {operationId} on backup vault {vaultName}.
slots:
operationId: path.operationId
vaultName: path.vaultName
- text: Check whether backup vault {vaultName} operation {operationId} has completed.
slots:
vaultName: path.vaultName
operationId: path.operationId
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'].post
update:
x-apievangelist-phrasing:
intent: Move resources to another resource group
effect: write
questions:
- How do I move resources from one resource group to another?
- Can the target resource group be in a different subscription when moving resources?
instructions:
- text: Move resources {resources} from group {sourceResourceGroupName} to {targetResourceGroup}.
slots:
resources: requestBody.resources
sourceResourceGroupName: path.sourceResourceGroupName
targetResourceGroup: requestBody.targetResourceGroup
- text: Relocate everything listed in {resources} out of {sourceResourceGroupName} in subscription {subscriptionId}.
slots:
resources: requestBody.resources
sourceResourceGroupName: path.sourceResourceGroupName
subscriptionId: path.subscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources'].post
update:
x-apievangelist-phrasing:
intent: Check whether resources can be moved
effect: read
questions:
- Before I move resources, can I check that the move will succeed?
- Is there a dry run for moving resources between resource groups?
instructions:
- text: Validate moving {resources} from {sourceResourceGroupName} to {targetResourceGroup} without moving them.
slots:
resources: requestBody.resources
sourceResourceGroupName: path.sourceResourceGroupName
targetResourceGroup: requestBody.targetResourceGroup
- text: Dry-run a resource move out of group {sourceResourceGroupName} in subscription {subscriptionId}.
slots:
sourceResourceGroupName: path.sourceResourceGroupName
subscriptionId: path.subscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].get
update:
x-apievangelist-phrasing:
intent: Get a resource by provider, type and name
effect: read
questions:
- How do I fetch any Azure resource when I know its provider namespace, type and name?
- Can I read a generic resource without using its full resource ID?
instructions:
- text: Get {resourceType} {resourceName} from provider {resourceProviderNamespace} under {parentResourcePath} in group {resourceGroupName}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceProviderNamespace: path.resourceProviderNamespace
parentResourcePath: path.parentResourcePath
resourceGroupName: path.resourceGroupName
- text: Show the {resourceType} named {resourceName} in resource group {resourceGroupName} of subscription {subscriptionId}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceGroupName: path.resourceGroupName
subscriptionId: path.subscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].put
update:
x-apievangelist-phrasing:
intent: Create a resource by provider, type and name
effect: write
questions:
- Can I create any kind of Azure resource generically by naming its provider and type?
- How do I deploy a resource into a resource group without its resource ID?
instructions:
- text: Create {resourceType} {resourceName} in {location} under provider {resourceProviderNamespace}, parent {parentResourcePath}, group {resourceGroupName}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
location: requestBody.location
resourceProviderNamespace: path.resourceProviderNamespace
parentResourcePath: path.parentResourcePath
resourceGroupName: path.resourceGroupName
- text: Create or replace the {resourceType} named {resourceName} in group {resourceGroupName} of subscription {subscriptionId} with properties {properties}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceGroupName: path.resourceGroupName
properties: requestBody.properties
subscriptionId: path.subscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a resource by provider, type and name
effect: destructive
questions:
- How do I delete a resource when I know its type and name but not its ID?
- Can I remove any generic Azure resource from a resource group?
instructions:
- text: Delete {resourceType} {resourceName} of provider {resourceProviderNamespace} under {parentResourcePath} in group {resourceGroupName}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceProviderNamespace: path.resourceProviderNamespace
parentResourcePath: path.parentResourcePath
resourceGroupName: path.resourceGroupName
- text: Remove the {resourceType} called {resourceName} from resource group {resourceGroupName} of subscription {subscriptionId}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceGroupName: path.resourceGroupName
subscriptionId: path.subscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].patch
update:
x-apievangelist-phrasing:
intent: Update a resource by provider, type and name
effect: write
questions:
- Can I patch tags or SKU on a resource identified by its type and name?
- What's the way to partially update a generic resource inside a resource group?
instructions:
- text: Update tags on {resourceType} {resourceName} (provider {resourceProviderNamespace}, parent {parentResourcePath}, group {resourceGroupName}) to {tags}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceProviderNamespace: path.resourceProviderNamespace
parentResourcePath: path.parentResourcePath
resourceGroupName: path.resourceGroupName
tags: requestBody.tags
- text: Patch the sku of {resourceType} {resourceName} in group {resourceGroupName} of subscription {subscriptionId} to {sku}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceGroupName: path.resourceGroupName
sku: requestBody.sku
subscriptionId: path.subscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].head
update:
x-apievangelist-phrasing:
intent: Check a resource exists by type and name
effect: read
questions:
- Is there a quick way to tell whether a named resource exists in a resource group?
- Can I check a resource exists by its provider and type without downloading it?
instructions:
- text: Check whether {resourceType} {resourceName} exists under {resourceProviderNamespace}/{parentResourcePath} in group {resourceGroupName}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceProviderNamespace: path.resourceProviderNamespace
parentResourcePath: path.parentResourcePath
resourceGroupName: path.resourceGroupName
- text: Tell me if a {resourceType} named {resourceName} is in resource group {resourceGroupName} of subscription {subscriptionId}.
slots:
resourceType: path.resourceType
resourceName: path.resourceName
resourceGroupName: path.resourceGroupName
subscriptionId: path.subscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/{resourceId}'].get
update:
x-apievangelist-phrasing:
intent: Get a resource by its full ID
effect: read
questions:
- I have a full Azure resource ID — how do I fetch that resource?
- Can I read any resource just from its fully qualified ID?
instructions:
- text: Get the resource with ID {resourceId}.
slots:
resourceId: path.resourceId
- text: Look up resource {resourceId} by its full ID.
slots:
resourceId: path.resourceId
method: generated
generated: '2026-09-26'
- target: $.paths['/{resourceId}'].put
update:
x-apievangelist-phrasing:
intent: Create a resource by its full ID
effect: write
questions:
- Can I create or replace a resource by PUTting to its full resource ID?
- Which fields can I set when creating a resource by ID?
instructions:
- text: Create the resource with ID {resourceId} in {location}.
slots:
resourceId: path.resourceId
location: requestBody.location
- text: Create or replace resource {resourceId} by ID with properties {properties}.
slots:
resourceId: path.resourceId
properties: requestBody.properties
method: generated
generated: '2026-09-26'
- target: $.paths['/{resourceId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a resource by its full ID
effect: destructive
questions:
- How do I delete a resource if all I have is its resource ID?
- Can I remove any resource by its fully qualified ID?
instructions:
- text: Delete the resource with ID {resourceId}.
slots:
resourceId: path.resourceId
- text: Remove resource {resourceId} by its full ID.
slots:
resourceId: path.resourceId
method: generated
generated: '2026-09-26'
- target: $.paths['/{resourceId}'].patch
update:
x-apievangelist-phrasing:
intent: Update a resource by its full ID
effect: write
questions:
- Can I patch a resource's tags using only its resource ID?
- What's the way to partially update a resource addressed by ID?
instructions:
- text: Update the tags on resource ID {resourceId} to {tags}.
slots:
resourceId: path.resourceId
tags: requestBody.tags
- text: Patch resource {resourceId} by ID with sku {sku}.
slots:
resourceId: path.resourceId
sku: requestBody.sku
method: generated
generated: '2026-09-26'
- target: $.paths['/{resourceId}'].head
update:
x-apievangelist-phrasing:
intent: Check a resource exists by its full ID
effect: read
questions:
- Does a resource with this exact resource ID exist?
- Why might an existence check by ID fail for some resource providers?
instructions:
- text: Check whether resource ID {resourceId} exists.
slots:
resourceId: path.resourceId
- text: Confirm that {resourceId} is a real resource by ID without fetching it.
slots:
resourceId: path.resourceId
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/microsoft-azure-resources-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.