naftiko: 1.0.0-alpha2 info: label: Microsoft Azure iotDpsClient — DpsCertificate description: 'Microsoft Azure iotDpsClient — DpsCertificate. 6 operations. Lead operation: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - DpsCertificate 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: iotdpsclient-dpscertificate baseUri: https://management.azure.com description: Microsoft Azure iotDpsClient — DpsCertificate business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates operations: - name: microsoftazuredpscertificatelist method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: Name of resource group. required: true - name: provisioningServiceName in: path type: string description: Name of provisioning service to retrieve certificates for. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName} operations: - name: microsoftazuredpscertificateget method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: certificateName in: path type: string description: Name of the certificate to retrieve. required: true - name: resourceGroupName in: path type: string description: Resource group identifier. required: true - name: provisioningServiceName in: path type: string description: Name of the provisioning service the certificate is associated with. required: true - name: If-Match in: header type: string description: ETag of the certificate. - name: microsoftazuredpscertificatecreateorupdate method: PUT description: Microsoft Azure Upload The Certificate To The Provisioning Service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: Resource group identifier. required: true - name: provisioningServiceName in: path type: string description: The name of the provisioning service. required: true - name: certificateName in: path type: string description: The name of the certificate create or update. required: true - name: certificateDescription in: body type: string description: The certificate body. required: true - name: If-Match in: header type: string description: ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate. - name: microsoftazuredpscertificatedelete method: DELETE description: Microsoft Azure Delete The Provisioning Service Certificate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: Resource group identifier. required: true - name: If-Match in: header type: string description: ETag of the certificate required: true - name: provisioningServiceName in: path type: string description: The name of the provisioning service. required: true - name: certificateName in: path type: string description: This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by. required: true - name: certificate.name in: query type: string description: This is optional, and it is the Common Name of the certificate. - name: certificate.rawBytes in: query type: string description: Raw data within the certificate. - name: certificate.isVerified in: query type: boolean description: Indicates if certificate has been verified by owner of the private key. - name: certificate.purpose in: query type: string description: A description that mentions the purpose of the certificate. - name: certificate.created in: query type: string description: Time the certificate is created. - name: certificate.lastUpdated in: query type: string description: Time the certificate is last updated. - name: certificate.hasPrivateKey in: query type: boolean description: Indicates if the certificate contains a private key. - name: certificate.nonce in: query type: string description: Random number generated to indicate Proof of Possession. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode operations: - name: microsoftazuredpscertificategenerateverificationcode method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename Generateverificationcode outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: certificateName in: path type: string description: The mandatory logical name of the certificate, that the provisioning service uses to access. required: true - name: If-Match in: header type: string description: ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate. required: true - name: resourceGroupName in: path type: string description: name of resource group. required: true - name: provisioningServiceName in: path type: string description: Name of provisioning service. required: true - name: certificate.name in: query type: string description: Common Name for the certificate. - name: certificate.rawBytes in: query type: string description: Raw data of certificate. - name: certificate.isVerified in: query type: boolean description: Indicates if the certificate has been verified by owner of the private key. - name: certificate.purpose in: query type: string description: Description mentioning the purpose of the certificate. - name: certificate.created in: query type: string description: Certificate creation time. - name: certificate.lastUpdated in: query type: string description: Certificate last updated time. - name: certificate.hasPrivateKey in: query type: boolean description: Indicates if the certificate contains private key. - name: certificate.nonce in: query type: string description: Random number generated to indicate Proof of Possession. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify operations: - name: microsoftazuredpscertificateverifycertificate method: POST description: Microsoft Azure Verify Certificate S Private Key Possession outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: certificateName in: path type: string description: The mandatory logical name of the certificate, that the provisioning service uses to access. required: true - name: If-Match in: header type: string description: ETag of the certificate. required: true - name: request in: body type: string description: The name of the certificate required: true - name: resourceGroupName in: path type: string description: Resource group name. required: true - name: provisioningServiceName in: path type: string description: Provisioning service name. required: true - name: certificate.name in: query type: string description: Common Name for the certificate. - name: certificate.rawBytes in: query type: string description: Raw data of certificate. - name: certificate.isVerified in: query type: boolean description: Indicates if the certificate has been verified by owner of the private key. - name: certificate.purpose in: query type: string description: Describe the purpose of the certificate. - name: certificate.created in: query type: string description: Certificate creation time. - name: certificate.lastUpdated in: query type: string description: Certificate last updated time. - name: certificate.hasPrivateKey in: query type: boolean description: Indicates if the certificate contains private key. - name: certificate.nonce in: query type: string description: Random number generated to indicate Proof of Possession. exposes: - type: rest namespace: iotdpsclient-dpscertificate-rest port: 8080 description: REST adapter for Microsoft Azure iotDpsClient — DpsCertificate. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuredpscertificatelist description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates call: iotdpsclient-dpscertificate.microsoftazuredpscertificatelist with: resourceGroupName: rest.resourceGroupName provisioningServiceName: rest.provisioningServiceName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuredpscertificateget description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename call: iotdpsclient-dpscertificate.microsoftazuredpscertificateget with: certificateName: rest.certificateName resourceGroupName: rest.resourceGroupName provisioningServiceName: rest.provisioningServiceName If-Match: rest.If-Match outputParameters: - type: object mapping: $. - method: PUT name: microsoftazuredpscertificatecreateorupdate description: Microsoft Azure Upload The Certificate To The Provisioning Service call: iotdpsclient-dpscertificate.microsoftazuredpscertificatecreateorupdate with: resourceGroupName: rest.resourceGroupName provisioningServiceName: rest.provisioningServiceName certificateName: rest.certificateName certificateDescription: rest.certificateDescription If-Match: rest.If-Match outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuredpscertificatedelete description: Microsoft Azure Delete The Provisioning Service Certificate call: iotdpsclient-dpscertificate.microsoftazuredpscertificatedelete with: resourceGroupName: rest.resourceGroupName If-Match: rest.If-Match provisioningServiceName: rest.provisioningServiceName certificateName: rest.certificateName certificate.name: rest.certificate.name certificate.rawBytes: rest.certificate.rawBytes certificate.isVerified: rest.certificate.isVerified certificate.purpose: rest.certificate.purpose certificate.created: rest.certificate.created certificate.lastUpdated: rest.certificate.lastUpdated certificate.hasPrivateKey: rest.certificate.hasPrivateKey certificate.nonce: rest.certificate.nonce outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename}/generateverificationcode name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuredpscertificategenerateverificationcode description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename Generateverificationcode call: iotdpsclient-dpscertificate.microsoftazuredpscertificategenerateverificationcode with: certificateName: rest.certificateName If-Match: rest.If-Match resourceGroupName: rest.resourceGroupName provisioningServiceName: rest.provisioningServiceName certificate.name: rest.certificate.name certificate.rawBytes: rest.certificate.rawBytes certificate.isVerified: rest.certificate.isVerified certificate.purpose: rest.certificate.purpose certificate.created: rest.certificate.created certificate.lastUpdated: rest.certificate.lastUpdated certificate.hasPrivateKey: rest.certificate.hasPrivateKey certificate.nonce: rest.certificate.nonce outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename}/verify name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuredpscertificateverifycertificate description: Microsoft Azure Verify Certificate S Private Key Possession call: iotdpsclient-dpscertificate.microsoftazuredpscertificateverifycertificate with: certificateName: rest.certificateName If-Match: rest.If-Match request: rest.request resourceGroupName: rest.resourceGroupName provisioningServiceName: rest.provisioningServiceName certificate.name: rest.certificate.name certificate.rawBytes: rest.certificate.rawBytes certificate.isVerified: rest.certificate.isVerified certificate.purpose: rest.certificate.purpose certificate.created: rest.certificate.created certificate.lastUpdated: rest.certificate.lastUpdated certificate.hasPrivateKey: rest.certificate.hasPrivateKey certificate.nonce: rest.certificate.nonce outputParameters: - type: object mapping: $. - type: mcp namespace: iotdpsclient-dpscertificate-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure iotDpsClient — DpsCertificate. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-subscriptions-subscriptionid description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates hints: readOnly: true destructive: false idempotent: true call: iotdpsclient-dpscertificate.microsoftazuredpscertificatelist with: resourceGroupName: tools.resourceGroupName provisioningServiceName: tools.provisioningServiceName outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid-2 description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename hints: readOnly: true destructive: false idempotent: true call: iotdpsclient-dpscertificate.microsoftazuredpscertificateget with: certificateName: tools.certificateName resourceGroupName: tools.resourceGroupName provisioningServiceName: tools.provisioningServiceName If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-azure-upload-certificate-provisioning description: Microsoft Azure Upload The Certificate To The Provisioning Service hints: readOnly: false destructive: false idempotent: true call: iotdpsclient-dpscertificate.microsoftazuredpscertificatecreateorupdate with: resourceGroupName: tools.resourceGroupName provisioningServiceName: tools.provisioningServiceName certificateName: tools.certificateName certificateDescription: tools.certificateDescription If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-provisioning-service description: Microsoft Azure Delete The Provisioning Service Certificate hints: readOnly: false destructive: true idempotent: true call: iotdpsclient-dpscertificate.microsoftazuredpscertificatedelete with: resourceGroupName: tools.resourceGroupName If-Match: tools.If-Match provisioningServiceName: tools.provisioningServiceName certificateName: tools.certificateName certificate.name: tools.certificate.name certificate.rawBytes: tools.certificate.rawBytes certificate.isVerified: tools.certificate.isVerified certificate.purpose: tools.certificate.purpose certificate.created: tools.certificate.created certificate.lastUpdated: tools.certificate.lastUpdated certificate.hasPrivateKey: tools.certificate.hasPrivateKey certificate.nonce: tools.certificate.nonce outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename Generateverificationcode hints: readOnly: false destructive: false idempotent: false call: iotdpsclient-dpscertificate.microsoftazuredpscertificategenerateverificationcode with: certificateName: tools.certificateName If-Match: tools.If-Match resourceGroupName: tools.resourceGroupName provisioningServiceName: tools.provisioningServiceName certificate.name: tools.certificate.name certificate.rawBytes: tools.certificate.rawBytes certificate.isVerified: tools.certificate.isVerified certificate.purpose: tools.certificate.purpose certificate.created: tools.certificate.created certificate.lastUpdated: tools.certificate.lastUpdated certificate.hasPrivateKey: tools.certificate.hasPrivateKey certificate.nonce: tools.certificate.nonce outputParameters: - type: object mapping: $. - name: microsoft-azure-verify-certificate-s description: Microsoft Azure Verify Certificate S Private Key Possession hints: readOnly: false destructive: false idempotent: false call: iotdpsclient-dpscertificate.microsoftazuredpscertificateverifycertificate with: certificateName: tools.certificateName If-Match: tools.If-Match request: tools.request resourceGroupName: tools.resourceGroupName provisioningServiceName: tools.provisioningServiceName certificate.name: tools.certificate.name certificate.rawBytes: tools.certificate.rawBytes certificate.isVerified: tools.certificate.isVerified certificate.purpose: tools.certificate.purpose certificate.created: tools.certificate.created certificate.lastUpdated: tools.certificate.lastUpdated certificate.hasPrivateKey: tools.certificate.hasPrivateKey certificate.nonce: tools.certificate.nonce outputParameters: - type: object mapping: $.