Venafi Certificate Policy API

The Certificate Policy API from Venafi — 3 operation(s) for certificate policy.

Operations 6

GET /v1/certificateissuingtemplates Get the details of issuing templates matching simple criteria #
POST /v1/certificateissuingtemplates Add an issuing template #
GET /v1/certificateissuingtemplates/{id} Get an issuing template's details #
PUT /v1/certificateissuingtemplates/{id} Overwrite an issuing template's details #
DELETE /v1/certificateissuingtemplates/{id} Remove an issuing template #
POST /v1/certificateissuingtemplates/domainssynchronization Synchronize issuing templates domains with CA #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/venafi-certificate-policy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

venafi-certificate-policy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Certificate Manager - SaaS Certificate Policy API
  version: '1.0'
servers:
- description: US Region
  url: https://api.venafi.cloud
- description: EU Region
  url: https://api.eu.venafi.cloud
- description: AU Region
  url: https://api.au.venafi.cloud
- description: UK Region
  url: https://api.uk.venafi.cloud
- description: SG Region
  url: https://api.sg.venafi.cloud
- description: CA Region
  url: https://api.ca.venafi.cloud
tags:
- name: Certificate Policy
paths:
  /v1/certificateissuingtemplates:
    get:
      description: Retrieves the details of issuing templates ordered by `priority` and `certificateAuthority`.
      operationId: certificateissuingtemplate_getAll
      parameters:
      - description: UUID of a Certificate Authority Account.
        in: query
        name: certificateAuthorityAccountId
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateIssuingTemplateResponse'
          description: Details of Issuing Templates in response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Get the details of issuing templates matching simple criteria
      tags:
      - Certificate Policy
      x-rbac:
        permissions:
          access_type: read
          description: Ability to get certificate issuing template details
          name: ngts.certificate_issuing_template.get
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
        - Guest
        - cert-manager-enterprise-issuer
    post:
      description: Creates an issuing template.
      operationId: certificateissuingtemplate_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateIssuingTemplateRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateIssuingTemplateResponse'
          description: Issuing Template was created; details in response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Issuing Template not found.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Issuing Template already exists.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Add an issuing template
      tags:
      - Certificate Policy
      x-rbac:
        permissions:
          access_type: write
          description: Ability to create a certificate issuing template
          name: ngts.certificate_issuing_template.create
        roles:
        - PKIAdmin
  /v1/certificateissuingtemplates/{id}:
    get:
      description: Retrieve the details of the issuing template that has the specified `id`.
      operationId: certificateissuingtemplate_getById
      parameters:
      - description: UUID of an Issuing Template.
        in: path
        name: id
        required: true
        schema:
          description: UUID of an Issuing Template.
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateIssuingTemplateInformation2'
          description: Issuing Template was found; details in response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Issuing Template not found.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Get an issuing template's details
      tags:
      - Certificate Policy
      x-rbac:
        permissions:
          access_type: read
          description: Ability to get certificate issuing template details
          name: ngts.certificate_issuing_template.get
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
        - Guest
    put:
      description: Updates all the details of the issuing template that has the specified `id`.
      operationId: certificateissuingtemplate_update
      parameters:
      - description: UUID of an Issuing Template.
        in: path
        name: id
        required: true
        schema:
          description: UUID of an Issuing Template.
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateIssuingTemplateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateIssuingTemplateInformation2'
          description: Issuing Template was updated; details in response body.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateIssuingTemplateInformation2'
          description: Issuing Template exists.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Request Conditions Failed
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Issuing Template not found.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Overwrite an issuing template's details
      tags:
      - Certificate Policy
      x-rbac:
        permissions:
          access_type: write
          description: Ability to update existing certificate issuing templates
          name: ngts.certificate_issuing_template.update
        roles:
        - PKIAdmin
    delete:
      description: Deletes the issuing template that has the specified `id`.
      operationId: certificateissuingtemplate_delete
      parameters:
      - description: UUID of an Issuing Template.
        in: path
        name: id
        required: true
        schema:
          description: UUID of an Issuing Template.
          format: uuid
          type: string
      responses:
        '204':
          description: Issuing Template was deleted
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Issuing Template not found.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse10'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Remove an issuing template
      tags:
      - Certificate Policy
      x-rbac:
        permissions:
          access_type: write
          description: Ability to delete certificate issuing templates
          name: ngts.certificate_issuing_template.delete
        roles:
        - PKIAdmin
  /v1/certificateissuingtemplates/domainssynchronization:
    post:
      description: Loads domain list from CA and updates the issuing templates with it
      operationId: domainssynchronization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssuingTemplatesDomainsSyncRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssuingTemplateDomainsSyncResponse'
          description: List with the information about the status of the sync of every issuing template
      security:
      - tppl-api-key: []
      summary: Synchronize issuing templates domains with CA
      tags:
      - Certificate Policy
      x-rbac:
        permissions:
          access_type: write
          description: Ability to synchronize certificate issuing template domains with CA
          name: ngts.certificate_issuing_template_domain_sync.update
        roles:
        - PKIAdmin
components:
  schemas:
    CertificateIssuingTemplateInformation2:
      properties:
        certificateAuthority:
          enum:
          - MOCKCA
          - DIGICERT
          - GLOBALSIGN
          - BUILTIN
          - ENTRUST
          - MICROSOFT
          - ACME
          - ZTPKI
          - GLOBALSIGNMSSL
          - TPP
          - CONNECTOR
          - BUILTIN_GEN2
          type: string
        certificateAuthorityAccountId:
          format: uuid
          type: string
        certificateAuthorityProductOptionId:
          format: uuid
          type: string
        companyId:
          format: uuid
          type: string
        consumerTsgIds:
          items:
            type: string
          type: array
          uniqueItems: true
        creationDate:
          format: date-time
          type: string
        csrUploadAllowed:
          type: boolean
        description:
          type: string
        driverGeneratedCsr:
          type: boolean
        driverId:
          format: uuid
          type: string
        everyoneIsConsumer:
          type: boolean
        extendedKeyUsageValues:
          items:
            enum:
            - SERVER
            - CLIENT
            type: string
          type: array
          uniqueItems: true
        id:
          format: uuid
          type: string
        keyGeneratedByVenafiAllowed:
          type: boolean
        keyPairId:
          format: uuid
          type: string
        keyReuse:
          type: boolean
        keyTypes:
          items:
            $ref: '#/components/schemas/KeyTypeInformation2'
          type: array
        locationId:
          format: uuid
          type: string
        modificationDate:
          format: date-time
          type: string
        name:
          type: string
        priority:
          format: int32
          type: integer
        product:
          $ref: '#/components/schemas/CertificateAuthorityProductInformation2'
        reason:
          type: string
        recommendedSettings:
          $ref: '#/components/schemas/RecommendedSettingsInformation2'
        referencingApplicationIds:
          items:
            format: uuid
            type: string
          type: array
        resourceConsumerTeamIds:
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        resourceConsumerUserIds:
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        sanDnsNameRegexes:
          items:
            type: string
          type: array
        sanIpAddressRegexes:
          items:
            type: string
          type: array
        sanRegexes:
          items:
            type: string
          type: array
        sanRfc822NameRegexes:
          items:
            type: string
          type: array
        sanUniformResourceIdentifierRegexes:
          items:
            type: string
          type: array
        shareWithAll:
          type: boolean
        status:
          enum:
          - AVAILABLE
          - UNAVAILABLE
          type: string
        subjectCNRegexes:
          items:
            type: string
          type: array
        subjectCValues:
          items:
            type: string
          type: array
        subjectLRegexes:
          items:
            type: string
          type: array
        subjectORegexes:
          items:
            type: string
          type: array
        subjectOURegexes:
          items:
            type: string
          type: array
        subjectSTRegexes:
          items:
            type: string
          type: array
        systemGenerated:
          type: boolean
        trackingData:
          $ref: '#/components/schemas/TrackingDataInformation'
      type: object
    RecommendedSettingsRequest:
      properties:
        key:
          $ref: '#/components/schemas/RecommendedSettingsKeyTypeParameter'
        keyGeneratedBy:
          type: string
        sanRegexes:
          items:
            type: string
          type: array
        subjectCNRegexes:
          items:
            type: string
          type: array
        subjectCValue:
          pattern: ^(([A-Z]{2})|(\.\*))$
          type: string
        subjectLValue:
          pattern: '[^\*]*'
          type: string
        subjectOUValue:
          pattern: '[^\*]*'
          type: string
        subjectOValue:
          pattern: '[^\*]*'
          type: string
        subjectSTValue:
          pattern: '[^\*]*'
          type: string
      type: object
    KeyTypeInformation2:
      discriminator:
        propertyName: keyType
      properties:
        keyType:
          type: string
      type: object
    CertificateIssuingTemplateResponse:
      properties:
        certificateIssuingTemplates:
          items:
            $ref: '#/components/schemas/CertificateIssuingTemplateInformation2'
          type: array
      type: object
    ErrorInformation8:
      properties:
        args:
          items:
            $ref: '#/components/schemas/AnyValue8'
          type: array
        code:
          format: int32
          type: integer
        message:
          type: string
      type: object
    IssuingTemplateDomainsSyncResponse:
      properties:
        issuingTemplatesInformationList:
          items:
            $ref: '#/components/schemas/IssuingTemplateDomainsSyncInformation'
          type: array
      type: object
    ErrorResponse10:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorInformation8'
          type: array
      type: object
    IssuingTemplateDomainsSyncInformation:
      properties:
        error:
          $ref: '#/components/schemas/ErrorInformation8'
        issuingTemplateId:
          format: uuid
          type: string
        status:
          enum:
          - COMPLETED
          - FAILED
          type: string
      type: object
    AnyValue8:
      description: Can be any value - string, number, boolean, array or object.
    IssuingTemplatesDomainsSyncRequest:
      properties:
        action:
          enum:
          - REPLACE
          type: string
        certificateAuthorityAccountId:
          format: uuid
          type: string
        issuingTemplatesIds:
          description: Set of UUIDs of the issuing templates
          example:
          - 265f6d30-a0bb-11ed-aee0-89fe7e5f5d0c
          items:
            description: Set of UUIDs of the issuing templates
            format: uuid
            type: string
          minItems: 1
          type: array
          uniqueItems: true
      required:
      - action
      - certificateAuthorityAccountId
      - issuingTemplatesIds
      type: object
    RecommendedSettingsKeyTypeParameter:
      properties:
        curve:
          enum:
          - P256
          - P384
          - P521
          - ED25519
          - UNKNOWN
          type: string
        length:
          format: int32
          type: integer
        type:
          enum:
          - RSA
          - EC
          type: string
      type: object
    RecommendedSettingsInformation2:
      properties:
        key:
          $ref: '#/components/schemas/RecommendedSettingsKeyTypeInformation2'
        keyGeneratedBy:
          type: string
        sanRegexes:
          items:
            type: string
          type: array
        subjectCNRegexes:
          items:
            type: string
          type: array
        subjectCValue:
          type: string
        subjectLValue:
          type: string
        subjectOUValue:
          type: string
        subjectOValue:
          type: string
        subjectSTValue:
          type: string
      type: object
    RecommendedSettingsKeyTypeInformation2:
      properties:
        curve:
          enum:
          - P256
          - P384
          - P521
          - ED25519
          - UNKNOWN
          type: string
        length:
          format: int32
          type: integer
        type:
          enum:
          - RSA
          - EC
          type: string
      type: object
    TrackingDataInformation:
      discriminator:
        propertyName: certificateAuthority
      properties:
        certificateAuthority:
          type: string
      required:
      - certificateAuthority
      type: object
    CertificateIssuingTemplateRequest:
      properties:
        certificateAuthority:
          enum:
          - MOCKCA
          - DIGICERT
          - GLOBALSIGN
          - BUILTIN
          - ENTRUST
          - MICROSOFT
          - ACME
          - ZTPKI
          - GLOBALSIGNMSSL
          - TPP
          - CONNECTOR
          - BUILTIN_GEN2
          type: string
        certificateAuthorityProductOptionId:
          format: uuid
          type: string
        consumerTsgIds:
          items:
            type: string
          type: array
          uniqueItems: true
        csrUploadAllowed:
          type: boolean
        description:
          maxLength: 1024
          type: string
        driverGeneratedCsr:
          type: boolean
        driverId:
          format: uuid
          type: string
        everyoneIsConsumer:
          type: boolean
        extendedKeyUsageValues:
          items:
            enum:
            - SERVER
            - CLIENT
            type: string
          type: array
          uniqueItems: true
        keyGeneratedByVenafiAllowed:
          type: boolean
        keyPairId:
          format: uuid
          type: string
        keyReuse:
          type: boolean
        keyTypes:
          items:
            $ref: '#/components/schemas/KeyTypeParameters2'
          type: array
        locationId:
          format: uuid
          type: string
        name:
          maxLength: 64
          type: string
        priority:
          format: int32
          type: integer
        product:
          $ref: '#/components/schemas/CertificateAuthorityProductInformation2'
        recommendedSettings:
          $ref: '#/components/schemas/RecommendedSettingsRequest'
        resourceConsumerTeamIds:
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        resourceConsumerUserIds:
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        sanIpAddressRegexes:
          items:
            type: string
          type: array
        sanRegexes:
          items:
            type: string
          type: array
        sanRfc822NameRegexes:
          items:
            type: string
          type: array
        sanUniformResourceIdentifierRegexes:
          items:
            type: string
          type: array
        shareWithAll:
          type: boolean
        subjectCNRegexes:
          items:
            type: string
          type: array
        subjectCValues:
          items:
            type: string
          type: array
        subjectLRegexes:
          items:
            type: string
          type: array
        subjectORegexes:
          items:
            type: string
          type: array
        subjectOURegexes:
          items:
            type: string
          type: array
        subjectSTRegexes:
          items:
            type: string
          type: array
        trackingData:
          $ref: '#/components/schemas/TrackingDataInformation'
      required:
      - certificateAuthority
      - certificateAuthorityProductOptionId
      - keyReuse
      - keyTypes
      - name
      - product
      type: object
    CertificateAuthorityProductInformation2:
      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
    KeyTypeParameters2:
      properties:
        keyCurves:
          items:
            enum:
            - P256
            - P384
            - P521
            - ED25519
            - UNKNOWN
            type: string
          type: array
        keyLengths:
          items:
            format: int32
            type: integer
          type: array
        keyType:
          enum:
          - RSA
          - EC
          type: string
      required:
      - keyType
      type: object
  securitySchemes:
    service-account:
      in: header
      name: service-account
      type: apiKey
    tppl-api-key:
      in: header
      name: tppl-api-key
      type: apiKey
x-readme:
  samples-languages:
  - curl
  - go
  - java
  - javascript
  - node
  - python