# 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 iotDpsClient Dps Certificate API version: 1.0.0 extends: openapi/microsoft-azure-dpscertificate-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: 6 - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}'].get update: x-apievangelist-phrasing: intent: Get a certificate on a provisioning service effect: read questions: - What details can I see for one certificate uploaded to my Device Provisioning Service? - Can I check whether a DPS certificate has been verified yet? instructions: - text: Show certificate {certificateName} on provisioning service {provisioningServiceName} in resource group {resourceGroupName}. slots: certificateName: path.certificateName provisioningServiceName: path.provisioningServiceName resourceGroupName: path.resourceGroupName - text: Fetch DPS certificate {certificateName} from subscription {subscriptionId}. slots: certificateName: path.certificateName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}'].put update: x-apievangelist-phrasing: intent: Upload or update a provisioning service certificate effect: write questions: - How do I add a new CA certificate to my Device Provisioning Service? - Can I replace an existing DPS certificate using its etag? instructions: - text: Upload certificate {certificateName} to provisioning service {provisioningServiceName} in resource group {resourceGroupName} with properties {properties}. slots: certificateName: path.certificateName provisioningServiceName: path.provisioningServiceName resourceGroupName: path.resourceGroupName properties: requestBody.properties - text: Update DPS certificate {certificateName} in subscription {subscriptionId}, matching etag {etag}. slots: certificateName: path.certificateName subscriptionId: path.subscriptionId etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}'].delete update: x-apievangelist-phrasing: intent: Delete a provisioning service certificate effect: destructive questions: - How do I remove a certificate from my Device Provisioning Service? - Does deleting a DPS certificate require the current etag? instructions: - text: Delete certificate {certificateName} from provisioning service {provisioningServiceName} in resource group {resourceGroupName} using etag {etag}. slots: certificateName: path.certificateName provisioningServiceName: path.provisioningServiceName resourceGroupName: path.resourceGroupName etag: header.If-Match - text: Remove the DPS certificate {certificateName} in subscription {subscriptionId}. slots: certificateName: path.certificateName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates'].get update: x-apievangelist-phrasing: intent: List certificates on a provisioning service effect: read questions: - Which certificates are tied to my Device Provisioning Service? - Can I see every CA certificate a DPS instance trusts? instructions: - text: List all certificates on provisioning service {provisioningServiceName} in resource group {resourceGroupName}. slots: provisioningServiceName: path.provisioningServiceName resourceGroupName: path.resourceGroupName - text: Show the DPS certificates for subscription {subscriptionId}. slots: subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode'].post update: x-apievangelist-phrasing: intent: Generate a proof-of-possession verification code effect: write questions: - How do I get a verification code to prove I own a DPS certificate's private key? - What is the first step of proof of possession for a provisioning service certificate? instructions: - text: Generate a verification code for cert {certificateName} on DPS {provisioningServiceName}, resource group {resourceGroupName}, etag {etag}. slots: certificateName: path.certificateName provisioningServiceName: path.provisioningServiceName resourceGroupName: path.resourceGroupName etag: header.If-Match - text: Start proof of possession for DPS certificate {certificateName} in subscription {subscriptionId}. slots: certificateName: path.certificateName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify'].post update: x-apievangelist-phrasing: intent: Verify a certificate with a signed leaf certificate effect: write questions: - How do I finish proof of possession by uploading the signed verification certificate? - Can I mark a DPS certificate as verified by submitting a leaf cert? instructions: - text: Verify cert {certificateName} on DPS {provisioningServiceName} in {resourceGroupName} with leaf cert {certificate}, etag {etag}. slots: certificateName: path.certificateName provisioningServiceName: path.provisioningServiceName resourceGroupName: path.resourceGroupName certificate: requestBody.certificate etag: header.If-Match - text: Complete possession verification for DPS certificate {certificateName} in subscription {subscriptionId}. slots: certificateName: path.certificateName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26'