Microsoft Azure · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Microsoft Azure Reports API

15 actions 15 updates phrasing extends openapi/microsoft-azure-reports-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['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user'].get
$.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/riskyIp/blobUris'].get
$.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/riskyIp/generateBlobUri'].post
$.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/ipAddressAggregates'].get
$.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/ipAddressAggregateSettings'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports/{reportName}'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/reports/assets:snapshot'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/reports/assets:summarize'].post
$.paths['/reports/assets:getBillable'].post
$.paths['/reports/assets:getSnapshot'].post
$.paths['/reports/assets:getSummary'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard'].get
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries'].get

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 Reports API
  version: 1.0.0
extends: openapi/microsoft-azure-reports-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['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user bad-password login attempt report
      effect: read
      questions:
      - Which users had bad password login attempts on my AD FS service?
      - Can I pull the bad password report from test data instead of customer data?
      instructions:
      - text: Get the bad password attempt report per user for service {service}.
        slots:
          service: path.serviceName
      - text: Show user bad password details for {service} using data source {source}.
        slots:
          service: path.serviceName
          source: query.dataSource
      method: generated
      generated: '2026-09-26'
- target: $.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/riskyIp/blobUris'].get
  update:
    x-apievangelist-phrasing:
      intent: List risky IP report download links
      effect: read
      questions:
      - Where can I download the Risky IP reports from the last 7 days?
      - Can I get links to all recent Risky IP reports for my AD Hybrid Health service?
      instructions:
      - text: List the Risky IP report download URIs for service {service}.
        slots:
          service: path.serviceName
      - text: Give me every Risky IP report blob link from the past week for {service}.
        slots:
          service: path.serviceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/riskyIp/generateBlobUri'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a new risky IP report
      effect: write
      questions:
      - How do I kick off a fresh Risky IP report for my service?
      - Does generating a new Risky IP report return a download URI?
      instructions:
      - text: Generate a new Risky IP report for service {service}.
        slots:
          service: path.serviceName
      - text: Start a fresh Risky IP report on {service} and return its URI.
        slots:
          service: path.serviceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/ipAddressAggregates'].get
  update:
    x-apievangelist-phrasing:
      intent: List IP address aggregates for a service
      effect: read
      questions:
      - What IP address aggregates has Azure AD Connect Health recorded for my service?
      - Can I page through IP address aggregates with a continuation token?
      instructions:
      - text: List IP address aggregates for service {service}.
        slots:
          service: path.serviceName
      - text: Get the next page of IP address aggregates for {service} using token {token}.
        slots:
          service: path.serviceName
          token: query.skiptoken
      method: generated
      generated: '2026-09-26'
- target: $.paths['/providers/Microsoft.ADHybridHealthService/services/{serviceName}/ipAddressAggregateSettings'].get
  update:
    x-apievangelist-phrasing:
      intent: Get IP address aggregate settings
      effect: read
      questions:
      - What thresholds are configured for IP address aggregation on my service?
      - Where do I check the IP address aggregate settings for AD Hybrid Health?
      instructions:
      - text: Show the IP address aggregate settings for service {service}.
        slots:
          service: path.serviceName
      - text: Get the IP aggregation threshold settings on {service}.
        slots:
          service: path.serviceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports/{reportName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an Automanage configuration run report
      effect: read
      questions:
      - What did a specific Automanage configuration profile run report for my VM?
      - Can I open one report from a configuration profile assignment?
      instructions:
      - text: Get report {report} for assignment {assignment} on VM {vm}.
        slots:
          report: path.reportName
          assignment: path.configurationProfileAssignmentName
          vm: path.vmName
      - text: Show Automanage run report {report} of assignment {assignment} for virtual machine {vm}.
        slots:
          report: path.reportName
          assignment: path.configurationProfileAssignmentName
          vm: path.vmName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports'].get
  update:
    x-apievangelist-phrasing:
      intent: List Automanage configuration run reports
      effect: read
      questions:
      - What Automanage reports exist for a VM's configuration profile assignment?
      - How can I see the history of Automanage runs on a virtual machine?
      instructions:
      - text: List reports for configuration profile assignment {assignment} on VM {vm}.
        slots:
          assignment: path.configurationProfileAssignmentName
          vm: path.vmName
      - text: Show all Automanage run reports on virtual machine {vm} for assignment {assignment}.
        slots:
          assignment: path.configurationProfileAssignmentName
          vm: path.vmName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/reports/assets:snapshot'].post
  update:
    x-apievangelist-phrasing:
      intent: Snapshot asset metrics in an EASM workspace
      effect: read
      questions:
      - Can I get the latest asset snapshot for a metric in my Defender EASM workspace?
      - Which assets make up a metric right now in a given attack surface workspace?
      instructions:
      - text: Get the latest asset snapshot for metric {metric} in workspace {workspace}.
        slots:
          metric: requestBody.metric
          workspace: path.workspaceName
      - text: Show page {page} of the {metric} asset snapshot for workspace {workspace}.
        slots:
          page: requestBody.page
          metric: requestBody.metric
          workspace: path.workspaceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/reports/assets:summarize'].post
  update:
    x-apievangelist-phrasing:
      intent: Summarize assets in an EASM workspace
      effect: read
      questions:
      - How do I get an asset summary grouped by a facet for my Defender EASM workspace?
      - Can I summarize workspace assets by metric category?
      instructions:
      - text: Summarize assets in workspace {workspace} for metric categories {categories}.
        slots:
          workspace: path.workspaceName
          categories: requestBody.metricCategories
      - text: Summarize workspace {workspace} assets grouped by {groupBy}.
        slots:
          workspace: path.workspaceName
          groupBy: requestBody.groupBy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reports/assets:getBillable'].post
  update:
    x-apievangelist-phrasing:
      intent: Get billable asset summary
      effect: read
      questions:
      - How many billable assets does my attack surface workspace have?
      - Where do I see the billable asset count for Defender EASM?
      instructions:
      - text: Get the billable assets summary for my workspace.
      - text: Show billable asset totals using API version {version}.
        slots:
          version: query.api-version
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reports/assets:getSnapshot'].post
  update:
    x-apievangelist-phrasing:
      intent: Get latest asset snapshot via data plane
      effect: read
      questions:
      - Can I pull the most recent asset snapshot for a metric from the EASM data-plane endpoint?
      - What assets sit behind a risk metric in the data-plane reports?
      instructions:
      - text: Get the data-plane asset snapshot for metric {metric}.
        slots:
          metric: requestBody.metric
      - text: Fetch page {page} of the data-plane snapshot for {metric}, {size} assets per page.
        slots:
          page: requestBody.page
          metric: requestBody.metric
          size: requestBody.size
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reports/assets:getSummary'].post
  update:
    x-apievangelist-phrasing:
      intent: Get asset summary via data plane
      effect: read
      questions:
      - Can I get risk reporting summaries by metric from the EASM data-plane endpoint?
      - How do I filter a data-plane asset summary?
      instructions:
      - text: Get the data-plane asset summary for metrics {metrics}.
        slots:
          metrics: requestBody.metrics
      - text: Summarize data-plane assets with filters {filters} segmented by {segmentBy}.
        slots:
          filters: requestBody.filters
          segmentBy: requestBody.segmentBy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a network experiment latency scorecard
      effect: read
      questions:
      - How did endpoint latency compare in my Front Door network experiment?
      - Can I get a latency scorecard for one country only?
      instructions:
      - text: Get the latency scorecard for experiment {experiment} in profile {profile}, group {group}, interval {interval}.
        slots:
          experiment: path.experimentName
          profile: path.profileName
          group: path.resourceGroupName
          interval: query.aggregationInterval
      - text: Show {country} latency scorecard for experiment {experiment} in profile {profile}, group {group}, interval {interval}.
        slots:
          country: query.country
          experiment: path.experimentName
          profile: path.profileName
          group: path.resourceGroupName
          interval: query.aggregationInterval
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a network experiment timeseries
      effect: read
      questions:
      - Can I chart latency or measurement counts over time for a network experiment?
      - What timeseries types can I pull for a specific experiment endpoint?
      instructions:
      - text: Get the {type} timeseries for experiment {experiment} in profile {profile}, group {group} from {start} to {end} at {interval}.
        slots:
          type: query.timeseriesType
          experiment: path.experimentName
          profile: path.profileName
          group: path.resourceGroupName
          start: query.startDateTimeUTC
          end: query.endDateTimeUTC
          interval: query.aggregationInterval
      - text: Show experiment {experiment} timeseries for endpoint {endpoint} (profile {profile}, group {group}).
        slots:
          experiment: path.experimentName
          endpoint: query.endpoint
          profile: path.profileName
          group: path.resourceGroupName
      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-reports-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.