openapi: 3.0.3 info: title: Infisical Admin PKI Certificate Templates API description: List of all available APIs that can be consumed version: 0.0.1 servers: - url: https://us.infisical.com description: Production server (US) - url: https://eu.infisical.com description: Production server (EU) - url: http://localhost:8080 description: Local server tags: - name: PKI Certificate Templates paths: /api/v1/projects/{projectId}/certificate-templates: get: operationId: listProjectCertificateTemplates tags: - PKI Certificate Templates parameters: - schema: type: string in: path name: projectId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificateTemplates: type: array items: type: object properties: id: type: string format: uuid caId: type: string format: uuid name: type: string commonName: type: string subjectAlternativeName: type: string pkiCollectionId: type: string format: uuid nullable: true ttl: type: string keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true projectId: type: string caName: type: string required: - id - caId - name - commonName - subjectAlternativeName - ttl - projectId - caName additionalProperties: false required: - certificateTemplates additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v1/pki/certificate-templates/{certificateTemplateId}: get: tags: - PKI Certificate Templates parameters: - schema: type: string in: path name: certificateTemplateId required: true description: The ID of the certificate template to get. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid caId: type: string format: uuid name: type: string commonName: type: string subjectAlternativeName: type: string pkiCollectionId: type: string format: uuid nullable: true ttl: type: string keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true projectId: type: string caName: type: string required: - id - caId - name - commonName - subjectAlternativeName - ttl - projectId - caName additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: tags: - PKI Certificate Templates requestBody: required: true content: application/json: schema: type: object properties: caId: type: string description: The ID of the certificate authority to update the association with the template. pkiCollectionId: type: string description: The ID of the PKI collection to update the binding to the template. name: type: string minLength: 1 maxLength: 64 description: The updated name of the template. commonName: type: string minLength: 1 maxLength: 100 description: The updated regular expression string for validating common names. subjectAlternativeName: type: string minLength: 1 maxLength: 100 description: The updated regular expression string for validating subject alternative names. ttl: type: string description: The updated max TTL for the template. keyUsages: type: array items: type: string enum: - digitalSignature - keyEncipherment - nonRepudiation - dataEncipherment - keyAgreement - keyCertSign - cRLSign - encipherOnly - decipherOnly description: The updated key usage constraint or default value for when template is used during certificate issuance. extendedKeyUsages: type: array items: type: string enum: - clientAuth - serverAuth - codeSigning - emailProtection - timeStamping - ocspSigning description: The updated extended key usage constraint or default value for when template is used during certificate issuance. additionalProperties: false parameters: - schema: type: string in: path name: certificateTemplateId required: true description: The ID of the certificate template to update. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid caId: type: string format: uuid name: type: string commonName: type: string subjectAlternativeName: type: string pkiCollectionId: type: string format: uuid nullable: true ttl: type: string keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true projectId: type: string caName: type: string required: - id - caId - name - commonName - subjectAlternativeName - ttl - projectId - caName additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: tags: - PKI Certificate Templates parameters: - schema: type: string in: path name: certificateTemplateId required: true description: The ID of the certificate template to delete. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid caId: type: string format: uuid name: type: string commonName: type: string subjectAlternativeName: type: string pkiCollectionId: type: string format: uuid nullable: true ttl: type: string keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true projectId: type: string caName: type: string required: - id - caId - name - commonName - subjectAlternativeName - ttl - projectId - caName additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v1/pki/certificate-templates: post: tags: - PKI Certificate Templates requestBody: required: true content: application/json: schema: type: object properties: caId: type: string description: The ID of the certificate authority to associate the template with. pkiCollectionId: type: string description: The ID of the PKI collection to bind to the template. name: type: string minLength: 1 maxLength: 64 description: The name of the template. commonName: type: string minLength: 1 maxLength: 100 description: The regular expression string to use for validating common names. subjectAlternativeName: type: string minLength: 1 maxLength: 100 description: The regular expression string to use for validating subject alternative names. ttl: type: string description: The max TTL for the template. keyUsages: type: array items: type: string enum: - digitalSignature - keyEncipherment - nonRepudiation - dataEncipherment - keyAgreement - keyCertSign - cRLSign - encipherOnly - decipherOnly default: - digitalSignature - keyEncipherment description: The key usage constraint or default value for when template is used during certificate issuance. extendedKeyUsages: type: array items: type: string enum: - clientAuth - serverAuth - codeSigning - emailProtection - timeStamping - ocspSigning default: [] description: The extended key usage constraint or default value for when template is used during certificate issuance. required: - caId - name - commonName - subjectAlternativeName - ttl additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid caId: type: string format: uuid name: type: string commonName: type: string subjectAlternativeName: type: string pkiCollectionId: type: string format: uuid nullable: true ttl: type: string keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true projectId: type: string caName: type: string required: - id - caId - name - commonName - subjectAlternativeName - ttl - projectId - caName additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v1/pki/certificate-templates/{certificateTemplateId}/est-config: post: tags: - PKI Certificate Templates description: Create Certificate Template EST configuration requestBody: required: true content: application/json: schema: type: object properties: caChain: type: string passphrase: type: string minLength: 1 isEnabled: type: boolean default: true disableBootstrapCertValidation: type: boolean default: false required: - passphrase additionalProperties: false parameters: - schema: type: string in: path name: certificateTemplateId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid certificateTemplateId: type: string format: uuid isEnabled: type: boolean disableBootstrapCertValidation: type: boolean default: false required: - id - certificateTemplateId - isEnabled additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: tags: - PKI Certificate Templates description: Update Certificate Template EST configuration requestBody: required: true content: application/json: schema: type: object properties: caChain: type: string passphrase: type: string minLength: 1 disableBootstrapCertValidation: type: boolean isEnabled: type: boolean additionalProperties: false parameters: - schema: type: string in: path name: certificateTemplateId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid certificateTemplateId: type: string format: uuid isEnabled: type: boolean disableBootstrapCertValidation: type: boolean default: false required: - id - certificateTemplateId - isEnabled additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false get: tags: - PKI Certificate Templates description: Get Certificate Template EST configuration parameters: - schema: type: string in: path name: certificateTemplateId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid certificateTemplateId: type: string format: uuid isEnabled: type: boolean disableBootstrapCertValidation: type: boolean default: false caChain: type: string required: - id - certificateTemplateId - isEnabled - caChain additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/pki/certificate-templates: post: operationId: createPkiTemplate tags: - PKI Certificate Templates requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 caName: type: string minLength: 1 maxLength: 64 projectId: type: string commonName: type: string minLength: 1 maxLength: 100 subjectAlternativeName: type: string minLength: 1 maxLength: 100 ttl: type: string keyUsages: type: array items: type: string enum: - digitalSignature - keyEncipherment - nonRepudiation - dataEncipherment - keyAgreement - keyCertSign - cRLSign - encipherOnly - decipherOnly default: - digitalSignature - keyEncipherment extendedKeyUsages: type: array items: type: string enum: - clientAuth - serverAuth - codeSigning - emailProtection - timeStamping - ocspSigning default: [] required: - name - caName - projectId - commonName - subjectAlternativeName - ttl additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: certificateTemplate: type: object properties: id: type: string format: uuid caId: type: string format: uuid pkiCollectionId: type: string format: uuid nullable: true name: type: string commonName: type: string subjectAlternativeName: type: string ttl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true required: - id - caId - name - commonName - subjectAlternativeName - ttl - createdAt - updatedAt additionalProperties: false required: - certificateTemplate additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false get: operationId: listPkiTemplates tags: - PKI Certificate Templates parameters: - schema: type: string in: query name: projectId required: true - schema: type: number default: 100 in: query name: limit required: false - schema: type: number default: 0 in: query name: offset required: false responses: '200': description: Default Response content: application/json: schema: type: object properties: certificateTemplates: type: array items: type: object properties: id: type: string format: uuid caId: type: string format: uuid pkiCollectionId: type: string format: uuid nullable: true name: type: string commonName: type: string subjectAlternativeName: type: string ttl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true ca: type: object properties: id: type: string name: type: string required: - id - name additionalProperties: false required: - id - caId - name - commonName - subjectAlternativeName - ttl - createdAt - updatedAt - ca additionalProperties: false totalCount: type: number required: - certificateTemplates - totalCount additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/pki/certificate-templates/{templateName}: patch: operationId: updatePkiTemplate tags: - PKI Certificate Templates requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 caName: type: string minLength: 1 maxLength: 64 projectId: type: string commonName: type: string minLength: 1 maxLength: 100 subjectAlternativeName: type: string minLength: 1 maxLength: 100 ttl: type: string keyUsages: type: array items: type: string enum: - digitalSignature - keyEncipherment - nonRepudiation - dataEncipherment - keyAgreement - keyCertSign - cRLSign - encipherOnly - decipherOnly default: - digitalSignature - keyEncipherment extendedKeyUsages: type: array items: type: string enum: - clientAuth - serverAuth - codeSigning - emailProtection - timeStamping - ocspSigning default: [] required: - caName - projectId additionalProperties: false parameters: - schema: type: string minLength: 1 maxLength: 64 in: path name: templateName required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificateTemplate: type: object properties: id: type: string format: uuid caId: type: string format: uuid pkiCollectionId: type: string format: uuid nullable: true name: type: string commonName: type: string subjectAlternativeName: type: string ttl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true required: - id - caId - name - commonName - subjectAlternativeName - ttl - createdAt - updatedAt additionalProperties: false required: - certificateTemplate additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deletePkiTemplate tags: - PKI Certificate Templates requestBody: required: true content: application/json: schema: type: object properties: projectId: type: string required: - projectId additionalProperties: false parameters: - schema: type: string minLength: 1 in: path name: templateName required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificateTemplate: type: object properties: id: type: string format: uuid caId: type: string format: uuid pkiCollectionId: type: string format: uuid nullable: true name: type: string commonName: type: string subjectAlternativeName: type: string ttl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true required: - id - caId - name - commonName - subjectAlternativeName - ttl - createdAt - updatedAt additionalProperties: false required: - certificateTemplate additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false get: operationId: getPkiTemplate tags: - PKI Certificate Templates parameters: - schema: type: string in: query name: projectId required: true - schema: type: string minLength: 1 maxLength: 64 in: path name: templateName required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificateTemplate: type: object properties: id: type: string format: uuid caId: type: string format: uuid pkiCollectionId: type: string format: uuid nullable: true name: type: string commonName: type: string subjectAlternativeName: type: string ttl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true ca: type: object properties: id: type: string name: type: string required: - id - name additionalProperties: false required: - id - caId - name - commonName - subjectAlternativeName - ttl - createdAt - updatedAt - ca additionalProperties: false required: - certificateTemplate additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/pki/certificate-templates/{templateName}/issue-certificate: post: operationId: issueCertificateFromTemplate tags: - PKI Certificate Templates requestBody: required: true content: application/json: schema: type: object properties: projectId: type: string commonName: type: string minLength: 1 maxLength: 100 ttl: type: string keyUsages: type: array items: type: string enum: - digitalSignature - keyEncipherment - nonRepudiation - dataEncipherment - keyAgreement - keyCertSign - cRLSign - encipherOnly - decipherOnly extendedKeyUsages: type: array items: type: string enum: - clientAuth - serverAuth - codeSigning - emailProtection - timeStamping - ocspSigning notBefore: type: string notAfter: type: string altNames: type: string default: '' required: - projectId - commonName - ttl additionalProperties: false parameters: - schema: type: string minLength: 1 maxLength: 64 in: path name: templateName required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificate: type: string issuingCaCertificate: type: string certificateChain: type: string privateKey: type: string serialNumber: type: string required: - certificate - issuingCaCertificate - certificateChain - privateKey - serialNumber additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/pki/certificate-templates/{templateName}/sign-certificate: post: operationId: signCertificateFromTemplate tags: - PKI Certificate Templates requestBody: required: true content: application/json: schema: type: object properties: projectId: type: string ttl: type: string csr: type: string minLength: 1 maxLength: 4096 required: - projectId - ttl - csr additionalProperties: false parameters: - schema: type: string minLength: 1 maxLength: 64 in: path name: templateName required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificate: type: string issuingCaCertificate: type: string certificateChain: type: string serialNumber: type: string required: - certificate - issuingCaCertificate - certificateChain - serialNumber additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/workspace/{projectId}/certificate-templates: get: tags: - PKI Certificate Templates parameters: - schema: type: string in: path name: projectId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificateTemplates: type: array items: type: object properties: id: type: string format: uuid caId: type: string format: uuid name: type: string commonName: type: string subjectAlternativeName: type: string pkiCollectionId: type: string format: uuid nullable: true ttl: type: string keyUsages: type: array items: type: string nullable: true extendedKeyUsages: type: array items: type: string nullable: true projectId: type: string caName: type: string required: - id - caId - name - commonName - subjectAlternativeName - ttl - projectId - caName additionalProperties: false required: - certificateTemplates additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: An access token in Infisical