Microsoft Azure · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Microsoft Azure Assets API

15 actions 15 updates phrasing extends openapi/microsoft-azure-assets-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 15

$.info
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets'].patch
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets/{assetId}'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets/{assetId}/links'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets:export'].post
$.paths['/assets'].get
$.paths['/assets'].post
$.paths['/assets/{assetId}'].get
$.paths['/subscriptions/{subscriptionId}/providers/Microsoft.DeviceRegistry/assets'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].put
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].delete
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].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 Assets API
  version: 1.0.0
extends: openapi/microsoft-azure-assets-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: 14
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: Search attack surface assets in an EASM workspace
      effect: read
      questions:
      - How do I find the discovered assets in my Defender EASM workspace?
      - Can I filter and sort workspace assets, for example by state or last seen?
      - What's the page size limit when listing assets in an EASM workspace?
      instructions:
      - text: List assets in EASM workspace {workspaceName} matching filter {filter}.
        slots:
          workspaceName: path.workspaceName
          filter: query.filter
      - text: Show assets from workspace {workspaceName} ordered by {orderby}.
        slots:
          workspaceName: path.workspaceName
          orderby: query.orderby
      - text: Page through workspace {workspaceName} assets, {maxpagesize} per page, skipping {skip}.
        slots:
          workspaceName: path.workspaceName
          maxpagesize: query.maxpagesize
          skip: query.skip
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets'].patch
  update:
    x-apievangelist-phrasing:
      intent: Relabel workspace assets that match a filter
      effect: write
      questions:
      - Can I apply labels to every asset in my EASM workspace that matches a query?
      - How do I change the state of many attack surface assets at once in a workspace?
      instructions:
      - text: In workspace {workspaceName}, set labels {labels} on assets matching {filter}.
        slots:
          workspaceName: path.workspaceName
          labels: requestBody.labels
          filter: query.filter
      - text: Mark workspace {workspaceName} assets matching {filter} as state {state}.
        slots:
          workspaceName: path.workspaceName
          filter: query.filter
          state: requestBody.state
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets/{assetId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one asset from an EASM workspace
      effect: read
      questions:
      - How can I pull the full record for one asset in my Defender EASM workspace?
      - What details does the workspace return for a single discovered asset?
      instructions:
      - text: Get asset {assetId} from EASM workspace {workspaceName}.
        slots:
          assetId: path.assetId
          workspaceName: path.workspaceName
      - text: Show everything workspace {workspaceName} knows about asset {assetId}.
        slots:
          workspaceName: path.workspaceName
          assetId: path.assetId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets/{assetId}/links'].get
  update:
    x-apievangelist-phrasing:
      intent: Get assets linked to an EASM asset
      effect: read
      questions:
      - Which other assets are linked to a given asset in my attack surface?
      - Can I filter the linked-asset details of one EASM asset?
      instructions:
      - text: List assets linked to {assetId} in workspace {workspaceName}.
        slots:
          assetId: path.assetId
          workspaceName: path.workspaceName
      - text: Show linked assets for {assetId} in workspace {workspaceName} matching {filter}.
        slots:
          assetId: path.assetId
          workspaceName: path.workspaceName
          filter: query.filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets:export'].post
  update:
    x-apievangelist-phrasing:
      intent: Export matching assets to a datasheet in background
      effect: read
      questions:
      - How do I export my EASM assets to a spreadsheet-style datasheet?
      - Does the asset export run as a background task I can check later?
      instructions:
      - text: Export a datasheet of workspace {workspaceName} assets matching {filter}.
        slots:
          workspaceName: path.workspaceName
          filter: query.filter
      - text: Start a background asset export for EASM workspace {workspaceName}.
        slots:
          workspaceName: path.workspaceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: List attack surface assets from the data plane
      effect: read
      questions:
      - Can I query EASM assets directly from the data-plane endpoint without a workspace path?
      - Which search parameters can I use when listing inventory assets on the data plane?
      instructions:
      - text: List data-plane inventory assets matching filter {filter}.
        slots:
          filter: query.filter
      - text: Fetch inventory assets from the data plane sorted by {orderby}, {maxpagesize} per page.
        slots:
          orderby: query.orderby
          maxpagesize: query.maxpagesize
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets'].post
  update:
    x-apievangelist-phrasing:
      intent: Update labels on data-plane assets matching a filter
      effect: write
      questions:
      - How do I bulk-update labels on inventory assets through the data-plane API?
      - Can I transfer or change the state of inventory assets matching a query on the data plane?
      instructions:
      - text: Apply labels {labels} to inventory assets matching {filter} via the data plane.
        slots:
          labels: requestBody.labels
          filter: query.filter
      - text: Set state {state} on every data-plane inventory asset matching {filter}.
        slots:
          state: requestBody.state
          filter: query.filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets/{assetId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an inventory asset by ID from the data plane
      effect: read
      questions:
      - What's the data-plane call to fetch one inventory asset by its asset ID?
      - Can I read a single attack surface asset without naming a workspace?
      instructions:
      - text: Get inventory asset {assetId} from the data plane.
        slots:
          assetId: path.assetId
      - text: Retrieve data-plane asset record {assetId}.
        slots:
          assetId: path.assetId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.DeviceRegistry/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: List Device Registry assets in a subscription
      effect: read
      questions:
      - Which Azure Device Registry assets exist across my whole subscription?
      - Where do I see all industrial asset resources registered in my subscription?
      instructions:
      - text: List all Device Registry assets in my subscription.
      - text: Show every Microsoft.DeviceRegistry asset resource subscription-wide.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: List Device Registry assets in a resource group
      effect: read
      questions:
      - How do I see the Device Registry assets in one resource group?
      - Which asset resources are registered in my current resource group?
      instructions:
      - text: List Device Registry assets in my resource group.
      - text: Show the Microsoft.DeviceRegistry asset resources scoped to this resource group.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a Device Registry asset
      effect: read
      questions:
      - How can I read the definition of one Device Registry asset?
      - What datapoints and events does a registered asset define?
      instructions:
      - text: Get Device Registry asset {assetName}.
        slots:
          assetName: path.assetName
      - text: Show the configuration of registered asset {assetName}.
        slots:
          assetName: path.assetName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace a Device Registry asset
      effect: write
      questions:
      - How do I register a new industrial asset in Azure Device Registry?
      - Which extended location does a Device Registry asset need when I create it?
      instructions:
      - text: Create Device Registry asset {assetName} at extended location {extendedLocation}.
        slots:
          assetName: path.assetName
          extendedLocation: requestBody.extendedLocation
      - text: Replace the definition of registered asset {assetName} with properties {properties}.
        slots:
          assetName: path.assetName
          properties: requestBody.properties
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a Device Registry asset
      effect: destructive
      questions:
      - Can I unregister an asset from Azure Device Registry?
      - What removes a Device Registry asset resource?
      instructions:
      - text: Delete Device Registry asset {assetName}.
        slots:
          assetName: path.assetName
      - text: Unregister asset resource {assetName} from Device Registry.
        slots:
          assetName: path.assetName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceRegistry/assets/{assetName}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a Device Registry asset's tags or properties
      effect: write
      questions:
      - How do I change tags on an existing Device Registry asset?
      - Can I patch only some properties of a registered asset?
      instructions:
      - text: Update tags on Device Registry asset {assetName} to {tags}.
        slots:
          assetName: path.assetName
          tags: requestBody.tags
      - text: Patch properties {properties} on registered asset {assetName}.
        slots:
          properties: requestBody.properties
          assetName: path.assetName
      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-assets-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.