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

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

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

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.