Microsoft Azure · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Microsoft Azure Devices API
94 actions
94 updates
phrasing
extends
openapi/microsoft-azure-devices-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 94 · first 16 shown; the file carries all of them
$.info
$.paths['/sensor-partners/{sensorPartnerId}/devices'].get
$.paths['/sensor-partners/{sensorPartnerId}/devices/{deviceId}'].get
$.paths['/sensor-partners/{sensorPartnerId}/devices/{deviceId}'].delete
$.paths['/sensor-partners/{sensorPartnerId}/devices/{deviceId}'].patch
$.paths['/devices'].get
$.paths['/devices/{deviceId}'].get
$.paths['/devices/{deviceId}'].put
$.paths['/devices/{deviceId}'].delete
$.paths['/devices/{deviceId}'].patch
$.paths['/devices/{deviceId}/applyDeploymentManifest'].post
$.paths['/devices/{deviceId}/attestation'].get
$.paths['/devices/{deviceId}/attestation'].put
$.paths['/devices/{deviceId}/attestation'].delete
$.paths['/devices/{deviceId}/attestation'].patch
$.paths['/devices/{deviceId}/commands/{commandName}'].get
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 Devices API
version: 1.0.0
extends: openapi/microsoft-azure-devices-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: 93
- target: $.paths['/sensor-partners/{sensorPartnerId}/devices'].get
update:
x-apievangelist-phrasing:
intent: List a sensor partner's farm devices
effect: read
questions:
- Which field sensor devices are registered under a sensor partner in Data Manager for Agriculture?
- Can I filter a sensor partner's devices by status, parent device or device data model?
- How do I find farm devices created or modified within a date range?
instructions:
- text: List devices for sensor partner {partner}.
slots:
partner: path.sensorPartnerId
- text: Show sensor partner {partner}'s devices with status {statuses}.
slots:
partner: path.sensorPartnerId
statuses: query.statuses
- text: List devices under partner {partner} whose parent device is {parent}.
slots:
partner: path.sensorPartnerId
parent: query.parentDeviceIds
method: generated
generated: '2026-09-26'
- target: $.paths['/sensor-partners/{sensorPartnerId}/devices/{deviceId}'].get
update:
x-apievangelist-phrasing:
intent: Get a sensor partner's farm device
effect: read
questions:
- How do I look up one agriculture sensor device by its ID?
- What hardware ID and reporting interval does a sensor partner device have?
instructions:
- text: Get device {device} of sensor partner {partner}.
slots:
device: path.deviceId
partner: path.sensorPartnerId
- text: Show the reporting interval and location of farm device {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/sensor-partners/{sensorPartnerId}/devices/{deviceId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a sensor partner's farm device
effect: destructive
questions:
- How do I remove a retired field sensor device from a sensor partner?
- Can I delete an agriculture device entity by its ID?
instructions:
- text: Delete device {device} from sensor partner {partner}.
slots:
device: path.deviceId
partner: path.sensorPartnerId
- text: Remove the farm sensor device {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/sensor-partners/{sensorPartnerId}/devices/{deviceId}'].patch
update:
x-apievangelist-phrasing:
intent: Create or update a sensor partner's farm device
effect: write
questions:
- How do I register a new field sensor device under a sensor partner?
- Can I set a device's hardware ID, data model and reporting interval in Data Manager for Agriculture?
instructions:
- text: Create farm device {device} for partner {partner} using data model {model}.
slots:
device: path.deviceId
partner: path.sensorPartnerId
model: requestBody.deviceDataModelId
- text: Set the reporting interval of agriculture device {device} to {seconds} seconds.
slots:
device: path.deviceId
seconds: requestBody.reportingIntervalInSeconds
- text: Register hardware {hardware} as device {device} under sensor partner {partner}.
slots:
hardware: requestBody.hardwareId
device: path.deviceId
partner: path.sensorPartnerId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices'].get
update:
x-apievangelist-phrasing:
intent: List devices in an IoT Central app
effect: read
questions:
- What devices are connected to my IoT Central application?
- Can I filter and sort the IoT Central device list with OData options?
instructions:
- text: List all devices in my IoT Central application.
- text: List IoT Central devices matching {filter} ordered by {orderby}.
slots:
filter: query.filter
orderby: query.orderby
- text: Show up to {max} IoT Central devices.
slots:
max: query.maxpagesize
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}'].get
update:
x-apievangelist-phrasing:
intent: Get an IoT Central device
effect: read
questions:
- How do I see the template, enabled flag and provisioning state of one IoT Central device?
- Is a given IoT Central device simulated or real?
instructions:
- text: Get IoT Central device {device}.
slots:
device: path.deviceId
- text: Show whether device {device} is provisioned and enabled.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}'].put
update:
x-apievangelist-phrasing:
intent: Create or replace an IoT Central device
effect: write
questions:
- How do I add a new device to my IoT Central application?
- Can I create a simulated device with a specific device template?
instructions:
- text: Create IoT Central device {device} named {name} using template {template}.
slots:
device: path.deviceId
name: requestBody.displayName
template: requestBody.template
- text: Add simulated device {device} to the application.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an IoT Central device
effect: destructive
questions:
- How do I remove a device from my IoT Central application?
- Can I delete an IoT Central device by ID?
instructions:
- text: Delete IoT Central device {device}.
slots:
device: path.deviceId
- text: Remove device {device} from the IoT Central app.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}'].patch
update:
x-apievangelist-phrasing:
intent: Update an IoT Central device
effect: write
questions:
- Can I disable or rename an existing IoT Central device without recreating it?
- How do I make a partial update to an IoT Central device only if its etag still matches?
instructions:
- text: Patch IoT Central device {device}.
slots:
device: path.deviceId
- text: Update device {device} only if its etag matches {etag}.
slots:
device: path.deviceId
etag: header.If-Match
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/applyDeploymentManifest'].post
update:
x-apievangelist-phrasing:
intent: Apply a deployment manifest to an edge device
effect: write
questions:
- How do I push an IoT Edge deployment manifest to a device in IoT Central?
- Can I change which modules an edge device runs by applying a manifest?
instructions:
- text: Apply deployment manifest {manifest} to edge device {device}.
slots:
manifest: requestBody.data
device: path.deviceId
- text: Deploy the module configuration {manifest} to IoT Edge device {device}.
slots:
manifest: requestBody.data
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/attestation'].get
update:
x-apievangelist-phrasing:
intent: Get a device's individual attestation
effect: read
questions:
- Which attestation mechanism does a specific IoT Central device use?
- How do I view the individual enrollment attestation of a device?
instructions:
- text: Get the attestation for device {device}.
slots:
device: path.deviceId
- text: Show how device {device} authenticates when provisioning.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/attestation'].put
update:
x-apievangelist-phrasing:
intent: Create an individual device attestation
effect: write
questions:
- How do I give one IoT Central device its own X.509 or symmetric key attestation?
- Can I set up an individual enrollment for a device instead of a group one?
instructions:
- text: Create a {type} attestation for device {device}.
slots:
type: requestBody.type
device: path.deviceId
- text: Set up individual enrollment attestation on device {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/attestation'].delete
update:
x-apievangelist-phrasing:
intent: Remove a device's individual attestation
effect: destructive
questions:
- How do I delete the individual attestation from an IoT Central device?
- Can a device go back to group enrollment after removing its own attestation?
instructions:
- text: Remove the individual attestation from device {device}.
slots:
device: path.deviceId
- text: Delete device {device}'s enrollment credentials.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/attestation'].patch
update:
x-apievangelist-phrasing:
intent: Update a device's individual attestation
effect: write
questions:
- Can I rotate or modify the individual attestation already set on a device?
- How do I patch an existing device attestation in IoT Central?
instructions:
- text: Patch the existing attestation of device {device}.
slots:
device: path.deviceId
- text: Update individual attestation keys for device {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/commands/{commandName}'].get
update:
x-apievangelist-phrasing:
intent: Get a device command's history
effect: read
questions:
- How do I see past runs and responses of a command sent to a device?
- Did the last reboot command on my IoT Central device succeed?
instructions:
- text: Pull the device-level run log for {command} on {device}.
slots:
command: path.commandName
device: path.deviceId
- text: Show past executions of {command} for device {device}.
slots:
command: path.commandName
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/commands/{commandName}'].post
update:
x-apievangelist-phrasing:
intent: Run a command on a device
effect: write
questions:
- How do I send a direct command to an IoT Central device?
- Can I set connection and response timeouts when running a device command?
instructions:
- text: Run command {command} on device {device}.
slots:
command: path.commandName
device: path.deviceId
- text: Send {command} to device {device} with payload {request}.
slots:
command: path.commandName
device: path.deviceId
request: requestBody.request
- text: Execute {command} on {device} with a {timeout}-second response timeout.
slots:
command: path.commandName
device: path.deviceId
timeout: requestBody.responseTimeout
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/components'].get
update:
x-apievangelist-phrasing:
intent: List a device's components
effect: read
questions:
- Which components does an IoT Central device expose?
- What are the component names defined on a device's model?
instructions:
- text: List the components on device {device}.
slots:
device: path.deviceId
- text: Show every component present on {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/components/{componentName}/commands/{commandName}'].get
update:
x-apievangelist-phrasing:
intent: Get a component command's history
effect: read
questions:
- How do I check previous runs of a command on a specific device component?
- What did a component-level command return last time it ran?
instructions:
- text: Get the history of command {command} on component {component} of device {device}.
slots:
command: path.commandName
component: path.componentName
device: path.deviceId
- text: Show past {command} results for component {component}.
slots:
command: path.commandName
component: path.componentName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/components/{componentName}/commands/{commandName}'].post
update:
x-apievangelist-phrasing:
intent: Run a command on a device component
effect: write
questions:
- How do I invoke a command defined on one component of a device?
- Can I run a component command with a custom request payload?
instructions:
- text: Run command {command} on component {component} of device {device}.
slots:
command: path.commandName
component: path.componentName
device: path.deviceId
- text: Call {command} on the {component} component of {device}, sending {request}.
slots:
command: path.commandName
device: path.deviceId
component: path.componentName
request: requestBody.request
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/components/{componentName}/properties'].get
update:
x-apievangelist-phrasing:
intent: Get a device component's properties
effect: read
questions:
- What property values does one component of my device currently report?
- Can I include unmodeled properties when reading a component's properties?
instructions:
- text: Get the properties of component {component} on device {device}.
slots:
component: path.componentName
device: path.deviceId
- text: Show component {component}'s properties on {device}, including unmodeled ones.
slots:
component: path.componentName
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/components/{componentName}/properties'].put
update:
x-apievangelist-phrasing:
intent: Replace a device component's properties
effect: write
questions:
- How do I overwrite every writable property on a device component at once?
- Can I replace all of a component's property values in one call?
instructions:
- text: Replace all properties of component {component} on device {device}.
slots:
component: path.componentName
device: path.deviceId
- text: Overwrite the full property set of {component} for {device}.
slots:
component: path.componentName
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/components/{componentName}/properties'].patch
update:
x-apievangelist-phrasing:
intent: Update some device component properties
effect: write
questions:
- Can I change a single writable property on a device component without touching the rest?
- How do I partially update a component's properties?
instructions:
- text: Patch selected properties of component {component} on device {device}.
slots:
component: path.componentName
device: path.deviceId
- text: Change one setting in the {component} component of {device}.
slots:
component: path.componentName
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/components/{componentName}/telemetry/{telemetryName}'].get
update:
x-apievangelist-phrasing:
intent: Get last telemetry value from a component
effect: read
questions:
- What was the most recent temperature reading from a device component?
- How do I read the latest telemetry value a specific component sent?
instructions:
- text: Get the last {telemetry} value from component {component} of device {device}.
slots:
telemetry: path.telemetryName
component: path.componentName
device: path.deviceId
- text: Show component {component}'s latest {telemetry} reading.
slots:
component: path.componentName
telemetry: path.telemetryName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/credentials'].get
update:
x-apievangelist-phrasing:
intent: Get a device's connection credentials
effect: read
questions:
- How do I get the keys or certificates a device uses to connect to IoT Central?
- Where do I find the ID scope and credentials for provisioning a device?
instructions:
- text: Get the connection credentials for device {device}.
slots:
device: path.deviceId
- text: Show the provisioning keys of {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules'].get
update:
x-apievangelist-phrasing:
intent: List modules on an edge device
effect: read
questions:
- Which IoT Edge modules are running on a device?
- What modules does my IoT Central edge device contain?
instructions:
- text: List the modules on device {device}.
slots:
device: path.deviceId
- text: Show all edge modules present on {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/commands/{commandName}'].get
update:
x-apievangelist-phrasing:
intent: Get a module command's history
effect: read
questions:
- How do I review previous runs of a command sent to an edge module?
- What response did an IoT Edge module give to its last command?
instructions:
- text: Get the history of command {command} on module {module} of device {device}.
slots:
command: path.commandName
module: path.moduleName
device: path.deviceId
- text: Show past {command} runs on module {module}.
slots:
command: path.commandName
module: path.moduleName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/commands/{commandName}'].post
update:
x-apievangelist-phrasing:
intent: Run a command on an edge module
effect: write
questions:
- How do I send a command to an IoT Edge module on a device?
- Can I call a module's command with a response timeout?
instructions:
- text: Run command {command} on module {module} of device {device}.
slots:
command: path.commandName
module: path.moduleName
device: path.deviceId
- text: Send {command} to edge module {module} with payload {request}.
slots:
command: path.commandName
module: path.moduleName
request: requestBody.request
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/components'].get
update:
x-apievangelist-phrasing:
intent: List components inside an edge module
effect: read
questions:
- Which components does an IoT Edge module on my device define?
- What are the component names within a device's module?
instructions:
- text: List the components in module {module} of device {device}.
slots:
module: path.moduleName
device: path.deviceId
- text: Show module {module}'s components.
slots:
module: path.moduleName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/components/{componentName}/commands/{commandName}'].get
update:
x-apievangelist-phrasing:
intent: Get a module component command's history
effect: read
questions:
- How do I see past results of a command on a component inside an edge module?
- Did a command on a module's component succeed previously?
instructions:
- text: Get history of {command} on component {component} in module {module} of device {device}.
slots:
command: path.commandName
component: path.componentName
module: path.moduleName
device: path.deviceId
- text: Show earlier runs of {command} for module {module}'s {component} component.
slots:
command: path.commandName
module: path.moduleName
component: path.componentName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/components/{componentName}/commands/{commandName}'].post
update:
x-apievangelist-phrasing:
intent: Run a command on a module component
effect: write
questions:
- How do I invoke a command on a component that lives inside an edge module?
- Can I target one component of an IoT Edge module with a command?
instructions:
- text: Run {command} on component {component} of module {module} on device {device}.
slots:
command: path.commandName
component: path.componentName
module: path.moduleName
device: path.deviceId
- text: Invoke {command} on module {module}'s {component} component with payload {request}.
slots:
command: path.commandName
module: path.moduleName
component: path.componentName
request: requestBody.request
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/components/{componentName}/properties'].get
update:
x-apievangelist-phrasing:
intent: Get a module component's properties
effect: read
questions:
- What properties does a component inside an edge module report?
- How do I read property values for one component of a module?
instructions:
- text: Get the properties of component {component} in module {module} on device {device}.
slots:
component: path.componentName
module: path.moduleName
device: path.deviceId
- text: Show property values for module {module}'s {component} component.
slots:
module: path.moduleName
component: path.componentName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/components/{componentName}/properties'].put
update:
x-apievangelist-phrasing:
intent: Replace a module component's properties
effect: write
questions:
- How do I overwrite all properties of a component inside an edge module?
- Can I replace a module component's whole property set in one request?
instructions:
- text: Replace all properties of component {component} in module {module} on device {device}.
slots:
component: path.componentName
module: path.moduleName
device: path.deviceId
- text: Overwrite every property on module {module}'s {component} component.
slots:
module: path.moduleName
component: path.componentName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/components/{componentName}/properties'].patch
update:
x-apievangelist-phrasing:
intent: Update some module component properties
effect: write
questions:
- Can I change just one property on a component inside an edge module?
- How do I partially patch a module component's writable properties?
instructions:
- text: Patch selected properties of component {component} in module {module} on device {device}.
slots:
component: path.componentName
module: path.moduleName
device: path.deviceId
- text: Change a single setting on module {module}'s {component} component.
slots:
module: path.moduleName
component: path.componentName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/components/{componentName}/telemetry/{telemetryName}'].get
update:
x-apievangelist-phrasing:
intent: Get last telemetry from a module component
effect: read
questions:
- What is the latest telemetry reading from a component inside an edge module?
- How do I read the last value a module component reported for a metric?
instructions:
- text: Get the last {telemetry} value from component {component} in module {module} on device {device}.
slots:
telemetry: path.telemetryName
component: path.componentName
module: path.moduleName
device: path.deviceId
- text: Show module {module} component {component}'s latest {telemetry}.
slots:
module: path.moduleName
component: path.componentName
telemetry: path.telemetryName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/properties'].get
update:
x-apievangelist-phrasing:
intent: Get an edge module's properties
effect: read
questions:
- What property values does an IoT Edge module currently have?
- How do I read all properties of a module on a device?
instructions:
- text: Get all properties of module {module} on device {device}.
slots:
module: path.moduleName
device: path.deviceId
- text: Show edge module {module}'s current property values.
slots:
module: path.moduleName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/properties'].put
update:
x-apievangelist-phrasing:
intent: Replace an edge module's properties
effect: write
questions:
- How do I overwrite every property value of an IoT Edge module?
- Can I replace a module's whole property set at once?
instructions:
- text: Replace all property values of module {module} on device {device}.
slots:
module: path.moduleName
device: path.deviceId
- text: Overwrite edge module {module}'s full property set.
slots:
module: path.moduleName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/properties'].patch
update:
x-apievangelist-phrasing:
intent: Update some edge module properties
effect: write
questions:
- Can I update a few module property values without replacing the others?
- How do I patch the writable properties of an edge module?
instructions:
- text: Patch selected property values of module {module} on device {device}.
slots:
module: path.moduleName
device: path.deviceId
- text: Change one setting on edge module {module}.
slots:
module: path.moduleName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/modules/{moduleName}/telemetry/{telemetryName}'].get
update:
x-apievangelist-phrasing:
intent: Get last telemetry value from a module
effect: read
questions:
- What was the latest telemetry value an edge module sent?
- How do I read the most recent metric reported by a module?
instructions:
- text: Get the last {telemetry} value from module {module} on device {device}.
slots:
telemetry: path.telemetryName
module: path.moduleName
device: path.deviceId
- text: Show edge module {module}'s newest {telemetry} reading.
slots:
module: path.moduleName
telemetry: path.telemetryName
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/properties'].get
update:
x-apievangelist-phrasing:
intent: Get an IoT Central device's properties
effect: read
questions:
- What reported and writable property values does my IoT Central device have?
- Can I include unmodeled properties when reading a device's properties?
instructions:
- text: Get all property values of device {device}.
slots:
device: path.deviceId
- text: Show device {device}'s properties including unmodeled ones.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/properties'].put
update:
x-apievangelist-phrasing:
intent: Replace an IoT Central device's properties
effect: write
questions:
- How do I overwrite every writable property of a device at once?
- Can I replace a device's entire property set in IoT Central?
instructions:
- text: Replace all property values of device {device}.
slots:
device: path.deviceId
- text: Overwrite the full set of writable properties on {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/properties'].patch
update:
x-apievangelist-phrasing:
intent: Update some IoT Central device properties
effect: write
questions:
- Can I change one writable property on a device without resending the others?
- How do I partially update a device's property values?
instructions:
- text: Patch selected property values of device {device}.
slots:
device: path.deviceId
- text: Change the fan speed setting on device {device}.
slots:
device: path.deviceId
method: generated
generated: '2026-09-26'
- target: $.paths['/devices/{deviceId}/relationships'].get
update:
x-apievangelist-phrasing:
intent: List a gateway device's relationships
effect: read
questions:
- Which downstream devices are attached to my IoT Central gateway?
- How do I see the upstream and downstream relationships of a device?
instructions:
- text: List the relationships of device {device}.
slots:
device: path.deviceId
- text: Show up to {max} downstream relationships for gateway {device}.
slots:
max: query.maxpagesize
device: path.deviceId
method: generated
generated: '2026-09-26'
# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/overlays/microsoft-azure-devices-api-phrasing-overlay.yaml
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-devices-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.