Microsoft Azure · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Microsoft Azure iotHubClient POST API

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

$.info
$.paths['/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices'].post
$.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover'].post

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 iotHubClient POST API
  version: 1.0.0
extends: openapi/microsoft-azure-post-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: 8
- target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability'].post
  update:
    x-apievangelist-phrasing:
      intent: Check if an IoT hub name is available
      effect: read
      questions:
      - Is the IoT hub name I want still available?
      - Can I check an IoT hub name before trying to create the hub?
      instructions:
      - text: Check whether IoT hub name {name} is available.
        slots:
          name: requestBody.name
      - text: See if {name} can be used as a new IoT hub name in subscription {subscriptionId}.
        slots:
          name: requestBody.name
          subscriptionId: path.subscriptionId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall'].post
  update:
    x-apievangelist-phrasing:
      intent: Test all message routes on an IoT hub
      effect: read
      questions:
      - Which of my IoT hub's routes would a sample message match?
      - Can I test every configured route against a device twin or message?
      instructions:
      - text: Test all routes on IoT hub {iotHubName} in resource group {resourceGroupName} of subscription {subscriptionId}.
        slots:
          subscriptionId: path.subscriptionId
          iotHubName: path.iotHubName
          resourceGroupName: path.resourceGroupName
      - text: Run every route on {iotHubName} against routing source {routingSource}.
        slots:
          iotHubName: path.iotHubName
          routingSource: requestBody.routingSource
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew'].post
  update:
    x-apievangelist-phrasing:
      intent: Test a new route on an IoT hub
      effect: read
      questions:
      - Can I try out a new IoT hub route before saving it?
      - Would a proposed route match my sample message?
      instructions:
      - text: Test the new route {route} on IoT hub {iotHubName} in {resourceGroupName} of subscription {subscriptionId}.
        slots:
          subscriptionId: path.subscriptionId
          route: requestBody.route
          iotHubName: path.iotHubName
          resourceGroupName: path.resourceGroupName
      - text: Check whether route {route} matches a sample message on {iotHubName}.
        slots:
          route: requestBody.route
          iotHubName: path.iotHubName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys'].post
  update:
    x-apievangelist-phrasing:
      intent: List an IoT hub's shared access policies
      effect: read
      questions:
      - Where do I find the security keys and shared access policies for my IoT hub?
      - Can I list all shared access keys on an IoT hub at once?
      instructions:
      - text: List the shared access keys for IoT hub {resourceName} in {resourceGroupName} of subscription {subscriptionId}.
        slots:
          subscriptionId: path.subscriptionId
          resourceName: path.resourceName
          resourceGroupName: path.resourceGroupName
      - text: Show all security metadata for IoT hub {resourceName}.
        slots:
          resourceName: path.resourceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys'].post
  update:
    x-apievangelist-phrasing:
      intent: Get one shared access policy of an IoT hub
      effect: read
      questions:
      - Can I get the keys for just one named shared access policy on my IoT hub?
      - What are the keys for the iothubowner policy?
      instructions:
      - text: Get shared access policy {keyName} for IoT hub {resourceName} in {resourceGroupName} of subscription {subscriptionId}.
        slots:
          subscriptionId: path.subscriptionId
          keyName: path.keyName
          resourceName: path.resourceName
          resourceGroupName: path.resourceGroupName
      - text: Show the keys for policy {keyName} on {resourceName}.
        slots:
          keyName: path.keyName
          resourceName: path.resourceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices'].post
  update:
    x-apievangelist-phrasing:
      intent: Export IoT hub device identities to blob storage
      effect: write
      questions:
      - How do I export all device identities from my IoT hub to a storage container?
      - Can I export devices without including their keys?
      instructions:
      - text: Export device identities from IoT hub {resourceName} in {resourceGroupName}, subscription {subscriptionId}, to {exportBlobContainerUri}.
        slots:
          subscriptionId: path.subscriptionId
          resourceName: path.resourceName
          resourceGroupName: path.resourceGroupName
          exportBlobContainerUri: requestBody.exportBlobContainerUri
      - text: Export devices from {resourceName} to {exportBlobContainerUri} with excludeKeys set to {excludeKeys}.
        slots:
          resourceName: path.resourceName
          exportBlobContainerUri: requestBody.exportBlobContainerUri
          excludeKeys: requestBody.excludeKeys
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices'].post
  update:
    x-apievangelist-phrasing:
      intent: Import device identities into an IoT hub
      effect: write
      questions:
      - Can I bulk import, update or delete IoT hub devices from a blob?
      - Where does the import job write its results?
      instructions:
      - text: Import devices to hub {resourceName} ({resourceGroupName}, sub {subscriptionId}) from {inputBlobContainerUri}, output to {outputBlobContainerUri}.
        slots:
          subscriptionId: path.subscriptionId
          resourceName: path.resourceName
          resourceGroupName: path.resourceGroupName
          inputBlobContainerUri: requestBody.inputBlobContainerUri
          outputBlobContainerUri: requestBody.outputBlobContainerUri
      - text: Bulk load device identities from blob {inputBlobName} into {resourceName}.
        slots:
          inputBlobName: requestBody.inputBlobName
          resourceName: path.resourceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover'].post
  update:
    x-apievangelist-phrasing:
      intent: Fail an IoT hub over to its secondary region
      effect: destructive
      questions:
      - How do I manually fail over my IoT hub to its secondary region?
      - Can I trigger an IoT hub failover during a regional outage?
      instructions:
      - text: Fail over IoT hub {iotHubName} in {resourceGroupName} of subscription {subscriptionId} to region {failoverRegion}.
        slots:
          subscriptionId: path.subscriptionId
          iotHubName: path.iotHubName
          resourceGroupName: path.resourceGroupName
          failoverRegion: requestBody.failoverRegion
      - text: Start a manual failover of {iotHubName} to {failoverRegion}.
        slots:
          iotHubName: path.iotHubName
          failoverRegion: requestBody.failoverRegion
      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-post-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.