@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api iotDpsClient
@base https://management.azure.com
@version 2018-01-22
@auth OAuth2
@common_fields {api-version: any}
@endpoints 18
@toc providers(1), subscriptions(17)

@group providers
@endpoint GET /providers/Microsoft.Devices/operations
@returns(200)

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}
@required {certificateName: any, subscriptionId: any, resourceGroupName: any, provisioningServiceName: any}
@optional {If-Match: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}
@required {subscriptionId: any, resourceGroupName: any, provisioningServiceName: any, certificateName: any, certificateDescription: map}
@optional {If-Match: any}
@returns(200)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}
@required {subscriptionId: any, resourceGroupName: any, If-Match: any, provisioningServiceName: any, certificateName: any}
@optional {certificate.name: any, certificate.rawBytes: any, certificate.isVerified: any, certificate.purpose: any, certificate.created: any, certificate.lastUpdated: any, certificate.hasPrivateKey: any, certificate.nonce: any}
@returns(200)
@returns(204)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}
@required {provisioningServiceName: any, subscriptionId: any, resourceGroupName: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}
@required {subscriptionId: any, resourceGroupName: any, provisioningServiceName: any, iotDpsDescription: map}
@returns(200)
@returns(201)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}
@required {subscriptionId: any, resourceGroupName: any, provisioningServiceName: any, ProvisioningServiceTags: any}
@returns(200)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}
@required {provisioningServiceName: any, subscriptionId: any, resourceGroupName: any}
@returns(200)
@returns(202)
@returns(204)
@errors {404}

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates
@required {subscriptionId: any, resourceGroupName: any, provisioningServiceName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices
@required {subscriptionId: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices
@required {subscriptionId: any, resourceGroupName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}
@required {operationId: any, subscriptionId: any, resourceGroupName: any, provisioningServiceName: any, asyncinfo: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus
@required {provisioningServiceName: any, subscriptionId: any, resourceGroupName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode
@required {certificateName: any, If-Match: any, subscriptionId: any, resourceGroupName: any, provisioningServiceName: any}
@optional {certificate.name: any, certificate.rawBytes: any, certificate.isVerified: any, certificate.purpose: any, certificate.created: any, certificate.lastUpdated: any, certificate.hasPrivateKey: any, certificate.nonce: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify
@required {certificateName: any, If-Match: any, request: map, subscriptionId: any, resourceGroupName: any, provisioningServiceName: any}
@optional {certificate.name: any, certificate.rawBytes: any, certificate.isVerified: any, certificate.purpose: any, certificate.created: any, certificate.lastUpdated: any, certificate.hasPrivateKey: any, certificate.nonce: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability
@required {subscriptionId: any, arguments: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys
@required {provisioningServiceName: any, subscriptionId: any, resourceGroupName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys
@required {provisioningServiceName: any, keyName: any, subscriptionId: any, resourceGroupName: any}
@returns(200)

@endgroup

@end
