Microsoft Azure · Capability

Microsoft Azure iotDpsClient — DpsCertificate

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.

Run with Naftiko Microsoft AzureDpsCertificate

What You Can Do

GET
Microsoftazuredpscertificatelist — Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates
GET
Microsoftazuredpscertificateget — Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename}
PUT
Microsoftazuredpscertificatecreateorupdate — Microsoft Azure Upload The Certificate To The Provisioning Service
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename}
DELETE
Microsoftazuredpscertificatedelete — Microsoft Azure Delete The Provisioning Service Certificate
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename}
POST
Microsoftazuredpscertificategenerateverificationcode — Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename Generateverificationcode
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename}/generateverificationcode
POST
Microsoftazuredpscertificateverifycertificate — Microsoft Azure Verify Certificate S Private Key Possession
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devices/provisioningservices/{provisioningservicename}/certificates/{certificatename}/verify

MCP Tools

microsoft-azure-get-subscriptions-subscriptionid

Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates

read-only idempotent
microsoft-azure-get-subscriptions-subscriptionid-2

Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename

read-only idempotent
microsoft-azure-upload-certificate-provisioning

Microsoft Azure Upload The Certificate To The Provisioning Service

idempotent
microsoft-azure-delete-provisioning-service

Microsoft Azure Delete The Provisioning Service Certificate

idempotent
microsoft-azure-post-subscriptions-subscriptionid

Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename Generateverificationcode

microsoft-azure-verify-certificate-s

Microsoft Azure Verify Certificate S Private Key Possession

Capability Spec

iotdpsclient-dpscertificate.yaml Raw ↑
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: $.