swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector DpsCertificate API schemes: - https tags: - name: DpsCertificate paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName} : get: tags: - DpsCertificate operationId: microsoftAzureDpscertificateGet description: Get the certificate from the provisioning service. x-ms-examples: DPSGetCertificate: $ref: ./examples/DPSGetCertificate.json consumes: [] produces: - application/json parameters: - name: certificateName in: path required: true type: string description: Name of the certificate to retrieve. - $ref: '#/parameters/subscriptionId' - name: resourceGroupName in: path required: true type: string description: Resource group identifier. - name: provisioningServiceName in: path required: true type: string description: Name of the provisioning service the certificate is associated with. - name: If-Match in: header required: false type: string description: ETag of the certificate. - $ref: '#/parameters/api-version' responses: '200': description: Metadata for the specified certificate. schema: $ref: '#/definitions/CertificateResponse' default: description: Default error response. schema: $ref: '#/definitions/ErrorDetails' summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename put: tags: - DpsCertificate summary: Microsoft Azure Upload The Certificate To The Provisioning Service description: Add new certificate or update an existing certificate. operationId: microsoftAzureDpscertificateCreateorupdate x-ms-examples: DPSCreateOrUpdateCertificate: $ref: ./examples/DPSCertificateCreateOrUpdate.json parameters: - $ref: '#/parameters/api-version' - $ref: '#/parameters/subscriptionId' - name: resourceGroupName in: path description: Resource group identifier. required: true type: string - name: provisioningServiceName in: path description: The name of the provisioning service. required: true type: string - name: certificateName in: path description: The name of the certificate create or update. required: true type: string maxLength: 256 - name: certificateDescription in: body description: The certificate body. required: true schema: $ref: '#/definitions/CertificateResponse' - name: If-Match in: header required: false type: string description: ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate. responses: '200': description: If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK). schema: $ref: '#/definitions/CertificateResponse' default: description: Default error response. schema: $ref: '#/definitions/ErrorDetails' deprecated: false produces: - application/json consumes: - application/json delete: tags: - DpsCertificate operationId: microsoftAzureDpscertificateDelete summary: Microsoft Azure Delete The Provisioning Service Certificate description: Deletes the specified certificate associated with the Provisioning Service x-ms-examples: DPSDeleteCertificate: $ref: ./examples/DPSDeleteCertificate.json consumes: [] produces: - application/json parameters: - $ref: '#/parameters/subscriptionId' - name: resourceGroupName in: path required: true type: string description: Resource group identifier. - name: If-Match in: header required: true type: string description: ETag of the certificate - name: provisioningServiceName in: path required: true type: string description: The name of the provisioning service. - name: certificateName in: path required: true type: string description: This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by. - name: certificate.name in: query required: false type: string description: This is optional, and it is the Common Name of the certificate. - name: certificate.rawBytes in: query required: false type: string format: byte description: Raw data within the certificate. - name: certificate.isVerified in: query required: false type: boolean description: Indicates if certificate has been verified by owner of the private key. - name: certificate.purpose in: query required: false type: string description: A description that mentions the purpose of the certificate. enum: - clientAuthentication - serverAuthentication x-ms-enum: name: CertificatePurpose modelAsString: true - name: certificate.created in: query description: Time the certificate is created. required: false type: string format: date-time - name: certificate.lastUpdated in: query required: false type: string description: Time the certificate is last updated. format: date-time - name: certificate.hasPrivateKey in: query required: false type: boolean description: Indicates if the certificate contains a private key. - name: certificate.nonce in: query required: false type: string description: Random number generated to indicate Proof of Possession. - $ref: '#/parameters/api-version' responses: '200': description: OK. '204': description: No content. default: description: Default error response. schema: $ref: '#/definitions/ErrorDetails' ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates : get: tags: - DpsCertificate operationId: microsoftAzureDpscertificateList description: Get all the certificates tied to the provisioning service. x-ms-examples: DPSGetCertificates: $ref: ./examples/DPSGetCertificates.json consumes: [] produces: - application/json parameters: - $ref: '#/parameters/subscriptionId' - name: resourceGroupName in: path required: true type: string description: Name of resource group. - name: provisioningServiceName in: path required: true type: string description: Name of provisioning service to retrieve certificates for. - $ref: '#/parameters/api-version' responses: '200': description: List of certificate descriptions in a JSON-serialized array. schema: $ref: '#/definitions/CertificateListDescription' default: description: Default error response. schema: $ref: '#/definitions/ErrorDetails' summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode : post: tags: - DpsCertificate operationId: microsoftAzureDpscertificateGenerateverificationcode description: Generate verification code for Proof of Possession. x-ms-examples: DPSGenerateVerificationCode: $ref: ./examples/DPSGenerateVerificationCode.json parameters: - name: certificateName in: path required: true type: string description: The mandatory logical name of the certificate, that the provisioning service uses to access. - name: If-Match in: header required: true type: string description: ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate. - $ref: '#/parameters/subscriptionId' - name: resourceGroupName in: path required: true type: string description: name of resource group. - name: provisioningServiceName in: path required: true type: string description: Name of provisioning service. - name: certificate.name in: query required: false type: string description: Common Name for the certificate. - name: certificate.rawBytes in: query required: false type: string format: byte description: Raw data of certificate. - name: certificate.isVerified in: query required: false type: boolean description: Indicates if the certificate has been verified by owner of the private key. - name: certificate.purpose in: query required: false type: string description: Description mentioning the purpose of the certificate. enum: - clientAuthentication - serverAuthentication x-ms-enum: name: CertificatePurpose modelAsString: true - name: certificate.created in: query required: false type: string format: date-time description: Certificate creation time. - name: certificate.lastUpdated in: query required: false type: string format: date-time description: Certificate last updated time. - name: certificate.hasPrivateKey in: query required: false type: boolean description: Indicates if the certificate contains private key. - name: certificate.nonce in: query required: false type: string description: Random number generated to indicate Proof of Possession. - $ref: '#/parameters/api-version' responses: '200': description: Generated verification code for that certificate is returned. schema: $ref: '#/definitions/VerificationCodeResponse' default: description: Default error response. schema: $ref: '#/definitions/ErrorDetails' summary: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devices Provisioningservices Provisioningservicename Certificates Certificatename Generateverificationcode ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify : post: tags: - DpsCertificate operationId: microsoftAzureDpscertificateVerifycertificate summary: Microsoft Azure Verify Certificate S Private Key Possession description: Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate. x-ms-examples: DPSVerifyCertificate: $ref: ./examples/DPSVerifyCertificate.json consumes: - application/json produces: - application/json parameters: - name: certificateName in: path required: true type: string description: The mandatory logical name of the certificate, that the provisioning service uses to access. - name: If-Match in: header required: true type: string description: ETag of the certificate. - name: request in: body required: true description: The name of the certificate schema: $ref: '#/definitions/VerificationCodeRequest' - $ref: '#/parameters/subscriptionId' - name: resourceGroupName in: path required: true type: string description: Resource group name. - name: provisioningServiceName in: path required: true type: string description: Provisioning service name. - name: certificate.name in: query required: false type: string description: Common Name for the certificate. - name: certificate.rawBytes in: query required: false type: string format: byte description: Raw data of certificate. - name: certificate.isVerified in: query required: false type: boolean description: Indicates if the certificate has been verified by owner of the private key. - name: certificate.purpose in: query required: false description: Describe the purpose of the certificate. type: string enum: - clientAuthentication - serverAuthentication x-ms-enum: name: CertificatePurpose modelAsString: true - name: certificate.created in: query required: false type: string format: date-time description: Certificate creation time. - name: certificate.lastUpdated in: query required: false type: string format: date-time description: Certificate last updated time. - name: certificate.hasPrivateKey in: query required: false type: boolean description: Indicates if the certificate contains private key. - name: certificate.nonce in: query required: false type: string description: Random number generated to indicate Proof of Possession. - $ref: '#/parameters/api-version' responses: '200': description: OK schema: $ref: '#/definitions/CertificateResponse' default: description: Default error response. schema: $ref: '#/definitions/ErrorDetails' definitions: CertificateProperties: description: The description of an X509 CA Certificate. type: object properties: subject: description: The certificate's subject name. type: string readOnly: true expiry: description: The certificate's expiration date and time. type: string format: date-time-rfc1123 readOnly: true thumbprint: description: The certificate's thumbprint. type: string readOnly: true isVerified: description: Determines whether certificate has been verified. type: boolean certificate: description: base-64 representation of X509 certificate .cer file or just .pem file content. type: string format: byte created: description: The certificate's creation date and time. type: string format: date-time-rfc1123 readOnly: true updated: description: The certificate's last update date and time. type: string format: date-time-rfc1123 readOnly: true VerificationCodeRequest: type: object description: The JSON-serialized leaf certificate properties: certificate: description: base-64 representation of X509 certificate .cer file or just .pem file content. type: string CertificateResponse: description: The X509 Certificate. type: object properties: properties: description: properties of a certificate $ref: '#/definitions/CertificateProperties' id: readOnly: true type: string description: The resource identifier. name: description: The name of the certificate. type: string readOnly: true etag: description: The entity tag. type: string readOnly: true type: readOnly: true type: string description: The resource type. systemData: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/systemData readOnly: true x-ms-azure-resource: true CertificateListDescription: description: The JSON-serialized array of Certificate objects. type: object properties: value: description: The array of Certificate objects. type: array items: $ref: '#/definitions/CertificateResponse' ErrorDetails: description: Error details. type: object properties: code: description: The error code. format: int32 type: integer readOnly: true httpStatusCode: description: The HTTP status code. type: string readOnly: true message: description: The error message. type: string readOnly: true details: description: The error details. type: string readOnly: true VerificationCodeResponse: type: object description: Description of the response of the verification code. properties: name: type: string description: Name of certificate. readOnly: true etag: readOnly: true type: string description: Request etag. id: readOnly: true type: string description: The resource identifier. type: readOnly: true type: string description: The resource type. properties: type: object properties: verificationCode: type: string description: Verification code. subject: type: string description: Certificate subject. expiry: type: string description: Code expiry. thumbprint: type: string description: Certificate thumbprint. isVerified: type: boolean description: Indicate if the certificate is verified by owner of private key. certificate: description: base-64 representation of X509 certificate .cer file or just .pem file content. type: string format: byte created: type: string description: Certificate created time. updated: type: string description: Certificate updated time. x-ms-azure-resource: true parameters: subscriptionId: name: subscriptionId in: path description: The subscription identifier. required: true type: string api-version: name: api-version in: query description: The version of the API. required: true type: string x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'