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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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.
All 92 tools →

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.