naftiko: 1.0.0-alpha2 info: label: Microsoft Azure iotHubClient — Certificates description: 'Microsoft Azure iotHubClient — Certificates. 6 operations. Lead operation: Microsoft Azure Get The Certificate List. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Certificates 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: iothubclient-certificates baseUri: https://management.azure.com description: Microsoft Azure iotHubClient — Certificates business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates operations: - name: microsoftazurecertificateslistbyiothub method: GET description: Microsoft Azure Get The Certificate List outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName} operations: - name: microsoftazurecertificatesget method: GET description: Microsoft Azure Get The Certificate outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurecertificatescreateorupdate method: PUT description: Microsoft Azure Upload The Certificate To The Iot Hub outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: certificateDescription in: body type: string description: The certificate body. required: true - name: If-Match in: header type: string description: ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate. - name: microsoftazurecertificatesdelete method: DELETE description: Microsoft Azure Delete An X509 Certificate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag of the Certificate. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode operations: - name: microsoftazurecertificatesgenerateverificationcode method: POST description: Microsoft Azure Generate Verification Code For Proof Of Possession Flow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag of the Certificate. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify operations: - name: microsoftazurecertificatesverify method: POST description: Microsoft Azure Verify Certificate S Private Key Possession outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: certificateVerificationBody in: body type: string description: The name of the certificate required: true - name: If-Match in: header type: string description: ETag of the Certificate. required: true exposes: - type: rest namespace: iothubclient-certificates-rest port: 8080 description: REST adapter for Microsoft Azure iotHubClient — Certificates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/certificates name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurecertificateslistbyiothub description: Microsoft Azure Get The Certificate List call: iothubclient-certificates.microsoftazurecertificateslistbyiothub outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/certificates/{certificatename} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurecertificatesget description: Microsoft Azure Get The Certificate call: iothubclient-certificates.microsoftazurecertificatesget outputParameters: - type: object mapping: $. - method: PUT name: microsoftazurecertificatescreateorupdate description: Microsoft Azure Upload The Certificate To The Iot Hub call: iothubclient-certificates.microsoftazurecertificatescreateorupdate with: certificateDescription: rest.certificateDescription If-Match: rest.If-Match outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazurecertificatesdelete description: Microsoft Azure Delete An X509 Certificate call: iothubclient-certificates.microsoftazurecertificatesdelete with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/certificates/{certificatename}/generateverificationcode name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurecertificatesgenerateverificationcode description: Microsoft Azure Generate Verification Code For Proof Of Possession Flow call: iothubclient-certificates.microsoftazurecertificatesgenerateverificationcode with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/iothubs/{resourcename}/certificates/{certificatename}/verify name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurecertificatesverify description: Microsoft Azure Verify Certificate S Private Key Possession call: iothubclient-certificates.microsoftazurecertificatesverify with: certificateVerificationBody: rest.certificateVerificationBody If-Match: rest.If-Match outputParameters: - type: object mapping: $. - type: mcp namespace: iothubclient-certificates-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure iotHubClient — Certificates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-certificate-list description: Microsoft Azure Get The Certificate List hints: readOnly: true destructive: false idempotent: true call: iothubclient-certificates.microsoftazurecertificateslistbyiothub outputParameters: - type: object mapping: $. - name: microsoft-azure-get-certificate description: Microsoft Azure Get The Certificate hints: readOnly: true destructive: false idempotent: true call: iothubclient-certificates.microsoftazurecertificatesget outputParameters: - type: object mapping: $. - name: microsoft-azure-upload-certificate-iot description: Microsoft Azure Upload The Certificate To The Iot Hub hints: readOnly: false destructive: false idempotent: true call: iothubclient-certificates.microsoftazurecertificatescreateorupdate with: certificateDescription: tools.certificateDescription If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-x509-certificate description: Microsoft Azure Delete An X509 Certificate hints: readOnly: false destructive: true idempotent: true call: iothubclient-certificates.microsoftazurecertificatesdelete with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-azure-generate-verification-code description: Microsoft Azure Generate Verification Code For Proof Of Possession Flow hints: readOnly: false destructive: false idempotent: false call: iothubclient-certificates.microsoftazurecertificatesgenerateverificationcode with: If-Match: tools.If-Match 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: iothubclient-certificates.microsoftazurecertificatesverify with: certificateVerificationBody: tools.certificateVerificationBody If-Match: tools.If-Match outputParameters: - type: object mapping: $.