naftiko: 1.0.0-alpha2 info: label: Microsoft Azure iotHubClient — POST description: 'Microsoft Azure iotHubClient — POST. 8 operations. Lead operation: Microsoft Azure Check If An Iot Hub Name Is Available. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - POST created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: iothubclient-post baseUri: https://management.azure.com description: Microsoft Azure iotHubClient — POST business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-providers-Microsoft.Devices-checkNameAvailability path: /subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability operations: - name: microsoftazureiothubresourcechecknameavailability method: POST description: Microsoft Azure Check If An Iot Hub Name Is Available outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: operationInputs in: body type: string description: Set the name parameter in the OperationInputs structure to the name of the IoT hub to check. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover operations: - name: microsoftazureiothubmanualfailover method: POST description: Microsoft Azure Manually Initiate A Failover For The Iot Hub To Its Secondary Region outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: iotHubName in: path type: string description: Name of the IoT hub to failover required: true - name: failoverInput in: body type: string description: Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/m required: true - name: resourceGroupName in: path type: string description: Name of the resource group containing the IoT hub resource required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall operations: - name: microsoftazureiothubresourcetestallroutes method: POST description: Microsoft Azure Test All Routes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: input in: body type: string description: Input for testing all routes required: true - name: iotHubName in: path type: string description: IotHub to be tested required: true - name: resourceGroupName in: path type: string description: resource group which Iot Hub belongs to required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew operations: - name: microsoftazureiothubresourcetestroute method: POST description: Microsoft Azure Test The New Route outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: input in: body type: string description: Route that needs to be tested required: true - name: iotHubName in: path type: string description: IotHub to be tested required: true - name: resourceGroupName in: path type: string description: resource group which Iot Hub belongs to required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys operations: - name: microsoftazureiothubresourcegetkeysforkeyname method: POST description: 'Microsoft Azure Get A Shared Access Policy By Name From An Iot Hub For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Security' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: keyName in: path type: string description: The name of the shared access policy. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices operations: - name: microsoftazureiothubresourceexportdevices method: POST description: 'Microsoft Azure Exports All The Device Identities In The Iot Hub Identity Registry To An Azure Storage Blob Container For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Identity Registry#import And Export De' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: exportDevicesParameters in: body type: string description: The parameters that specify the export devices operation. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices operations: - name: microsoftazureiothubresourceimportdevices method: POST description: 'Microsoft Azure Import, Update, Or Delete Device Identities In The Iot Hub Identity Registry From A Blob For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Identity Registry#import And Export Device Identiti' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: importDevicesParameters in: body type: string description: The parameters that specify the import devices operation. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys operations: - name: microsoftazureiothubresourcelistkeys method: POST description: 'Microsoft Azure Get The Security Metadata For An Iot Hub For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Security' outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: iothubclient-post-rest port: 8080 description: REST adapter for Microsoft Azure iotHubClient — POST. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-devices/checknameavailability name: subscriptions-subscriptionid-providers-microsoft-devices-checknameavailability description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Devices-checkNameAvailability. operations: - method: POST name: microsoftazureiothubresourcechecknameavailability description: Microsoft Azure Check If An Iot Hub Name Is Available call: iothubclient-post.microsoftazureiothubresourcechecknameavailability with: operationInputs: rest.operationInputs outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{iothubname}/failover name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureiothubmanualfailover description: Microsoft Azure Manually Initiate A Failover For The Iot Hub To Its Secondary Region call: iothubclient-post.microsoftazureiothubmanualfailover with: iotHubName: rest.iotHubName failoverInput: rest.failoverInput resourceGroupName: rest.resourceGroupName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{iothubname}/routing/routes/testall name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureiothubresourcetestallroutes description: Microsoft Azure Test All Routes call: iothubclient-post.microsoftazureiothubresourcetestallroutes with: input: rest.input iotHubName: rest.iotHubName resourceGroupName: rest.resourceGroupName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{iothubname}/routing/routes/testnew name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureiothubresourcetestroute description: Microsoft Azure Test The New Route call: iothubclient-post.microsoftazureiothubresourcetestroute with: input: rest.input iotHubName: rest.iotHubName resourceGroupName: rest.resourceGroupName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/iothubkeys/{keyname}/listkeys name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureiothubresourcegetkeysforkeyname description: 'Microsoft Azure Get A Shared Access Policy By Name From An Iot Hub For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Security' call: iothubclient-post.microsoftazureiothubresourcegetkeysforkeyname with: keyName: rest.keyName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/exportdevices name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureiothubresourceexportdevices description: 'Microsoft Azure Exports All The Device Identities In The Iot Hub Identity Registry To An Azure Storage Blob Container For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Identity Registry#import And Export De' call: iothubclient-post.microsoftazureiothubresourceexportdevices with: exportDevicesParameters: rest.exportDevicesParameters outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/importdevices name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureiothubresourceimportdevices description: 'Microsoft Azure Import, Update, Or Delete Device Identities In The Iot Hub Identity Registry From A Blob For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Identity Registry#import And Export Device Identiti' call: iothubclient-post.microsoftazureiothubresourceimportdevices with: importDevicesParameters: rest.importDevicesParameters outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/listkeys name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureiothubresourcelistkeys description: 'Microsoft Azure Get The Security Metadata For An Iot Hub For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Security' call: iothubclient-post.microsoftazureiothubresourcelistkeys outputParameters: - type: object mapping: $. - type: mcp namespace: iothubclient-post-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure iotHubClient — POST. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-check-if-iot description: Microsoft Azure Check If An Iot Hub Name Is Available hints: readOnly: true destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubresourcechecknameavailability with: operationInputs: tools.operationInputs outputParameters: - type: object mapping: $. - name: microsoft-azure-manually-initiate-failover description: Microsoft Azure Manually Initiate A Failover For The Iot Hub To Its Secondary Region hints: readOnly: false destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubmanualfailover with: iotHubName: tools.iotHubName failoverInput: tools.failoverInput resourceGroupName: tools.resourceGroupName outputParameters: - type: object mapping: $. - name: microsoft-azure-test-all-routes description: Microsoft Azure Test All Routes hints: readOnly: true destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubresourcetestallroutes with: input: tools.input iotHubName: tools.iotHubName resourceGroupName: tools.resourceGroupName outputParameters: - type: object mapping: $. - name: microsoft-azure-test-new-route description: Microsoft Azure Test The New Route hints: readOnly: true destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubresourcetestroute with: input: tools.input iotHubName: tools.iotHubName resourceGroupName: tools.resourceGroupName outputParameters: - type: object mapping: $. - name: microsoft-azure-get-shared-access description: 'Microsoft Azure Get A Shared Access Policy By Name From An Iot Hub For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Security' hints: readOnly: true destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubresourcegetkeysforkeyname with: keyName: tools.keyName outputParameters: - type: object mapping: $. - name: microsoft-azure-exports-all-device description: 'Microsoft Azure Exports All The Device Identities In The Iot Hub Identity Registry To An Azure Storage Blob Container For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Identity Registry#import And Export De' hints: readOnly: false destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubresourceexportdevices with: exportDevicesParameters: tools.exportDevicesParameters outputParameters: - type: object mapping: $. - name: microsoft-azure-import-update-delete description: 'Microsoft Azure Import, Update, Or Delete Device Identities In The Iot Hub Identity Registry From A Blob For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Identity Registry#import And Export Device Identiti' hints: readOnly: false destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubresourceimportdevices with: importDevicesParameters: tools.importDevicesParameters outputParameters: - type: object mapping: $. - name: microsoft-azure-get-security-metadata description: 'Microsoft Azure Get The Security Metadata For An Iot Hub For More Information, See: Https: Docs Microsoft Com Azure Iot Hub Iot Hub Devguide Security' hints: readOnly: true destructive: false idempotent: false call: iothubclient-post.microsoftazureiothubresourcelistkeys outputParameters: - type: object mapping: $.