openapi: 3.2.0 info: title: TLS Protect Cloud API for Strata Cloud Manager Certificate Approvals API description: Use the TLS Protect Cloud APIs to manage certificates, certificate requests, applications, machine identities, users, teams, event logs, and more. This Open API spec file was created on June 04, 2026. © 2026 Palo Alto Networks, Inc. Palo Alto Networks is a registered trademark of Palo Alto Networks. A list of our trademarks can be found at https://www.paloaltonetworks.com/company/trademarks.html. All other marks mentioned herein may be trademarks of their respective companies. version: 1.0.0 license: name: MIT url: https://opensource.org/license/mit servers: - url: https://api.strata.paloaltonetworks.com/ngts description: Strata Cloud Manager API security: - scmToken: [] tags: - name: Certificate Approvals description: APIs for Certificate Approvals. paths: /v1/certificaterequests/{id}/approval/{decision}: post: description: Approve or reject certificate request that is waiting for user action operationId: certificaterequests_approve parameters: - description: UUID of a Certificate Request in: path name: id required: true schema: format: uuid type: string - description: User's decision - either approve or reject in: path name: decision required: true schema: enum: - APPROVE - REJECT type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalDecisionRequest' description: In case of rejection contains the reason for that responses: '200': content: application/json: schema: $ref: '#/components/schemas/CertificateRequestInformation1' description: Certificate Request approved/rejected '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Certificate Request not found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request summary: Approve or reject pending certificate request tags: - Certificate Approvals /v1/certificaterequests/approval/bulk/{decision}: post: description: Initiate approval or rejection of multiple certificate requests that are waiting for user action operationId: certificaterequests_bulk_approve parameters: - description: User's decision - either approve or reject in: path name: decision required: true schema: enum: - APPROVE - REJECT type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkApprovalRequest' description: In case of rejection contains the reason for that. responses: '201': content: application/json: schema: $ref: '#/components/schemas/BulkApprovalResponse' description: Bulk Approval of Certificate Request is accepted and processing '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request summary: Approve or reject multiple pending approval tags: - Certificate Approvals /v1/certificaterequests/approvalrules: post: description: Create certificate request workflow approval rule operationId: certificaterequests_approval_rule_create requestBody: content: application/json: schema: $ref: '#/components/schemas/CertificateRequestApprovalRulesRequest' description: Properties of the new approval rule. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CertificateRequestApprovalRuleOpenApi' description: Approval rule is created. Details in response body '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request. '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request. summary: Create an approval rule for certificate tags: - Certificate Approvals get: description: Retrieve all certificate request workflow approval rules for the current company. operationId: certificaterequests_approval_rules_getAll responses: '200': content: application/json: schema: $ref: '#/components/schemas/CertificateRequestApprovalRulesResponseOpenApi' description: All approval rules for the current company; details in response body. '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request. '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request. summary: Get all approval rules tags: - Certificate Approvals /v1/certificaterequests/approvalrules/{id}: get: description: Retrieve certificate request workflow approval rule with 'id' attribute matching specified value; specified value should be uuid not numeric operationId: certificaterequests_approval_rule_getById parameters: - description: UUID of an approval rule. in: path name: id required: true schema: description: UUID of an approval rule. format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CertificateRequestApprovalRuleOpenApi' description: Approval rule matching specified id '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Request Conditions Failed '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Approval rule not found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Request Conditions Failed summary: Retrieve approval rule by id tags: - Certificate Approvals put: description: Can be used to update specific fields of the approval rule that has the specified `id` operationId: certificaterequests_approval_rule_update parameters: - description: UUID of an approval rule. in: path name: id required: true schema: description: UUID of an approval rule. format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CertificateRequestApprovalRulesUpdateRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CertificateRequestApprovalRuleOpenApi' description: Approval rule updated '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Request Conditions Failed '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Approval rule Not Found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Request Conditions Failed summary: Update certificate request workflow approval rule tags: - Certificate Approvals delete: description: Delete certificate request workflow approval rule with 'id' attribute matching specified value; specified value should be uuid not numeric operationId: certificaterequests_approval_rule_delete parameters: - description: UUID of an approval rule. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CertificateRequestApprovalRuleDeleteResponseOpenApi' description: Specified approval rule was deleted '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request. '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Specified approval rule was not found. '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request. summary: Delete certificate request workflow approval rule tags: - Certificate Approvals /v1/certificaterequests/approvalrequests/{entityId}: get: description: Retrieve approval request by specified certificate request id operationId: certificaterequests_approvalrequest parameters: - description: Entity UUID of the approval request in: path name: entityId required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ApprovalRequestInformation' description: Approval Request information '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Approval Request not found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse2' description: Incomplete or malformed request summary: Retrieve approval request for specific certificate tags: - Certificate Approvals components: schemas: AnyValue2: description: Can be any value - string, number, boolean, array or object. CertificateRequestInformation1: properties: caOrderId: description: A CA order ID example: '63364861' type: string certificateIds: description: A collection of certificate IDs example: - 1441c6f0-9136-11ed-bd65-ed926a033704 - 12257370-9132-11ed-bd65-ed926a033704 items: format: uuid type: string type: array certificateIssuingTemplateId: description: UUID of a certificate issuing template example: ce9c2cc0-9131-11ed-a8f1-bf0e7991f912 format: uuid type: string certificateName: description: A certificate name example: venafi.com type: string certificateOwnerUserId: description: UUID of the certificate request's owner example: 88932c30-8e14-11ed-87e3-755db050f29d format: uuid type: string certificateSigningRequest: description: A certificate signing request (CSR) in PEM format type: string companyId: description: UUID of a company example: 85595df0-8e14-11ed-87e3-755db050f29d format: uuid type: string creationDate: description: The date a certificate request was created example: '2023-01-10T09:12:28Z' format: date-time type: string customAttributes: $ref: '#/components/schemas/CustomAttributes1' dekHash: description: A certificate dek hash example: RaBDrLmQ69hACXOrPU6542RBT-M-yZOkw4XKsT-r55i= type: string encryptedPrivateKey: format: byte type: string encryptionDetails: $ref: '#/components/schemas/EncryptionDetails' errorInformation: $ref: '#/components/schemas/ErrorInformation2' id: description: UUID of a certificate request example: fa4a2210-9135-11ed-a8f1-bf0e7991f912 format: uuid type: string keyCurve: description: Certificate request key curve enum: - P256 - P384 - P521 - ED25519 - UNKNOWN example: P521 type: string keyLength: description: Certificate request key length example: 2048 format: int32 type: integer keyType: description: Certificate request key type enum: - RSA - DSA - EC - GOST3410 - ECGOST3410 - RESERVED3 - UNKNOWN example: RSA type: string modificationDate: description: The date a certificate request was modified example: '2023-01-11T09:12:28Z' format: date-time type: string product: $ref: '#/components/schemas/CertificateAuthorityProductInformation' productEntitlement: enum: - ANY - MIRA - DEVOPS - OUTAGE_DETECTION - CODESIGN type: string status: description: The status of a certificate request enum: - NEW - PENDING - PENDING_APPROVAL - PENDING_FINAL_APPROVAL - REJECTED_APPROVAL - REQUESTED - ISSUED - REJECTED - CANCELLED - REVOKED - FAILED - DELETED example: ISSUED type: string subjectAlternativeNamesByType: $ref: '#/components/schemas/GeneralNamesData1' subjectDN: description: Certificate request subject DN example: cn=venafi.com,ou=devops,o=venafi,c=US,st=Utah,l=Salt Lake City type: string validityPeriod: description: ISO8601 Period Format example: P10M type: string type: object CertificateRequestApprovalConditionsFilterRuleInformation: properties: applicationIds: description: A collection of application ids the rule will be applicable to format: uuid items: format: uuid type: string type: array certificateAuthorityAccountIds: description: A collection of certificate authority account ids the rule will be applicable to format: uuid items: format: uuid type: string type: array certificateIssuingTemplateIds: description: A collection of certificate issuing template ids the rule will be applicable to format: uuid items: format: uuid type: string type: array type: object CertificateRequestApprovalRulesRequest: properties: approvers: description: A collection of approvers specified by type and id items: $ref: '#/components/schemas/ApproverProperty' minItems: 1 type: array uniqueItems: true atLeast: description: If the type of the approval is AT_LEAST then specify how many people have to approve example: 2 format: int32 minimum: 1 type: integer autoApproveOnRenew: default: false description: Automatically approve when renew a certificate type: boolean autoRejectionThreshold: description: Auto rejection threshold. After the defined number of days since request creation, the request is automatically rejected, if it is not approved example: 5 maximum: 99 minimum: 1 type: number conditions: $ref: '#/components/schemas/CertificateRequestApprovalConditionsFilterRuleInformation' continueProcessingOnException: default: false description: Continue with next approval rules when match an approval rule exception condition type: boolean exceptions: $ref: '#/components/schemas/CertificateRequestApprovalExceptionsFilterRuleInformation' finalApprover: description: UUID of the final approver example: 8268d820-a08d-11ed-bbc0-252385d6d390 format: uuid type: string name: description: Approval rule name example: Approval rule for built in CA maxLength: 64 type: string type: description: The type of the approval rule enum: - ALL - AT_LEAST example: AT_LEAST type: string required: - approvers - conditions - name - type type: object CertificateRequestApprovalRuleOpenApi: properties: approvers: description: A collection of approvers specified by type and id items: $ref: '#/components/schemas/ApproverProperty' type: array uniqueItems: true atLeast: description: If the type of the approval is AT_LEAST then specify how many people have to approve format: int32 type: integer autoApproveOnRenew: default: false description: Automatically approve when renew a certificate type: boolean autoRejectionThreshold: description: Auto rejection threshold. After the defined number of days since request creation, the request is automatically rejected, if it is not approved example: 5 maximum: 99 minimum: 1 type: number conditions: $ref: '#/components/schemas/CertificateRequestApprovalConditionsFilterRuleInformation' creationDate: description: The date a approval rule was created example: '2023-01-10T09:12:28Z' format: date-time type: string exceptions: $ref: '#/components/schemas/CertificateRequestApprovalExceptionsFilterRuleInformation' finalApprover: $ref: '#/components/schemas/ApproverPropertyOpenApi' id: description: Approval rule `id` format: uuid type: string modificationDate: description: The date a approval rule was modified example: '2023-01-11T09:12:28Z' format: date-time type: string name: description: Approval rule name type: string priority: description: Priority of the rule format: int32 type: integer type: description: The type of the approval rule type: string type: object ApprovalDecisionRequest: properties: reason: description: Reason for user's decision example: I reject this request because the certificate won't be needed anymore. maxLength: 1024 type: string type: object ErrorInformation2: properties: args: items: $ref: '#/components/schemas/AnyValue2' type: array code: format: int32 type: integer message: type: string type: object CertificateRequestApprovalRulesResponseOpenApi: properties: approvalRules: items: $ref: '#/components/schemas/CertificateRequestApprovalRuleOpenApi' type: array type: object CustomAttributes1: description: A certificate request custom attributes example: dnsNames: - www.venafi.com - venafi.com properties: dnsNames: items: type: string type: array uniqueItems: true overwriteSans: type: boolean type: object ApproverPropertyOpenApi: description: Approver with id that can be only user type properties: id: description: UUID specific to the approver user/team example: 8268d820-a08d-11ed-bbc0-252385d6d389 format: uuid type: string type: description: Approver type example: USER type: string type: object ApprovalRequestInformation: properties: approvalRule: $ref: '#/components/schemas/CertificateRequestApprovalRuleOpenApi' approvers: description: A collection of approvers specified by type and id items: $ref: '#/components/schemas/ApproverProperty' type: array uniqueItems: true approversOutcome: description: A collection of approver outcomes items: $ref: '#/components/schemas/ApproverOutcomeInformation' type: array uniqueItems: true autoRejectionThreshold: description: Auto rejection threshold. After the defined number of days since request creation, the request is automatically rejected, if it is not approved example: 5 maximum: 99 minimum: 1 type: number companyId: description: UUID of a company example: 03eb6e61-9806-11ed-84f2-c747fb71e467 format: uuid type: string creationDate: description: The date a approval request was created example: '2023-01-10T09:12:28Z' format: date-time type: string entityId: description: UUID of a certificate request example: 5ece3180-b1e0-11ed-862d-ad36b18e787b format: uuid type: string finalApprover: $ref: '#/components/schemas/ApproverPropertyOpenApi' id: description: UUID of a approval request example: 5ece3180-b1e0-11ed-862d-ad36b18e787d format: uuid type: string modificationDate: description: The date a approval request was modified example: '2023-01-11T09:12:28Z' format: date-time type: string requestorId: description: UUID of a requestor example: 8268d820-a08d-11ed-bbc0-252385d6d389 format: uuid type: string requiredApprovalsCount: description: Count of a required approvals example: 2 format: int32 type: integer status: description: Status of an approval request enum: - NOT_REQUIRED - PENDING_APPROVAL - PENDING_FINAL_APPROVAL - APPROVED - REJECTED - EXPIRED - AUTO_APPROVED example: PENDING_APPROVAL type: string type: object ApproverProperty: properties: id: format: uuid type: string type: enum: - USER - TEAM type: string type: object CertificateRequestApprovalRulesUpdateRequest: properties: approvers: description: A collection of approvers specified by type and id items: $ref: '#/components/schemas/ApproverProperty' minItems: 1 type: array uniqueItems: true atLeast: description: If the type of the approval is AT_LEAST then specify how many people have to approve example: 2 format: int32 minimum: 1 type: integer autoApproveOnRenew: default: false description: Automatically approve when renew a certificate type: boolean autoRejectionThreshold: description: Auto rejection threshold. After the defined number of days since request creation, the request is automatically rejected, if it is not approved example: 5 maximum: 99 minimum: 1 type: number conditions: $ref: '#/components/schemas/CertificateRequestApprovalConditionsFilterRuleInformation' continueProcessingOnException: default: false description: Continue with next approval rules when match an approval rule exception condition type: boolean exceptions: $ref: '#/components/schemas/CertificateRequestApprovalExceptionsFilterRuleInformation' finalApprover: description: UUID of the final approver example: 8268d820-a08d-11ed-bbc0-252385d6d390 format: uuid type: string name: description: Approval rule name example: Approval rule for built in CA maxLength: 64 type: string priority: description: Rule priority. The order in which the rules will be executed. Starts from 1 (highest priority). example: 5 minimum: 1 type: number type: description: The type of the approval rule enum: - ALL - AT_LEAST example: AT_LEAST type: string required: - approvers - conditions - name - type type: object CertificateRequestApprovalExceptionsFilterRuleInformation: properties: applicationIds: description: A collection of application ids the rule won't be applied to format: uuid items: format: uuid type: string type: array requestors: description: A collection of approvers, specified by type and id, for which the rule won't be applied items: $ref: '#/components/schemas/ApproverProperty' type: array uniqueItems: true type: object ApproverOutcomeInformation: properties: companyId: description: UUID of a company example: 03eb6e61-9806-11ed-84f2-c747fb71e467 format: uuid type: string creationDate: description: The date a approver outcome was created example: '2023-01-10T09:12:28Z' format: date-time type: string id: description: UUID of an approver outcome example: 5ece3180-b1e0-11ed-862d-ad36b18e787c format: uuid type: string reason: description: Reason of an outcome example: Not needed type: string status: description: Status of an approval request enum: - APPROVED - REJECTED example: APPROVED type: string userId: description: UUID of a user example: 8268d820-a08d-11ed-bbc0-252385d6d389 format: uuid type: string type: object EncryptionDetails: properties: encryptionType: enum: - RSA - DSA - EC - GOST3410 - ECGOST3410 - RESERVED3 - UNKNOWN type: string value: $ref: '#/components/schemas/AnyValue2' type: object CertificateAuthorityProductInformation: description: Product specific for external certificate authority discriminator: propertyName: certificateAuthority properties: certificateAuthority: type: string certificateType: enum: - OTHER - DOMAIN_VALIDATED_SSL type: string hashAlgorithm: enum: - MD5 - SHA1 - MD2 - SHA224 - SHA256 - SHA384 - SHA512 - UNKNOWN - GOSTR3411_94 - SHA3_224 - SHA3_256 - SHA3_384 - SHA3_512 - RIPEMD128 - RIPEMD160 - RIPEMD256 - SHA512_224 - SHA512_256 - SM3 - GOSTR3411_2012_256 - GOSTR3411_2012_512 - SHAKE128 - SHAKE256 type: string productName: type: string productTypes: items: enum: - SSL - CODESIGN type: string readOnly: true type: array validityPeriod: description: ISO8601 Period Format example: PnYnMnDTnHnMnS type: string required: - certificateAuthority type: object GeneralNamesData1: description: A certificate request subject alternative name (SAN) type example: dNSName: - www.venafi.com - venafi.com properties: dNSName: items: type: string type: array directoryName: items: type: string type: array ediPartyName: items: type: string type: array iPAddress: items: type: string type: array otherName: items: type: string type: array registeredID: items: type: string type: array rfc822Name: items: type: string type: array uniformResourceIdentifier: items: type: string type: array x400Address: items: type: string type: array type: object ErrorResponse2: properties: errors: items: $ref: '#/components/schemas/ErrorInformation2' type: array type: object BulkApprovalResponse: properties: operationId: type: string type: object CertificateRequestApprovalRuleDeleteResponseOpenApi: properties: id: description: Approval rule `id` format: uuid type: string name: description: Approval rule name type: string type: object BulkApprovalRequest: properties: ids: description: Set of UUIDs of the certificate requests example: - 265f6d30-a0bb-11ed-aee0-89fe7e5f5d0c items: description: Set of UUIDs of the certificate requests format: uuid type: string maxItems: 100 type: array uniqueItems: true reason: description: Reason for user's decision example: I reject this request because the certificate won't be needed anymore. maxLength: 1024 type: string wsClientId: description: The ws client id, that will be used when the execution finishes example: someid type: string required: - ids type: object securitySchemes: scmOAuth: type: oauth2 description: 'Strata Cloud Manager APIs authenticate client requests using the OAuth 2.0 Client Credentials flow. Please use the `client_id`, `client_secret` values associated with an IAM service account along with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the Tenant Service Group (TSG) ID. The resulting JWT access token should be attached to all API calls as a `Bearer` token in the `Authorization` header (ex. `Authorization: Bearer tokenstring`).' flows: clientCredentials: tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token scopes: {} scmToken: type: http description: 'Strata Cloud Manager APIs authenticate client requests using the OAuth 2.0 Client Credentials flow. Please use the `client_id`, `client_secret` values associated with an IAM service account along with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the Tenant Service Group (TSG) ID. The resulting JWT access token should be attached to all API calls as a `Bearer` token in the `Authorization` header (ex. `Authorization: Bearer tokenstring`).' scheme: bearer bearerFormat: JWT