openapi: 3.0.3 info: title: Infisical Admin PKI Discovery 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 Discovery paths: /api/v1/cert-manager/discovery-jobs/config: get: operationId: getPkiDiscoveryConfig tags: - PKI Discovery description: Get PKI discovery configuration limits and defaults responses: '200': description: Default Response content: application/json: schema: type: object properties: defaultPorts: type: string maxPorts: type: number maxIps: type: number maxDomains: type: number minCidrPrefix: type: number required: - defaultPorts - maxPorts - maxIps - maxDomains - minCidrPrefix 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/discovery-jobs: post: operationId: createPkiDiscovery tags: - PKI Discovery description: Create a new PKI discovery configuration requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 100 description: Name of the discovery configuration description: type: string maxLength: 500 description: Description of the discovery configuration discoveryType: type: string enum: - network default: network description: Type of discovery scan targetConfig: type: object properties: ipRanges: type: array items: type: string maxLength: 64 domains: type: array items: type: string maxLength: 253 ports: type: string default: 443, 8443, 636, 993, 995 additionalProperties: false description: Target configuration for discovery scans isAutoScanEnabled: type: boolean default: false description: Enable automatic scheduled scans scanIntervalDays: type: number minimum: 1 maximum: 365 description: Interval in days between automatic scans gatewayId: type: string format: uuid description: Gateway ID for scanning private networks gatewayPoolId: type: string format: uuid description: Gateway pool ID for scanning private networks required: - name - targetConfig additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true discoveryType: type: string default: network targetConfig: {} isAutoScanEnabled: type: boolean default: false scanIntervalDays: type: number nullable: true gatewayId: type: string format: uuid nullable: true isActive: type: boolean default: true lastScanStatus: type: string nullable: true lastScanJobId: type: string nullable: true lastScanMessage: type: string nullable: true lastScannedAt: type: string format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time gatewayPoolId: type: string format: uuid nullable: true required: - id - name - createdAt - updatedAt 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: listPkiDiscoveries tags: - PKI Discovery description: List PKI discovery configurations for a project parameters: - schema: type: number minimum: 0 default: 0 in: query name: offset required: false description: Pagination offset - schema: type: number minimum: 1 maximum: 100 default: 25 in: query name: limit required: false description: Pagination limit - schema: type: string in: query name: search required: false description: Search filter for name or description responses: '200': description: Default Response content: application/json: schema: type: object properties: discoveries: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true discoveryType: type: string default: network targetConfig: {} isAutoScanEnabled: type: boolean default: false scanIntervalDays: type: number nullable: true gatewayId: type: string format: uuid nullable: true isActive: type: boolean default: true lastScanStatus: type: string nullable: true lastScanJobId: type: string nullable: true lastScanMessage: type: string nullable: true lastScannedAt: type: string format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time gatewayPoolId: type: string format: uuid nullable: true certificatesFound: type: number installationsFound: type: number required: - id - name - createdAt - updatedAt - certificatesFound - installationsFound additionalProperties: false totalCount: type: number required: - discoveries - 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/discovery-jobs/{discoveryId}: get: operationId: getPkiDiscovery tags: - PKI Discovery description: Get a PKI discovery configuration by ID parameters: - schema: type: string format: uuid in: path name: discoveryId required: true description: The ID of the discovery configuration responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true discoveryType: type: string default: network targetConfig: {} isAutoScanEnabled: type: boolean default: false scanIntervalDays: type: number nullable: true gatewayId: type: string format: uuid nullable: true isActive: type: boolean default: true lastScanStatus: type: string nullable: true lastScanJobId: type: string nullable: true lastScanMessage: type: string nullable: true lastScannedAt: type: string format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time gatewayPoolId: type: string format: uuid nullable: true linkedInstallationsCount: type: number gatewayName: type: string nullable: true gatewayPoolName: type: string nullable: true required: - id - name - createdAt - updatedAt 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: updatePkiDiscovery tags: - PKI Discovery description: Update a PKI discovery configuration requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 100 description: Name of the discovery configuration description: type: string maxLength: 500 nullable: true description: Description of the discovery configuration targetConfig: type: object properties: ipRanges: type: array items: type: string maxLength: 64 domains: type: array items: type: string maxLength: 253 ports: type: string default: 443, 8443, 636, 993, 995 additionalProperties: false description: Target configuration for discovery scans isAutoScanEnabled: type: boolean description: Enable automatic scheduled scans scanIntervalDays: type: number minimum: 1 maximum: 365 nullable: true description: Interval in days between automatic scans gatewayId: type: string format: uuid nullable: true description: Gateway ID for scanning private networks gatewayPoolId: type: string format: uuid nullable: true description: Gateway pool ID for scanning private networks isActive: type: boolean description: Whether the discovery configuration is active additionalProperties: false parameters: - schema: type: string format: uuid in: path name: discoveryId required: true description: The ID of the discovery configuration responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true discoveryType: type: string default: network targetConfig: {} isAutoScanEnabled: type: boolean default: false scanIntervalDays: type: number nullable: true gatewayId: type: string format: uuid nullable: true isActive: type: boolean default: true lastScanStatus: type: string nullable: true lastScanJobId: type: string nullable: true lastScanMessage: type: string nullable: true lastScannedAt: type: string format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time gatewayPoolId: type: string format: uuid nullable: true required: - id - name - createdAt - updatedAt 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: deletePkiDiscovery tags: - PKI Discovery description: Delete a PKI discovery configuration parameters: - schema: type: string format: uuid in: path name: discoveryId required: true description: The ID of the discovery configuration responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true discoveryType: type: string default: network targetConfig: {} isAutoScanEnabled: type: boolean default: false scanIntervalDays: type: number nullable: true gatewayId: type: string format: uuid nullable: true isActive: type: boolean default: true lastScanStatus: type: string nullable: true lastScanJobId: type: string nullable: true lastScanMessage: type: string nullable: true lastScannedAt: type: string format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time gatewayPoolId: type: string format: uuid nullable: true required: - id - name - createdAt - updatedAt 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/discovery-jobs/{discoveryId}/scan: post: operationId: triggerPkiDiscoveryScan tags: - PKI Discovery description: Trigger a manual PKI discovery scan parameters: - schema: type: string format: uuid in: path name: discoveryId required: true description: The ID of the discovery configuration responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string required: - message 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/discovery-jobs/{discoveryId}/latest-scan: get: operationId: getPkiDiscoveryLatestScan tags: - PKI Discovery description: Get the latest scan for a PKI discovery configuration parameters: - schema: type: string format: uuid in: path name: discoveryId required: true description: The ID of the discovery configuration responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid discoveryConfigId: type: string format: uuid startedAt: type: string format: date-time completedAt: type: string format: date-time nullable: true status: type: string targetsScannedCount: type: number default: 0 certificatesFoundCount: type: number default: 0 installationsFoundCount: type: number default: 0 errorMessage: type: string nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - discoveryConfigId - startedAt - status - createdAt - updatedAt additionalProperties: false nullable: true '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/discovery-jobs/{discoveryId}/scans: get: operationId: listPkiDiscoveryScans tags: - PKI Discovery description: Get scan history for a PKI discovery configuration parameters: - schema: type: number minimum: 0 default: 0 in: query name: offset required: false description: Pagination offset - schema: type: number minimum: 1 maximum: 100 default: 25 in: query name: limit required: false description: Pagination limit - schema: type: string format: uuid in: path name: discoveryId required: true description: The ID of the discovery configuration responses: '200': description: Default Response content: application/json: schema: type: object properties: scans: type: array items: type: object properties: id: type: string format: uuid discoveryConfigId: type: string format: uuid startedAt: type: string format: date-time completedAt: type: string format: date-time nullable: true status: type: string targetsScannedCount: type: number default: 0 certificatesFoundCount: type: number default: 0 installationsFoundCount: type: number default: 0 errorMessage: type: string nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - discoveryConfigId - startedAt - status - createdAt - updatedAt additionalProperties: false totalCount: type: number required: - scans - 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 components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: An access token in Infisical