openapi: 3.0.3 info: title: Infisical Admin PKI Certificate Policies 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 Policies paths: /api/v1/cert-manager/certificate-policies: post: operationId: createCertificatePolicy tags: - PKI Certificate Policies requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 255 description: type: string maxLength: 1000 subject: type: array items: type: object properties: type: type: string enum: - common_name - organization - country - state - locality - organizational_unit allowed: type: array items: type: string required: type: array items: type: string denied: type: array items: type: string required: - type additionalProperties: false sans: type: array items: type: object properties: type: type: string enum: - dns_name - ip_address - email - uri allowed: type: array items: type: string required: type: array items: type: string denied: type: array items: type: string required: - type additionalProperties: false keyUsages: type: object properties: allowed: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only required: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only denied: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only additionalProperties: false extendedKeyUsages: type: object properties: allowed: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping required: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping denied: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping additionalProperties: false algorithms: type: object properties: signature: type: array items: type: string minItems: 1 keyAlgorithm: type: array items: type: string minItems: 1 additionalProperties: false validity: type: object properties: max: type: string additionalProperties: false basicConstraints: type: object properties: isCA: type: string enum: - allowed - required - denied maxPathLength: type: integer minimum: -1 additionalProperties: false nullable: true required: - name additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: certificatePolicy: type: object properties: id: type: string format: uuid name: type: string minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9-_]+$ description: type: string maxLength: 1000 nullable: true subject: type: array items: type: object properties: type: type: string enum: - common_name - organization - country - state - locality - organizational_unit allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false sans: type: array items: type: object properties: type: type: string enum: - dns_name - ip_address - email - uri allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false keyUsages: type: object properties: allowed: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only required: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only denied: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only additionalProperties: false extendedKeyUsages: type: object properties: allowed: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping required: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping denied: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping additionalProperties: false algorithms: type: object properties: signature: type: array items: type: string minLength: 1 minItems: 1 keyAlgorithm: type: array items: type: string minLength: 1 minItems: 1 additionalProperties: false validity: type: object properties: max: type: string pattern: ^\d+[dhmy]$ additionalProperties: false basicConstraints: type: object properties: isCA: type: string enum: - allowed - required - denied maxPathLength: type: integer minimum: -1 additionalProperties: false nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - createdAt - updatedAt additionalProperties: false required: - certificatePolicy 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: listCertificatePolicies tags: - PKI Certificate Policies parameters: - schema: type: number minimum: 0 default: 0 in: query name: offset required: false - schema: type: number minimum: 1 maximum: 100 default: 20 in: query name: limit required: false - schema: type: string in: query name: search required: false responses: '200': description: Default Response content: application/json: schema: type: object properties: certificatePolicies: type: array items: type: object properties: id: type: string format: uuid name: type: string minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9-_]+$ description: type: string maxLength: 1000 nullable: true subject: type: array items: type: object properties: type: type: string enum: - common_name - organization - country - state - locality - organizational_unit allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false sans: type: array items: type: object properties: type: type: string enum: - dns_name - ip_address - email - uri allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false keyUsages: type: object properties: allowed: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only required: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only denied: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only additionalProperties: false extendedKeyUsages: type: object properties: allowed: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping required: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping denied: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping additionalProperties: false algorithms: type: object properties: signature: type: array items: type: string minLength: 1 minItems: 1 keyAlgorithm: type: array items: type: string minLength: 1 minItems: 1 additionalProperties: false validity: type: object properties: max: type: string pattern: ^\d+[dhmy]$ additionalProperties: false basicConstraints: type: object properties: isCA: type: string enum: - allowed - required - denied maxPathLength: type: integer minimum: -1 additionalProperties: false nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - createdAt - updatedAt additionalProperties: false totalCount: type: number required: - certificatePolicies - 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/v1/cert-manager/certificate-policies/{id}: get: operationId: getCertificatePolicy tags: - PKI Certificate Policies parameters: - schema: type: string format: uuid in: query name: applicationId required: false - schema: type: string format: uuid in: path name: id required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificatePolicy: type: object properties: id: type: string format: uuid name: type: string minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9-_]+$ description: type: string maxLength: 1000 nullable: true subject: type: array items: type: object properties: type: type: string enum: - common_name - organization - country - state - locality - organizational_unit allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false sans: type: array items: type: object properties: type: type: string enum: - dns_name - ip_address - email - uri allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false keyUsages: type: object properties: allowed: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only required: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only denied: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only additionalProperties: false extendedKeyUsages: type: object properties: allowed: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping required: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping denied: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping additionalProperties: false algorithms: type: object properties: signature: type: array items: type: string minLength: 1 minItems: 1 keyAlgorithm: type: array items: type: string minLength: 1 minItems: 1 additionalProperties: false validity: type: object properties: max: type: string pattern: ^\d+[dhmy]$ additionalProperties: false basicConstraints: type: object properties: isCA: type: string enum: - allowed - required - denied maxPathLength: type: integer minimum: -1 additionalProperties: false nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - createdAt - updatedAt additionalProperties: false required: - certificatePolicy 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: operationId: updateCertificatePolicy tags: - PKI Certificate Policies requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 255 description: type: string maxLength: 1000 subject: type: array items: type: object properties: type: type: string enum: - common_name - organization - country - state - locality - organizational_unit allowed: type: array items: type: string required: type: array items: type: string denied: type: array items: type: string required: - type additionalProperties: false sans: type: array items: type: object properties: type: type: string enum: - dns_name - ip_address - email - uri allowed: type: array items: type: string required: type: array items: type: string denied: type: array items: type: string required: - type additionalProperties: false keyUsages: type: object properties: allowed: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only required: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only denied: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only additionalProperties: false extendedKeyUsages: type: object properties: allowed: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping required: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping denied: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping additionalProperties: false algorithms: type: object properties: signature: type: array items: type: string minItems: 1 keyAlgorithm: type: array items: type: string minItems: 1 additionalProperties: false validity: type: object properties: max: type: string additionalProperties: false basicConstraints: type: object properties: isCA: type: string enum: - allowed - required - denied maxPathLength: type: integer minimum: -1 additionalProperties: false nullable: true additionalProperties: false parameters: - schema: type: string format: uuid in: path name: id required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificatePolicy: type: object properties: id: type: string format: uuid name: type: string minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9-_]+$ description: type: string maxLength: 1000 nullable: true subject: type: array items: type: object properties: type: type: string enum: - common_name - organization - country - state - locality - organizational_unit allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false sans: type: array items: type: object properties: type: type: string enum: - dns_name - ip_address - email - uri allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false keyUsages: type: object properties: allowed: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only required: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only denied: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only additionalProperties: false extendedKeyUsages: type: object properties: allowed: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping required: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping denied: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping additionalProperties: false algorithms: type: object properties: signature: type: array items: type: string minLength: 1 minItems: 1 keyAlgorithm: type: array items: type: string minLength: 1 minItems: 1 additionalProperties: false validity: type: object properties: max: type: string pattern: ^\d+[dhmy]$ additionalProperties: false basicConstraints: type: object properties: isCA: type: string enum: - allowed - required - denied maxPathLength: type: integer minimum: -1 additionalProperties: false nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - createdAt - updatedAt additionalProperties: false required: - certificatePolicy 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: deleteCertificatePolicy tags: - PKI Certificate Policies parameters: - schema: type: string format: uuid in: path name: id required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: certificatePolicy: type: object properties: id: type: string format: uuid name: type: string minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9-_]+$ description: type: string maxLength: 1000 nullable: true subject: type: array items: type: object properties: type: type: string enum: - common_name - organization - country - state - locality - organizational_unit allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false sans: type: array items: type: object properties: type: type: string enum: - dns_name - ip_address - email - uri allowed: type: array items: type: string minLength: 1 required: type: array items: type: string minLength: 1 denied: type: array items: type: string minLength: 1 required: - type additionalProperties: false keyUsages: type: object properties: allowed: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only required: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only denied: type: array items: type: string enum: - digital_signature - key_encipherment - non_repudiation - data_encipherment - key_agreement - key_cert_sign - crl_sign - encipher_only - decipher_only additionalProperties: false extendedKeyUsages: type: object properties: allowed: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping required: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping denied: type: array items: type: string enum: - client_auth - server_auth - code_signing - email_protection - ocsp_signing - time_stamping additionalProperties: false algorithms: type: object properties: signature: type: array items: type: string minLength: 1 minItems: 1 keyAlgorithm: type: array items: type: string minLength: 1 minItems: 1 additionalProperties: false validity: type: object properties: max: type: string pattern: ^\d+[dhmy]$ additionalProperties: false basicConstraints: type: object properties: isCA: type: string enum: - allowed - required - denied maxPathLength: type: integer minimum: -1 additionalProperties: false nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - name - createdAt - updatedAt additionalProperties: false required: - certificatePolicy 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