{"note":"OpenAPI conversion -- returning structured metadata","name":"azure-com-iothub","description":"iotHubClient","version":"2019-07-01-preview","base_url":"https://management.azure.com","endpoints":32,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api iotHubClient\n@base https://management.azure.com\n@version 2019-07-01-preview\n@auth OAuth2\n@common_fields {api-version: any # The version of the API., subscriptionId: any # The subscription identifier.}\n@endpoints 32\n@hint download_for_search\n@toc providers(1), subscriptions(31)\n\n@group providers\n@endpoint GET /providers/Microsoft.Devices/operations\n@desc Lists all of the available IoT Hub REST API operations.\n@returns(200) OK. The request has succeeded.\n\n@endgroup\n\n@group subscriptions\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}\n@desc Get the non-security related metadata of an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.\n\n@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}\n@desc Create or update the metadata of an IoT hub.\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., iotHubDescription: map # The IoT hub metadata and security metadata.}\n@optional {If-Match: any # ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub.}\n@returns(200) This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.\n@returns(201) This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).\n\n@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}\n@desc Update an existing IoT Hubs tags.\n@required {resourceGroupName: any # Resource group identifier., resourceName: any # Name of iot hub to update., IotHubTags: any # Updated tag information to set into the iot hub instance.}\n@returns(200) Iot Hub was successfully updated\n\n@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}\n@desc Delete an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.\n@returns(202) The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.\n@returns(204) Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state.\n@errors {404: After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.}\n\n@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs\n@desc Get all the IoT hubs in a subscription\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs\n@desc Get all the IoT hubs in a resource group\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub.}\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats\n@desc Get the statistics from an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus\n@desc Get the list of valid SKUs for an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups\n@desc Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., eventHubEndpointName: any # The name of the Event Hub-compatible endpoint.}\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}\n@desc Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., eventHubEndpointName: any # The name of the Event Hub-compatible endpoint in the IoT hub., name: any # The name of the consumer group to retrieve.}\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized consumer group.\n\n@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}\n@desc Add a consumer group to an Event Hub-compatible endpoint in an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., eventHubEndpointName: any # The name of the Event Hub-compatible endpoint in the IoT hub., name: any # The name of the consumer group to add.}\n@returns(200) This is a synchronous operation.\n\n@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}\n@desc Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., eventHubEndpointName: any # The name of the Event Hub-compatible endpoint in the IoT hub., name: any # The name of the consumer group to delete.}\n@returns(200) This is a synchronous operation.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs\n@desc Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}\n@desc Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., jobId: any # The job identifier.}\n@returns(200) This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics\n@desc Get the quota metrics for an IoT hub\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth\n@desc Get the health for routing endpoints\n@required {resourceGroupName: any, iotHubName: any}\n@returns(200) OK\n\n@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability\n@desc Check if an IoT hub name is available\n@required {operationInputs: map # Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.}\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.\n\n@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages\n@desc Get the number of iot hubs in the subscription\n@returns(200) OK\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall\n@desc Test all routes\n@required {input: map # Input for testing all routes, iotHubName: any # IotHub to be tested, resourceGroupName: any # resource group which Iot Hub belongs to}\n@returns(200) OK\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew\n@desc Test the new route\n@required {input: map # Route that needs to be tested, iotHubName: any # IotHub to be tested, resourceGroupName: any # resource group which Iot Hub belongs to}\n@returns(200) OK\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys\n@desc Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys\n@desc 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\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., keyName: any # The name of the shared access policy.}\n@returns(200) This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices\n@desc 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-device-identities\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., exportDevicesParameters: map # The parameters that specify the export devices operation.}\n@returns(200) OK\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices\n@desc 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-identities\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., importDevicesParameters: map # The parameters that specify the import devices operation.}\n@returns(200) OK\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates\n@desc Get the certificate list.\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub.}\n@returns(200) The body contains all the certificate list.\n\n@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}\n@desc Get the certificate.\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., certificateName: any # The name of the certificate}\n@returns(200) The body contains the certificate.\n\n@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}\n@desc Upload the certificate to the IoT hub.\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., certificateName: any # The name of the certificate, certificateDescription: map # The certificate body.}\n@optional {If-Match: any # ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate.}\n@returns(200) If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).\n@returns(201) If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).\n\n@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}\n@desc Delete an X509 certificate.\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., certificateName: any # The name of the certificate, If-Match: any # ETag of the Certificate.}\n@returns(200) Certificate has been deleted.\n@returns(204) Certificate does not exist.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode\n@desc Generate verification code for proof of possession flow.\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., certificateName: any # The name of the certificate, If-Match: any # ETag of the Certificate.}\n@returns(200) The body contains the certificate.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify\n@desc Verify certificate's private key possession.\n@required {resourceGroupName: any # The name of the resource group that contains the IoT hub., resourceName: any # The name of the IoT hub., certificateName: any # The name of the certificate, certificateVerificationBody: map # The name of the certificate, If-Match: any # ETag of the Certificate.}\n@returns(200) The body contains the certificate.\n\n@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover\n@desc Manual Failover Fail over\n@required {iotHubName: any # IotHub to fail over, failoverInput: map # Region to failover to. Must be a azure DR pair, resourceGroupName: any # resource group which Iot Hub belongs to}\n@returns(200) Long running Manual failover operation completed\n@returns(202) Manual failover initiated\n\n@endgroup\n\n@end\n"}