Palo Alto Networks Certificate Approvals API
APIs for Certificate Approvals.
APIs for Certificate Approvals.
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:
scmOAu
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-certificate-approvals-api-openapi.yml