# Azure iot Hub management API

> Azure iot Hub management API on Apizie: 38 endpoints (List the operations for the provider, Get all the IoT hubs in a subscription, Check if an IoT hub name is available, Get the number of iot hubs in the subscription, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:azure-arm-iothub`
- Category: Cloud
- Status: byok
- Source: https://learn.microsoft.com/rest/api/azure/
- Page: https://zieapi.vercel.app/api/cloud/azure-arm-iothub
- OpenAPI: https://zieapi.vercel.app/api/cloud/azure-arm-iothub/openapi.json

Azure Resource Manager API for iot Hub: manage these Azure resources in your subscription with a Microsoft Entra access token.

## Endpoints

### List the operations for the provider
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/operations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |

### Get all the IoT hubs in a subscription
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-list-by-subscription` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |

### Check if an IoT hub name is available
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-check-name-availability` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| body | object | yes | JSON request body |

### Get the number of iot hubs in the subscription
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/resource-provider-common-get-subscription-quota` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |

### Get all the IoT hubs in a resource group
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-list-by-resource-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |

### Get the non-security related metadata of an IoT hub
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |

### Create or update the metadata of an IoT hub.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| If-Match | string | no | ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub. |
| body | object | yes | JSON request body |

### Update an existing IoT Hubs tags.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| body | object | yes | JSON request body |

### Delete an IoT hub
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |

### Get a shared access policy by name from an IoT hub. For more information, see:…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get-keys-for-key-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| keyName | string | yes | The name of the shared access policy. |

### Get the statistics from an IoT hub
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get-stats` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes |  |

### Get the certificate list.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/certificates-list-by-iot-hub` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |

### Get the certificate.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/certificates-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| certificateName | string | yes | The name of the certificate |

### Upload the certificate to the IoT hub.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/certificates-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| certificateName | string | yes | The name of the certificate |
| If-Match | string | no | ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate. |
| body | object | yes | JSON request body |

### Delete an X509 certificate.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/certificates-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| certificateName | string | yes | The name of the certificate |
| If-Match | string | yes | ETag of the Certificate. |

### Generate verification code for proof of possession flow.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/certificates-generate-verification-code` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| certificateName | string | yes | The name of the certificate |
| If-Match | string | yes | ETag of the Certificate. |

### Verify certificate's private key possession.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/certificates-verify` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| certificateName | string | yes | The name of the certificate |
| If-Match | string | yes | ETag of the Certificate. |
| body | object | yes | JSON request body |

### Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-list-event-hub-consumer-groups` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| eventHubEndpointName | string | yes | The name of the EventHubEndpoint |

### Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get-event-hub-consumer-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| eventHubEndpointName | string | yes | The name of the EventHubEndpoint |
| name | string | yes | The name of the consumer group to retrieve. |

### Add a consumer group to an Event Hub-compatible endpoint in an IoT hub
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-create-event-hub-consumer-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| eventHubEndpointName | string | yes | The name of the EventHubEndpoint |
| name | string | yes | The name of the consumer group to retrieve. |
| body | object | yes | JSON request body |

### Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-delete-event-hub-consumer-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| eventHubEndpointName | string | yes | The name of the EventHubEndpoint |
| name | string | yes | The name of the consumer group to retrieve. |

### Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-export-devices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| body | object | yes | JSON request body |

### Manually initiate a failover for the IoT Hub to its secondary region
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-manual-failover` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| iotHubName | string | yes |  |
| body | object | yes | JSON request body |

### Import, update, or delete device identities in the IoT hub identity registry from a blob. For more…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-import-devices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| body | object | yes | JSON request body |

### Get a list of all the jobs in an IoT hub. For more information, see:…
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-list-jobs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |

### Get the details of a job from an IoT hub. For more information, see:…
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |
| jobId | string | yes | The job identifier. |

### Get the security metadata for an IoT hub. For more information, see:…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-list-keys` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |

### Get the quota metrics for an IoT hub
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get-quota-metrics` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |

### Test all routes
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-test-all-routes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| iotHubName | string | yes |  |
| body | object | yes | JSON request body |

### Test the new route
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-test-route` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| iotHubName | string | yes |  |
| body | object | yes | JSON request body |

### Get the health for routing endpoints
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get-endpoint-health` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| iotHubName | string | yes |  |

### Get the list of valid SKUs for an IoT hub
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/iot-hub-resource-get-valid-skus` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT hub. |

### List private endpoint connections
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/private-endpoint-connections-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT Hub |

### Get private endpoint connection
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/private-endpoint-connections-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT Hub |
| privateEndpointConnectionName | string | yes | The name of the private endpoint connection |

### Update private endpoint connection
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/private-endpoint-connections-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT Hub |
| privateEndpointConnectionName | string | yes | The name of the private endpoint connection |
| body | object | yes | JSON request body |

### Delete private endpoint connection
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/private-endpoint-connections-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT Hub |
| privateEndpointConnectionName | string | yes | The name of the private endpoint connection |

### List private link resources
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/private-link-resources-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT Hub |

### Get the specified private link resource
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/private-link-resources-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| resourceName | string | yes | The name of the IoT Hub |
| groupId | string | yes | The name of the private link resource |

## Example
```
curl "https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/operations-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Azure iot Hub management API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/cloud:azure-arm-iothub/operations-list with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Azure iot Hub management API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Azure iot Hub management itself also needs your own key from azure.com.

### Can AI agents use the Azure iot Hub management API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:azure-arm-iothub.

### What is the status of the Azure iot Hub management API?
Needs your own provider key (bring your own key)
