openapi: 3.1.0 info: title: PDCP API version: '1.0' summary: ProjectDiscovery Cloud Platform description: 'For more details, checkout https://docs.projectdiscovery.io/api-reference/editor/scan' servers: - url: 'https://api.projectdiscovery.io' description: Production - url: 'https://api.dev.projectdiscovery.io' description: Development - url: 'http://localhost:8085' description: Localhost paths: /v2/template/search: get: summary: Search Templates tags: - template/v2 parameters: - schema: type: string enum: - public - private - public_private default: public_private in: query name: scope description: Scope of templates to search (public or private) - schema: type: integer default: 50 in: query name: limit description: Maximum number of results to return - schema: type: integer default: 0 in: query name: offset description: Number of results to skip for pagination - schema: type: string items: type: string in: query name: fields description: Specific fields to return in the response style: form explode: true - schema: type: string in: query name: sort_asc description: Field to sort results in ascending order - schema: type: string in: query name: sort_desc description: Field to sort results in descending order - schema: type: string in: query name: q description: Search query string - schema: type: boolean default: false in: query name: highlight description: Whether to highlight search matches in results - schema: type: integer default: 5 in: query name: facet_size description: Number of facets to return in the response - schema: type: string in: header name: X-Team-Id responses: '200': description: Successful search response content: application/json: schema: type: object required: - results - total - count - facets properties: results: type: array items: $ref: '#/components/schemas/TemplateData' total: type: integer description: Total number of matching results count: type: integer description: Number of results in this response facets: $ref: '#/components/schemas/TemplateStats' message: type: string '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/MessageResponse' security: - X-API-Key: [] description: 'Search templates with filtering, sorting, and faceting capabilities' operationId: get-v2-template-search /v2/template/user/upload: post: summary: Upload Templates tags: [] responses: '200': description: OK content: application/json: schema: type: object required: - insert_errors - total_files - not_templates - inserted - invalid_templates properties: insert_errors: type: integer total_files: type: integer not_templates: type: integer inserted: type: integer invalid_templates: type: integer templates: type: array items: $ref: '#/components/schemas/TemplateData' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/MessageResponse' operationId: post-v2-template-user-upload description: 'Upload Private/User Templates (Max 10,000)' requestBody: content: application/json: schema: type: object required: - templates properties: templates: type: array items: $ref: '#/components/schemas/UploadTemplate' patch: summary: Bulk Update User Template tags: [] responses: '200': description: OK content: application/json: schema: type: object required: - success_count - failure_count - successful_items - failed_items properties: success_count: type: integer failure_count: type: integer successful_items: type: array items: $ref: '#/components/schemas/TemplateFileMetadata' failed_items: type: array items: $ref: '#/components/schemas/FailedTemplateFileMetadataUpdate' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/MessageResponse' operationId: patch-v2-template-user-upload requestBody: content: application/json: schema: type: object required: - templates properties: templates: type: array items: $ref: '#/components/schemas/PatchTemplateFileMetadata' description: 'Bulk Updat Private/User Templates (Max 10,000)' /v1/scans: get: summary: Get Scan List tags: - scans responses: '200': $ref: '#/components/responses/GetScansStatusResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans description: Get user scans status security: - X-API-Key: [] parameters: - schema: type: integer in: query name: offset description: number of scan-status results to skip - schema: type: integer in: query name: limit description: number of scan-status results to fetch - schema: type: string in: query name: search description: search term for running scans - schema: type: string in: query name: status description: 'filter by status (failed, finished, queued, running, starting, uploaded, scheduled)' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: boolean in: query name: is_internal description: filter by internal scans - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id x-internal: false post: summary: Create Scan tags: - scans operationId: post-v1-scans responses: '200': $ref: '#/components/responses/TriggerUserScanResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' description: Trigger a scan security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/TriggerUserScanRequest' parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Scan in bulk tags: - scans operationId: delete-v1-scans responses: '200': $ref: '#/components/responses/DeleteScansResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: content: application/json: schema: type: object required: - scan_ids properties: scan_ids: type: array items: type: string description: Delete scans using scan ids security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/scans/{scan_id}': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Get Scan tags: - scans responses: '200': $ref: '#/components/responses/GetScanDetailsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-scan_id description: Get details of a scan by scan ID security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Scan tags: - scans operationId: delete-v1-scans-scan_id responses: '200': $ref: '#/components/responses/DeleteScansResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' description: Delete a scan using scanId security: - X-API-Key: [] parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' patch: summary: Update Scan tags: - scans operationId: patch-v1-scans-scan_id responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' description: Update scan metadata security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/UpdateScanRequest' parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' /v1/scans/import: post: summary: Import OSS Scan tags: - scans operationId: post-v1-scans-import responses: '200': $ref: '#/components/responses/ImportScanResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' description: Import scan details security: - X-API-Key: [] requestBody: content: application/octet-stream: schema: type: string format: binary parameters: - schema: type: string in: query name: name - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/admin/user/search: get: summary: Search user by name or email tags: - internal responses: '200': description: OK content: application/octet-stream: schema: type: string format: byte '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-user-search x-internal: true parameters: - schema: type: string in: query name: q description: name or email filter - schema: type: string enum: - TRIAL - ENT_TRIAL - PRO - ENT - FREE - VERIFIED_FREE - GROWTH in: query name: plan description: plan filter - schema: type: integer in: query name: offset description: offset for pagination - schema: type: integer in: query name: limit description: limit for pagination - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/admin/user/billing_assets: get: summary: Get billing assets for a user tags: - internal responses: '200': description: OK content: application/octet-stream: schema: type: string format: byte '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-user-billing-assets x-internal: true parameters: - schema: type: string in: query name: email description: email of the user required: true /v1/admin/user/audit_logs: get: summary: Get audit logs for a user tags: - internal responses: '200': description: OK content: application/octet-stream: schema: type: string format: byte '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-user-audit-logs x-internal: true parameters: - schema: type: string in: query name: email description: email of the user - schema: type: integer format: int64 in: query name: user_id description: user id of the user - schema: type: integer in: query name: offset description: offset for pagination - schema: type: string in: query name: path_name description: path name filter - schema: type: string in: query name: status_code description: 'status code filter comma separated e.g status_code=200,404' - schema: type: string in: query name: status_code_not description: 'status code not filter comma separated e.g status_code_not=200,404' - schema: type: integer in: query name: limit description: limit for pagination /v1/admin/team/change_owner: parameters: - in: header name: X-Team-ID required: true schema: type: string post: tags: - internal summary: change owner for a team (New owner will take control of the existing owner's subscription) operationId: post-v1-admin-team-change_owner responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/json: schema: type: object required: - new_owner_email properties: new_owner_email: type: string x-internal: true /v1/admin/scan/token: post: tags: - internal summary: Set Scan token for user operationId: post-v1-admin-scan-token responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/json: schema: type: object required: - extra_token - email properties: base_token: type: number base_domain_count: type: integer extra_token: type: number email: type: string description: Comma separated emails validity_months: type: integer minimum: 0 maximum: 12 expire_at: type: string format: date-time x-internal: true parameters: - schema: type: string enum: - create - update in: query name: method description: '''create'' or ''update'' mode' required: true - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: [] patch: tags: - internal summary: Update Scan token for user operationId: patch-v1-admin-scan-token responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/json: schema: type: object required: - email properties: base_domain_count: type: integer base_count: type: integer extra_token: type: number email: type: string description: Comma separated emails is_enforced_limit: type: boolean tag: type: string enum: - TRIAL - ENT_TRIAL - PRO - ENT - FREE - VERIFIED_FREE - GROWTH description: user tag eg - TRIAL expire_at: type: string format: date-time x-internal: true parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' get: summary: Get Token Usage (admin) tags: - internal responses: '200': $ref: '#/components/responses/GetScansTokenResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-scan-token description: Get token usage for given user parameters: - schema: type: integer in: query name: user_id description: user id to get scan token usage for required: true - schema: type: string in: query name: email description: email to get scan token usage for - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' '/v1/scans/{scan_id}/stop': parameters: - schema: type: string name: scan_id in: path required: true post: summary: Stop Scan tags: - scans operationId: post-v1-scans-scan_id-stop responses: '200': $ref: '#/components/responses/DeleteScansResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: 'Stop a running scan, not applied in any other state.' parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' '/v1/scans/{scan_id}/rescan': parameters: - schema: type: string name: scan_id in: path required: true post: summary: Rescan scan tags: - scans operationId: post-v1-scans-scan_id-rescan responses: '200': $ref: '#/components/responses/TriggerUserScanResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Re-run a existing scan parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' '/v1/scans/vuln/{vuln_id}': get: summary: Get Scan Vulnerability tags: - results responses: '200': $ref: '#/components/responses/GetScansVulnIdResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: 'get-v1-scans-vuln-:vulnId' description: 'Get scan result vulnerability by ID ' security: - X-API-Key: [] parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' parameters: - schema: type: string name: vuln_id in: path required: true description: vulnerability ID '/v1/scans/result/{scanId}': get: summary: Get Scan Results tags: - results responses: '200': $ref: '#/components/responses/GetScanResultsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: 'get-v1-scans-result-:scanId' description: get results of specific scan by id security: - X-API-Key: [] parameters: - schema: type: string in: query name: severity description: 'comma separated severity e.g. severity=info,high' - schema: type: string in: query name: search description: search term - schema: type: integer in: query name: limit description: 'number of results ' - schema: type: integer in: query name: offset description: number of results to skip - schema: type: string in: query name: templates description: 'comma separated templates e.g. templates=tech-detect,azure-takeover' - schema: type: string in: query name: hosts description: 'comma separated host e.g. hosts=https://example.com,https://x.com' - in: query name: domain schema: type: string description: 'comma separated domain names e.g-> domain=domain1.com,domain2.com' - in: query name: port schema: type: string description: 'comma separated ports e.g. ports=80,443' - schema: type: string in: query description: 'filter by time ( last_day, last_week, last_month )' name: time - schema: type: string in: query name: vuln_status description: 'comma separated vuln_status e.g vuln_status=open,fixed' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: boolean in: query name: asset_metadata description: Asset details for the vulnerability - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' parameters: - schema: type: string name: scanId in: path required: true description: scan specific results (by scanId) '/v1/scans/vuln/{vuln_id}/changelogs': get: summary: Get Vulnerability Changelogs tags: - results responses: '200': $ref: '#/components/responses/GetVulnChangelogsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-vuln-vuln_id-changelogs description: get changelogs of specific vulnerability by id security: - X-API-Key: [] parameters: - schema: type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time default: all_time in: query name: time description: time filter to select - schema: type: string in: query name: event_type description: 'comma separated event_type e.g. event_type=vul_status,vul_status_change' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: integer in: query name: limit description: number of results to get - schema: type: integer in: query name: offset description: number of results to skip - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' parameters: - schema: type: string name: vuln_id in: path required: true description: vulnerability ID /v1/scans/vuln/changelogs: get: summary: Get all Vulnerability Changelogs tags: - results responses: '200': $ref: '#/components/responses/GetVulnChangelogsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-vuln-changelogs description: get changelogs of all vulnerabilities security: - X-API-Key: [] parameters: - schema: type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time default: all_time in: query name: time description: time filter to select - schema: type: string in: query name: event_type description: 'comma separated event_type e.g. event_type=vul_status,vul_status_change' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: integer in: query name: limit description: number of results to get - schema: type: integer in: query name: offset description: number of results to skip - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' /v1/scans/results: get: summary: Get All Results tags: - results responses: '200': $ref: '#/components/responses/GetScanResultsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-results description: Get scans results of a user parameters: - schema: type: integer in: query name: offset description: number of results to skip - schema: type: integer in: query name: limit description: number of results to get - schema: type: string in: query name: severity description: 'string separated by comma e.g. info,high' - schema: type: string in: query name: search description: search term - schema: type: string in: query name: host description: 'comma separated host e.g. hosts=https://example.com,https://x.com' - in: query name: domain schema: type: string description: 'comma separated domain names e.g-> domain=domain1.com,domain2.com' - in: query name: port schema: type: string description: 'comma separated ports e.g. ports=80,443' - schema: type: string in: query name: templates description: 'comma separated templates e.g. templates=tech-detect,azure-takeover' - schema: type: string in: query name: time description: 'filter by time ( last_day, last_week, last_month )' - schema: type: string in: query name: vuln_status description: 'comma separated vuln_status e.g vuln_status=open,fixed' - schema: type: string in: query name: tags description: 'comma separated tags e.g tags=xss,cve' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: boolean in: query name: is_ticket description: Return the records that have issue trackers - in: query name: labels schema: type: string description: 'filter by comma separated labels e.g labels=p1,p2' - in: query name: category schema: type: string description: 'filter by comma separated categories e.g category=cve,xss' - in: query name: is_regression schema: type: boolean description: filter by is_regression - in: query name: is_internal schema: type: boolean description: filter by is_internal (internal vs external hosts) - schema: type: boolean in: query name: asset_metadata description: Asset details for the vulnerability - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' security: - X-API-Key: [] parameters: [] /v1/scans/stats: get: summary: Get All Scan Stats tags: - scans responses: '200': $ref: '#/components/responses/ScanStatsResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-stats parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' security: - X-API-Key: [] description: Get all scans statistics for a user '/v1/scans/{vuln_id}/retest': parameters: - schema: type: string name: vuln_id in: path required: true post: summary: Retest vulnerability tags: - scans operationId: post-v1-scans-vuln_id-retest responses: '200': $ref: '#/components/responses/PostRescanVulnResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Retest a scan vulnerability parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' requestBody: content: application/json: schema: type: object properties: socks5_proxy: type: string agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string /v1/scans/results/filters: get: summary: Get Scans Result Filters tags: - results responses: '200': $ref: '#/components/responses/GetScanResultsFiltersResponse' '401': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-results-filters description: Get users scan-result filters security: - X-API-Key: [] parameters: - schema: type: integer in: query name: offset description: The number of items to skip before starting to collect the result set - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: string in: query name: scan_id description: specific scan_id results filters - schema: type: string in: query name: severity description: 'comma separated severity e.g. severities=info,high' - schema: type: string in: query name: templates description: 'comma separated templates e.g. templates=tech-detect,azure-takeover' - schema: type: string in: query name: host description: 'comma separated host e.g. hosts=https://example.com,https://x.com' - in: query name: domain schema: type: string description: 'comma separated domain names e.g-> domain=domain1.com,domain2.com' - in: query name: port schema: type: string description: 'comma separated ports e.g. ports=80,443' - schema: type: string in: query name: search description: search term - schema: type: string in: query name: type required: true description: type of filter - schema: type: string in: query name: time description: 'filter by time ( last_day, last_week, last_month )' - schema: type: string in: query name: vuln_status description: 'comma separated vuln_status e.g vuln_status=open,fixed' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: string in: query name: tags description: 'comma separated tags e.g tags=xss,cve' - schema: type: string in: query name: not_hosts description: 'comma separated hosts that should not be returned e.g. not_hosts=https://example.com,https://x.com' - schema: type: string in: query name: not_severity description: 'comma separated severity that should not be returned e.g. not_severity=info,high' - schema: type: string in: query name: not_templates description: 'comma separated templates that should not be returned e.g. not_templates=tech-detect,azure-takeover' - in: query name: labels schema: type: string description: 'filter by comma separated labels e.g labels=p1,p2' - in: query name: category schema: type: string description: 'filter by comma separated categories e.g category=cve,xss' - in: query name: is_regression schema: type: boolean description: filter by is_regression - in: query name: is_internal schema: type: boolean description: filter by is_internal (internal vs external hosts) - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date /v1/scans/results/stats: get: summary: Get Results Stats tags: - results responses: '200': $ref: '#/components/responses/GetScanResultStatsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-results-stats description: Get user scan results stats security: - X-API-Key: [] parameters: - schema: type: integer in: query name: offset description: The number of items to skip before starting to collect the result set - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: string in: query name: host description: 'comma separated host e.g. hosts=https://example.com,https://x.com' - in: query name: domain schema: type: string description: 'comma separated domain names e.g-> domain=domain1.com,domain2.com' - in: query name: port schema: type: string description: 'comma separated ports e.g. ports=80,443' - schema: type: string in: query name: templates description: 'comma separated templates e.g. templates=tech-detect,azure-takeover' - schema: type: string in: query name: severity description: 'comma separated severity e.g. severities=info,high' - schema: type: string in: query name: search description: search term - schema: type: string in: query name: scan_id description: specific scan_id results filters - schema: type: string in: query description: 'filter by time ( last_day, last_week, last_month )' name: time - schema: type: string in: query name: vuln_status description: 'comma separated vuln_status e.g vuln_status=open,fixed' - schema: type: string in: query name: tags description: 'comma separated tags e.g tags=xss,cve' - schema: type: string in: query name: not_hosts description: 'comma separated hosts that should not be returned e.g. not_hosts=https://example.com,https://x.com' - schema: type: string in: query name: not_severity description: 'comma separated severity that should not be returned e.g. not_severity=info,high' - schema: type: string in: query name: not_templates description: 'comma separated templates that should not be returned e.g. not_templates=tech-detect,azure-takeover' - in: query name: labels schema: type: string description: 'filter by comma separated labels e.g labels=p1,p2' - in: query name: category schema: type: string description: 'filter by comma separated categories e.g category=cve,xss' - in: query name: is_regression schema: type: boolean description: filter by is_regression - in: query name: is_internal schema: type: boolean description: filter by is_internal (internal vs external hosts) - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date /v1/scans/schedule: get: summary: Get Scan Schedules tags: - scans responses: '200': $ref: '#/components/responses/GetScanScheduleResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-schedule description: Get scan schedules for a user security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Set Scan Schedule tags: - scans operationId: post-v1-scans-schedule responses: '200': $ref: '#/components/responses/SetScanScheduleResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' description: 'set a scan schedule for a user ' requestBody: $ref: '#/components/requestBodies/SetScanScheduleRequest' security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Scan Schedule tags: - scans operationId: delete-v1-scans-schedule responses: '200': $ref: '#/components/responses/DeleteScanScheduleResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' parameters: - schema: type: string in: query name: scan_id required: true description: scan_id of schedule to be deleted - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Delete scan schedule for a user /v1/retest: get: summary: Get All Retest tags: - retests responses: '200': $ref: '#/components/responses/GetRetestResultsResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-retest description: Get user retest results security: - X-API-Key: [] parameters: - schema: type: integer in: query name: offset description: number of results to skip required: true - schema: type: integer in: query name: limit description: number of results required: true - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Create Retest tags: - retests operationId: post-v1-retest responses: '200': $ref: '#/components/responses/PostRetestTemplateResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' description: Trigger a retest scan security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/RetestTemplateRequest' parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' parameters: [] '/v1/retest/{vuln_id}': get: summary: Get Retest Vulnerability tags: - retests responses: '200': $ref: '#/components/responses/GetSingleRetestResultResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-retest-vuln_id security: - X-API-Key: [] description: Get retest vulnerability (retests from editor) parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: - schema: type: string name: vuln_id in: path required: true /v1/assets: get: summary: Get Asset List tags: - assets responses: '200': $ref: '#/components/responses/GetAssetsListResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-assets description: Get user asset list security: - X-API-Key: [] parameters: - schema: type: integer in: query name: offset description: number of assets to skip - schema: type: integer in: query name: limit description: number of assets to fetch - schema: type: string in: query name: search description: search term for asset list - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Upload Asset tags: - assets operationId: post-v1-assets responses: '200': $ref: '#/components/responses/UploadAssetResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/octet-stream: schema: type: string format: binary parameters: - schema: type: string in: query name: name description: name of asset - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: header description: set the content type header name: Content-Type description: Manually upload user assets (uploaded to manual enumeration) '/v1/assets/{asset_Id}': parameters: - schema: type: string name: asset_Id in: path required: true get: summary: Get Asset Metadata tags: - assets responses: '200': $ref: '#/components/responses/GetUserAssetResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-assets-assetId security: - X-API-Key: [] description: Get asset metadata parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Asset tags: - assets operationId: delete-v1-assets-asset_Id responses: '200': $ref: '#/components/responses/DeleteAssetResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Delete asset by ID parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update Asset Metadata tags: - assets operationId: patch-v1-assets-asset_Id responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string required: - message '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/UpdateAssetRequest' description: Update asset metadata parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/assets/{asset_id}/contents': get: summary: Get Asset Content tags: - assets responses: '200': description: OK content: application/octet-stream: schema: type: string format: binary '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-assets-id-contents security: - X-API-Key: [] description: Get user asset content parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: - schema: type: string name: asset_id in: path required: true patch: summary: Update Asset Content tags: - assets operationId: patch-v1-assets-asset_id-contents responses: '200': $ref: '#/components/responses/PatchAssetContentResponse' '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: content: application/octet-stream: schema: type: string format: binary security: - X-API-Key: [] parameters: - schema: type: string enum: - append - replace in: query name: update_type description: 'use append or replace ' - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: header description: set the content type header name: Content-Type description: Update existing asset content /v1/user/notification_preference: get: summary: Get User Notification Preferences operationId: get-v1-user-notification-preference tags: - user responses: '200': description: User notification preferences content: application/json: schema: type: object required: - weekly_digest_email - onboard_preference - real_time_autoscan - enable_auto_retest properties: weekly_digest_email: type: boolean description: Whether to receive weekly digest emails onboard_preference: type: object additionalProperties: true description: Dynamic key-value pairs for onboarding preferences real_time_autoscan: type: boolean description: Whether to receive real-time autoscan notifications enable_auto_retest: type: boolean description: Whether to enable auto retest leaks_notifications: type: object description: Leak notification preferences by type properties: my_leaks: type: boolean description: Personal email leak notifications employee_leaks: type: boolean description: Corporate/employee domain leak notifications customer_leaks: type: boolean description: Customer domain leak notifications '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Get user's notification preferences patch: summary: Update User Notification Preferences operationId: patch-v1-user-notification-preference tags: - user requestBody: required: true content: application/json: schema: type: object properties: weekly_digest_email: type: boolean description: Whether to receive weekly digest emails onboard_preference: type: object additionalProperties: true description: Dynamic key-value pairs for onboarding preferences leaks_notifications: type: object description: Leak notification preferences by type properties: my_leaks: type: boolean description: Personal email leak notifications employee_leaks: type: boolean description: Corporate/employee domain leak notifications customer_leaks: type: boolean description: Customer domain leak notifications real_time_autoscan: type: boolean description: Whether to receive real-time autoscan notifications enable_auto_retest: type: boolean description: Whether to enable auto retest responses: '200': description: Successfully updated notification preferences content: application/json: schema: type: object properties: message: type: string example: Notification preferences updated successfully '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Update user's notification preferences /v1/user/feedback: post: summary: Create Feedback tags: - users operationId: post-v1-user-feedback responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string required: - message '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/PostFeedbackRequest' description: Add user feedback parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/user/delete/code: parameters: [] post: summary: Email user deletion verification code tags: - users responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-user-delete-code security: - X-API-Key: [] description: generate and email user deletion verification code parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/user: get: summary: Get User Profile tags: - users responses: '200': $ref: '#/components/responses/GetUserProfileResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-user security: - X-API-Key: [] description: Get user profile and permissions parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete user from system along with all data tags: - users requestBody: content: application/json: schema: type: object properties: code: type: string required: - code responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-user security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/user/apikey: get: summary: Get API Key tags: - users responses: '200': $ref: '#/components/responses/GetUserAPIKeyResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-user-apikey security: - X-API-Key: [] description: Get user api-key post: summary: Create API Key tags: - users operationId: post-v1-user-apikey responses: '200': $ref: '#/components/responses/GetUserAPIKeyResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: 'Create user api-key, this won''t create a new api-key if it already exists.' delete: summary: Delete API Key tags: - users operationId: delete-v1-user-apikey responses: '200': $ref: '#/components/responses/DeleteUserAPIKeyResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Delete user api-key /v1/user/onboarding_status: get: summary: Get User Setup Statistics tags: - users - internal operationId: get-v1-user-setup-stats responses: '200': $ref: '#/components/responses/GetUserSetupStatsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Get user setup statistics /v1/user/billing_assets: get: summary: Get Billing Assets details tags: - users - internal operationId: get-v1-user-billing-assets responses: '200': $ref: '#/components/responses/GetBillingAssetsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Get billing assets details /v1/user/promo_code: get: summary: Get Promocode Details tags: - users operationId: get-v1-user-promocode responses: '200': $ref: '#/components/responses/GetPromocodeDetailsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] parameters: - schema: type: string in: query required: true name: promo_code description: Promocode to get details for description: Get promocode details post: summary: Apply Promocode tags: - users responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-user-promocode security: - X-API-Key: [] description: Apply promocode requestBody: content: application/json: schema: type: object properties: promo_code: type: string required: - promo_code /v1/user/apikey/rotate: post: summary: Rotate API Key tags: - users operationId: post-v1-user-apikey-rotate responses: '200': $ref: '#/components/responses/PostApiKeyRotateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Rotate user api-key /v1/user/domain-verification/request: post: summary: Request Domain Verification tags: - users operationId: post-v1-user-domain-verification-request responses: '200': description: OK content: application/json: schema: type: object properties: domain: type: string description: The domain to be verified verification_string: type: string description: The TXT record value to add to DNS required: - domain - verification_string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '429': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: required: true content: application/json: schema: type: object properties: domain: type: string description: 'Root domain to verify (e.g., example.com)' example: example.com required: - domain description: Request domain ownership verification through DNS TXT record. Only root domains are supported. parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Request Domain Delete tags: [] responses: '200': description: OK content: application/json: schema: type: object required: - domain - message properties: domain: type: string description: The domain to be deleted message: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '429': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-user-domain-verification-request requestBody: content: application/json: schema: type: object required: - domain properties: domain: type: string description: 'Root domain to delete (e.g., example.com)' description: Delete domain verification request. Only root domains are supported. security: - X-API-Key: [] parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' /v1/user/domain-verification/confirm: post: summary: Confirm Domain Verification tags: - users operationId: post-v1-user-domain-verification-confirm responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string description: Success message domain: type: string description: The verified domain required: - message - domain '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: Error message required: - message '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: required: true content: application/json: schema: type: object properties: domain: type: string description: Root domain to confirm verification for example: example.com required: - domain description: Confirm domain ownership by checking if the required DNS TXT record has been added. parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/user/domain-verification/status: get: summary: Get Domain Verification Status tags: - users operationId: get-v1-user-domain-verification-status responses: '200': description: OK content: application/json: schema: type: object properties: verification_requests: type: array items: $ref: '#/components/schemas/DomainVerificationRequest' required: - verification_requests '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: 'Get the status of all domain verification requests for the authenticated user, including pending, verified, and expired requests.' parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/template/public: get: summary: Get Public Template List tags: - templates responses: '200': $ref: '#/components/responses/GetPublicTemplateList' '400': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-template-public description: Get public-template list parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: integer in: query name: offset description: Pagination offset (no. of results to skip) - schema: type: integer in: query name: limit description: Pagination limit (max no. of results in response) - schema: type: string in: query description: 'template data fields ' name: fields /v1/template/early: get: summary: Get Early Template List tags: - templates responses: '200': $ref: '#/components/responses/GetEarlyTempateList' '400': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-early-templates description: Get pdcp early template lists security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: integer in: query name: offset - schema: type: integer in: query name: limit - schema: type: string in: query name: fields parameters: [] '/v1/template/early/{id}': get: summary: Get Early Template tags: - templates responses: '200': description: Shared Response content: text/plain: schema: type: string application/json: schema: type: object required: - message properties: message: type: string template: $ref: '#/components/schemas/TemplateData' '400': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-early-templates-id description: Get early template text security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: - schema: type: string name: id in: path required: true '/v1/template/public/{template_id}': get: summary: Get Public Template tags: - templates responses: '200': $ref: '#/components/responses/GetTemplateDataResponse' '400': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-public-template-data description: Get public template data parameters: - schema: type: string in: query name: fields description: 'template data fields ' - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' parameters: - schema: type: string name: template_id in: path required: true description: 'unique Id of template ' /v1/template: get: summary: Get Template List tags: - templates responses: '200': $ref: '#/components/responses/GetUserTemplateListResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-templates security: - X-API-Key: [] description: Get user private(my) templates parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: integer in: query name: offset - schema: type: integer in: query name: limit - schema: type: string in: query name: fields parameters: [] post: summary: Create Template tags: - templates operationId: post-v1-template responses: '200': $ref: '#/components/responses/CreateTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/json: schema: type: object required: - template properties: template: type: string description: | Template in text format prompt: type: string description: Create a private template parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: filename description: filename for template - schema: type: string in: query name: dir description: directories for template patch: summary: Update Template tags: - templates operationId: patch-v1-template responses: '200': $ref: '#/components/responses/UpdateTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/UpdateTemplateRequest' description: 'Update existing private template ' parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/template/{template_id}': parameters: - schema: type: string name: template_id in: path required: true description: 'unique Id of template ' get: summary: Get Template tags: - templates responses: '200': $ref: '#/components/responses/GetTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-template-t_id security: - X-API-Key: [] description: Get private template text using ID parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Template tags: - templates operationId: delete-v1-template-template_id responses: '200': $ref: '#/components/responses/DeleteTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Delete private template using ID parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/template/ai: post: summary: Generate AI Template tags: - templates operationId: post-v1-template-ai responses: '200': $ref: '#/components/responses/GenerateTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/GenerateTemplateRequest' security: - X-API-Key: [] description: Generate a private template with AI Engine parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/template/share: get: summary: Get Shared Template List tags: - templates responses: '200': $ref: '#/components/responses/GetShareStatusResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-template-share security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: fields - schema: type: integer in: query name: limit description: Limit The numbers of items to return - schema: type: integer in: query name: offset description: Offset The numbers of items to skip - schema: type: string in: query description: SortAsc Sort results in ascending order (CSV field names) name: sort_asc - schema: type: string in: query name: sort_desc description: SortDesc Sort results in descending order (CSV field names) description: Shared template list post: summary: Share Template tags: - templates operationId: post-v1-template-share responses: '200': $ref: '#/components/responses/ShareTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/ShareTemplateRequest' description: Share a private template (shared-with-link) parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/template/share/{template_id}': parameters: - schema: type: string name: template_id in: path required: true description: unique template ID get: summary: Get Shared Template tags: - templates responses: '200': $ref: '#/components/responses/GetSharedTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-template-share-template_id parameters: - schema: type: string in: query name: fields description: 'get selected fields e.g. name,template_id,severity, etc' description: Get a shared template text requestBody: content: {} patch: summary: Update Shared Template tags: [] responses: '200': $ref: '#/components/responses/UpdateSharedTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-template-share-template_id parameters: [] requestBody: content: application/json: schema: type: object properties: ttl: type: string share_type: type: string users: type: array items: type: integer emails: type: array items: type: string organizations: type: array items: type: string delete: summary: Unshare/Delete template tags: [] responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-template-share-template_id /v1/admin/user/profile: patch: summary: Patch User Profile operationId: patch-v1-admin-user-profile tags: - internal responses: '200': $ref: '#/components/responses/PatchUserProfileResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/PatchUserProfile' security: - X-API-Key: [] description: (ADMIN) Patch a user profile parameters: [] /v1/admin/user/delete: post: summary: Admin delete user tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-admin-user-delete security: - X-API-Key: [] x-internal: true requestBody: content: application/json: schema: type: object required: - email properties: otp: type: integer email: type: string parameters: [] /v1/admin/users: post: summary: Create New User operationId: post-v1-admin-users tags: - internal responses: '200': $ref: '#/components/responses/PostCreateUserResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/json: schema: type: object properties: ai_status: type: boolean scan_status: type: boolean static_scan: type: boolean neo_ai: type: boolean early_template: type: boolean create_auth_user: type: boolean tag: type: string enum: - TRIAL - ENT_TRIAL - PRO - ENT - FREE - VERIFIED_FREE - GROWTH email: type: string invite_email: type: boolean required: - email description: (ADMIN) Create a new user /v1/user/migrate_to_team: post: summary: Migrate Personal workspace data to a new team tags: - user responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string team_id: type: string required: - message - team_id '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-user-migrate-to-team requestBody: $ref: '#/components/requestBodies/CreateTeamRequest' security: - X-API-Key: [] description: Migrate Personal workspace data to a new team /v1/user/team: get: summary: Get Team operationId: get-v1-user-team tags: - internal responses: '200': $ref: '#/components/responses/GetTeamResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Get a team metadata parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Create Workspace tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string team_id: type: string required: - message - team_id '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-user-team requestBody: $ref: '#/components/requestBodies/CreateTeamRequest' security: - X-API-Key: [] description: 'Create a new team ' parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update Team operationId: patch-v1-user-team tags: - internal responses: '200': $ref: '#/components/responses/UpdateTeamResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/CreateTeamRequest' description: Update a existing team parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Team tags: - internal requestBody: content: application/json: schema: type: object properties: team_id: type: string required: - team_id responses: '200': description: OK '400': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-user-team security: - X-API-Key: [] description: Delete team (require 0 members) parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/user/team/member: get: summary: Get Team Members tags: - internal responses: '200': $ref: '#/components/responses/GetTeamMembersResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-user-team-member security: - X-API-Key: [] description: Get team member list parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Add Team Member operationId: post-v1-user-team-member tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/AddTeamMemberRequest' description: Invite a new team member parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Team Member operationId: delete-v1-user-team-member tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/DeleteTeamMemberRequest' description: Delete a team member using member email parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update Team Member operationId: patch-v1-user-team-member tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/PatchTeamMemberRequest' description: Accept team invite parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/user/team/member/accept: patch: summary: Update Team Member operationId: patch-v1-user-team-member-accept tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/InviteTeamMemberRequest' description: Accept team invite parameters: [] /v1/admin/team/member: post: summary: Add Team Member (Admin) operationId: post-v1-admin-team-member tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/AdminAddTeamMemberRequest' description: (ADMIN) Invite a new team member /v1/scans/scan_ips: get: summary: Get Scan IPs tags: - scans responses: '200': $ref: '#/components/responses/StaticScanIPsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-scan_ips security: - X-API-Key: [] description: Get user static scan IPs list parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/scans/{scan_id}/import': parameters: - schema: type: string name: scan_id in: path required: true patch: summary: Update Imported Scan operationId: patch-v1-scans-scan_id-import tags: - scans responses: '200': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' description: Import more results to a given scan requestBody: content: application/octet-stream: schema: type: string format: binary security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/scans/{scan_id}/export': parameters: - schema: type: string name: scan_id in: path required: true - schema: type: boolean in: query name: async get: summary: Export Scan tags: - scans responses: '200': description: OK content: application/octet-stream: schema: type: string '201': description: Created content: application/json: schema: type: object properties: export_id: type: string required: - export_id '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-scan_id-export parameters: - schema: type: string enum: - json - csv - pdf in: query name: type description: 'json, csv, pdf (default json)' - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Export scan results post: summary: Export Filtered Scan tags: - scans responses: '200': description: OK content: application/octet-stream: schema: type: string '201': description: Created content: application/json: schema: type: object properties: export_id: type: string required: - export_id '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-scans-scan_id-export parameters: - schema: type: string enum: - json - csv - pdf in: query name: type description: 'json, csv, pdf (default json)' - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: content: application/json: schema: type: object properties: ids: type: array items: type: string vuln_status: type: string severity: type: array items: type: string host: type: array items: type: string domain: type: array items: type: string port: type: array items: type: integer template: type: array items: type: string search: type: string category: type: array items: type: string is_internal: type: boolean security: - X-API-Key: [] description: Export filtered scan results /v1/scans/results/export: parameters: - schema: type: boolean in: query name: async post: summary: Export filtered Scan results tags: - export responses: '200': description: OK content: application/octet-stream: schema: type: string '201': description: Created content: application/json: schema: type: object properties: export_id: type: string required: - export_id '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-scans-results-export parameters: - schema: type: string enum: - json - csv - pdf in: query name: type description: 'json, csv, pdf (default json)' - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: content: application/json: schema: type: object properties: ids: type: array items: type: string vuln_status: type: string severity: type: array items: type: string host: type: array items: type: string domain: type: array items: type: string port: type: array items: type: integer template: type: array items: type: string search: type: string category: type: array items: type: string is_internal: type: boolean scan_ids: type: array items: type: string time: $ref: '#/components/schemas/TimeRangeQueryParameter' start_date: type: string format: date end_date: type: string format: date security: - X-API-Key: [] description: Export filtered scan results /v1/export/list: get: summary: Get export list for user tags: - export responses: '200': description: OK content: application/json: schema: type: object required: - current_page - result_count - total_results - total_pages - data properties: current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer data: type: array items: $ref: '#/components/schemas/ExportListItem' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-export-list parameters: - schema: type: integer in: query name: offset description: The number of items to skip before starting to collect the result set - schema: type: integer in: query name: limit - schema: type: string in: query name: export_status - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/scans/vuln/{vuln_id}/export': parameters: - schema: type: string name: vuln_id in: path required: true get: summary: Export Scan Vulnerability tags: - scans responses: '200': description: OK content: application/octet-stream: schema: type: string '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-vuln-vuln_id-export parameters: - schema: type: string enum: - json - csv in: query name: type description: 'json, csv (default json)' - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Export a specific scan vulnerability /v1/scans/vulns: patch: summary: Update Vulnerability Status operationId: patch-v1-scans-vulns tags: - scans responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/PatchScanVulnsRequest' security: - X-API-Key: [] description: Batch update vulnerability status parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Scan Vulnerability operationId: delete-v1-scans-vulns tags: - scans responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/DeleteVulnsRequest' security: - X-API-Key: [] description: Batch Delete scan vulnerability parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/scans/vulns/labels: patch: summary: Update Vulnerability Labels operationId: patch-v1-scans-vulns-labels tags: - scans responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/PatchScanVulnsLabelsRequest' security: - X-API-Key: [] description: Batch update vulnerability labels parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/scans/config: get: summary: Get Configs List tags: - configurations responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ConfigResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-config parameters: - schema: enum: - scan - reporting - template - alerting - cloudlist - subfinder - remediation - vuln_score type: string in: query name: type description: filter by the type of config - schema: type: string in: query name: search description: search by config name - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: integer in: query description: The number of items to skip before starting to collect the result set name: offset - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Get user scan configurations list post: summary: Add Config operationId: post-v1-scans-config tags: - configurations responses: '200': $ref: '#/components/responses/PostScanConfigResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: content: application/json: schema: type: object properties: config: type: string config_type: $ref: '#/components/schemas/ConfigTypeEnum' name: type: string global: type: boolean oauth_config_id: type: string description: ID of existing OAuth config to update with the complete configuration required: - config - name security: - X-API-Key: [] description: Add a new scan configuration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/scans/config/{config_id}': parameters: - schema: type: string name: config_id in: path required: true get: summary: Get Config tags: - configurations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ConfigResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-config-config_id security: - X-API-Key: [] description: Get a scan configuration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: boolean in: query name: config_json description: config is in json format patch: summary: Update Config operationId: patch-v1-scans-config-config_id tags: - configurations responses: '200': $ref: '#/components/responses/PostScanConfigResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: content: application/json: schema: type: object properties: name: type: string config: type: string global: type: boolean security: - X-API-Key: [] description: Update existing scan configuration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: boolean in: query description: Specify payload is in json name: config_json delete: summary: Delete Config operationId: delete-v1-scans-config-config_id tags: - configurations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Delete scan configuration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/scans/config/verify: post: summary: Verify Config tags: - configurations responses: '200': $ref: '#/components/responses/VerifyConfigResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-scans-config-verify requestBody: $ref: '#/components/requestBodies/VerifyConfigRequest' security: - X-API-Key: [] description: Verify scan configuration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/scans/config/verify/contents: post: summary: Get Verify Config Contents tags: - configurations responses: '200': $ref: '#/components/responses/VerifyConfigContentsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-scans-config-verify-contents requestBody: $ref: '#/components/requestBodies/VerifyConfigContentsRequest' security: - X-API-Key: [] description: Get Verify scan configuration contents parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query description: Jira Project ID to fetch details for name: project_id - schema: type: string in: query description: Linear Team ID to fetch details for name: team_id - schema: type: string in: query description: Specific Jira cloud ID when multiple clouds are available name: cloud_id '/v1/scans/{scan_id}/config': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Get Scan Config tags: - scans responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/ScanConfig' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-scans-id-config security: - X-API-Key: [] description: 'Get scan metadata config ' parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update Scan Config operationId: patch-scans-id-config tags: - scans responses: '200': description: OK content: application/json: schema: type: object properties: ok: type: boolean '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/ScanConfigUpdateItem' security: - X-API-Key: [] description: Update scan metadata config parameters: - schema: type: string enum: - append - replace default: append in: query name: update_type description: 'Update type: append or replace' - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/payment/stripe/invoices: get: summary: Get a list of invoices for a customer operationId: get-v1-payment-stripe-invoices responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/InvoiceItem' required: - data '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] /v1/payment/stripe/checkout_session: post: summary: Create Subscription Checkout operationId: post-v1-payment-stripe-checkout_session tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string payment_url: type: string required: - message '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/json: schema: type: object properties: price_id: type: string required: - price_id description: Create a new payment checkout parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: [] /v1/user/subscription: get: summary: Get Subscription Status tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: status: type: string message: type: string amount: type: integer monthly_token: type: integer price_id: type: string recurrence: type: string from: type: string to: type: string card: type: string brand: type: string payment_mode: type: string cancel_at: type: string trial: type: string required: - status - message '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-user-subscription security: - X-API-Key: [] description: Get user subscription status parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update current subscription tags: - users responses: '200': description: OK content: application/json: schema: type: object required: - message - status properties: message: type: string invoice: type: string status: type: string '400': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-user-subscription security: - X-API-Key: [] requestBody: content: application/json: schema: type: object required: - price_id properties: price_id: type: string parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/asset/enumerate: get: summary: Get Enumeration List tags: - enumerations responses: '200': $ref: '#/components/responses/EnumerateResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate parameters: - schema: type: integer in: query name: offset description: The number of items to skip before starting to collect the result set - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: string in: query name: search description: search keyword in enumeration list - schema: type: string in: query name: enum_type description: types of enumeration list (comma seperated) - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,name' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,name' - schema: type: string in: query name: status description: comma separated filter enumeration result by status - schema: type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time default: all_time in: query name: time description: time range to get enumerations from - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: query name: custom_filter description: custom query to filter. double encode the query string. - schema: type: boolean in: query name: is_internal description: filter by internal enumerations - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Get enumeration list post: summary: Create Enumeration tags: - enumerations responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string truncated-scan-targets: type: integer is-public: type: boolean bulk_ids: type: array items: type: string failed_domains: type: object additionalProperties: type: string description: Map of domain to failure reason '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-asset-enumerate requestBody: content: application/json: schema: type: object properties: root_domains: type: array items: type: string enrichment_inputs: type: array items: type: string cloudlist_config_ids: type: array items: type: string name: type: string steps: type: array items: type: string enum: - dns_resolve - dns_bruteforce - dns_permute - port_scan - http_probe - http_screenshot - endpoint_crawling - dns_passive - tls_scan - uncover_assets - dns_scraping enumeration_ports: type: string alerting_config_ids: type: array items: type: string disable_global_alert_config: type: boolean exclude_targets: type: array items: type: string enumeration_config: type: object properties: follow-redirect: type: boolean ports: type: string automatic_vuln_scans: type: boolean per_domain_enumeration: type: boolean agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string agent_behavior: type: string enum: - distribute - mirror default: distribute agent_auto_discover: type: boolean exclusions: type: array items: type: string security: - X-API-Key: [] description: Create a new enumeration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Assets in bulk tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-asset-enumerates requestBody: content: application/json: schema: type: object required: - asset_ids properties: asset_ids: type: array items: type: string security: - X-API-Key: [] description: Delete enumeration by enumerate ids parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/asset/enumerate/{enumerate_id}': parameters: - schema: type: string name: enumerate_id in: path required: true get: summary: Get Enumeration tags: - enumerations responses: '200': $ref: '#/components/responses/GetEnumerateIdContentsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enumerate_id security: - X-API-Key: [] description: Get enumeration by enumerate_id parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update Enumeration tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-asset-enumerate-enumerate_id requestBody: content: application/json: schema: type: object properties: name: type: string security: - X-API-Key: [] description: Update enumeration by enumerate_id parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Enumeration tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-asset-enumerate-enumerate_id security: - X-API-Key: [] description: Delete enumeration by enumerate_id parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/asset/enumerate/{enumerate_id}/contents': parameters: - schema: type: string name: enumerate_id in: path required: true get: summary: Get Enumeration Contents tags: - enumerations responses: '200': $ref: '#/components/responses/GetEnumerateIdContents' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enumerate_id-contents parameters: - schema: type: integer default: 0 in: query name: offset description: The number of items to skip before starting to collect the result set - schema: type: integer default: 100 in: query name: limit description: The numbers of items to return - schema: type: boolean in: query name: is_tech description: Return records that have technologies - schema: type: boolean in: query name: is_favicon description: Return the records that have favicon - schema: type: string name: search in: query description: Search on the content name - schema: type: string in: query name: labels description: 'Filter by comma separated labels, e.g-> labels=p1,p2' - schema: type: boolean in: query name: is_new description: Filter by new content - schema: type: string in: query name: host description: 'Filter by comma separated hosts, e.g-> host=p1,p2' - schema: type: string in: query name: port description: 'Filter by comma separated ports, e.g-> port=p1,p2' - schema: type: string in: query name: status_code description: 'Filter by comma separated status codes, e.g-> status_code=p1,p2' - schema: type: string in: query name: title description: 'Filter by comma separated titles, e.g-> title=p1,p2' - schema: type: string in: query name: content_length description: 'Filter by comma separated content lengths, e.g-> content_length=p1,p2' - schema: type: string in: query name: cname description: cname to filter - schema: type: string in: query name: domain description: 'Filter by comma separated domain names, e.g-> domain=domain1.com,domain2.com' - schema: type: string in: query name: technologies description: technologies to filter - schema: type: string in: query name: ip description: ips to filter - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,name' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,name' - schema: type: boolean in: query name: is_screenshot description: asset with screenshots - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: custom_filter description: custom query to filter. double encode the query string. - schema: type: string in: query name: favicon description: 'Filter by comma separated favicons, e.g-> favicon=p1,p2' - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records - schema: type: boolean in: query name: is_internal description: filter by is_internal (internal vs external hosts) security: - X-API-Key: [] description: Get enumeration content by enumerate_id /v1/asset/enumerate/contents: get: summary: Get All Enumeration Contents tags: - enumerations responses: '200': $ref: '#/components/responses/GetEnumerateIdContents' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-contents parameters: - schema: type: integer default: 0 in: query name: offset description: The number of items to skip before starting to collect the result set - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: integer default: 100 in: query name: limit description: The numbers of items to return - schema: type: boolean in: query name: is_tech description: Return records that have technologies - schema: type: boolean in: query name: is_favicon description: Return the records that have favicon - schema: type: string name: search in: query description: Search on the content name - schema: type: string in: query name: labels description: 'Filter by comma separated labels, e.g-> labels=p1,p2' - schema: type: boolean in: query name: is_new description: Filter by new content - schema: type: string in: query name: host description: 'Filter by comma separated labels, e.g-> host=p1,p2' - schema: type: string in: query name: port description: 'Filter by port separated labels, e.g-> port=p1,p2' - schema: type: string in: query name: status_code description: 'Filter by status code separated labels, e.g-> status_code=p1,p2' - schema: type: string in: query name: title description: 'Filter by title separated labels, e.g-> title=p1,p2' - schema: type: string in: query name: content_length description: 'Filter by content length separated labels, e.g-> content_length=p1,p2' - schema: type: string in: query name: domain description: 'Filter by domain names separated labels, e.g-> domain=domain1.com,domain2.com' - schema: type: string in: query name: cname description: cname to filter - schema: type: string in: query name: technologies description: technologies to filter - schema: type: string in: query name: ip description: ips to filter - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,name' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,name' - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: custom_filter description: custom query to filter. double encode the query string. - schema: type: boolean in: query name: is_screenshot description: asset with screenshots - schema: type: string in: query name: favicon description: 'Filter by comma separated favicons, e.g-> favicon=p1,p2' - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records - schema: type: boolean in: query name: is_internal description: filter by is_internal (internal vs external hosts) security: - X-API-Key: [] description: Get All enumeration content '/v1/asset/enumerate/{enumerate_id}/stop': parameters: - schema: type: string name: enumerate_id in: path required: true post: summary: Stop Enumeration tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-asset-enumerate-enumerate_id-stop security: - X-API-Key: [] description: Stop a running enumeration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/asset/enumerate/{enumerate_id}/rescan': parameters: - schema: type: string name: enumerate_id in: path required: true post: summary: Rescan Enumeration operationId: post-v1-asset-enumerate-enumerate_id-rescan tags: - enumerations responses: '200': description: OK content: application/json: schema: type: object required: - id properties: id: type: string truncated-scan-targets: type: integer '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Re-run a existing enumeration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/asset/enumerate/{enum_id}/export': parameters: - schema: type: string name: enum_id in: path required: true - schema: type: boolean in: query name: async get: summary: Export Enumeration tags: - enumerations responses: '200': description: OK content: application/octet-stream: schema: type: string '201': description: Created content: application/json: schema: type: object properties: export_id: type: string required: - export_id '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-enumerate-id-export parameters: - schema: $ref: '#/components/schemas/EnumExportFormats' in: query name: format - schema: type: string in: query name: search description: Search by string - schema: type: string in: query name: labels description: 'Filter by comma separated labels, e.g-> labels=p1,p2' - schema: type: boolean in: query name: is_new description: Filter by new content - schema: type: string in: query name: host description: 'Filter by comma separated hosts, e.g-> host=p1,p2' - schema: type: string in: query name: domains description: 'Filter by comma separated domains, e.g-> domains=p1,p2' - schema: type: string in: query name: port description: 'Filter by comma separated ports, e.g-> port=p1,p2' - schema: type: string in: query name: status_code description: 'Filter by comma separated status codes, e.g-> status_code=p1,p2' - schema: type: string in: query name: title description: 'Filter by comma separated titles, e.g-> title=p1,p2' - schema: type: string in: query name: content_length description: 'Filter by comma separated content lengths, e.g-> content_length=p1,p2' - schema: type: string in: query name: cname description: cname to filter - schema: type: string in: query name: technologies description: technologies to filter - schema: type: string in: query name: ip description: ips to filter - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: custom_filter description: custom query to filter. double encode the query string. - schema: type: boolean in: query name: is_screenshot description: Return records that have screenshots - schema: type: boolean in: query name: is_tech description: Return records that have technologies - schema: type: boolean in: query name: is_favicon description: Return the records that have favicon - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: query name: favicon description: 'Filter by comma separated favicons, e.g-> favicon=p1,p2' - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records security: - X-API-Key: [] description: Export the list of discovered assets for an enumeration. /v1/asset/enumerate/group: post: summary: Create an asset group tags: - enumerations responses: '200': description: OK content: application/json: schema: type: object required: - id properties: id: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/CreateAssetGroupRequest' operationId: post-v1-asset-enumerate-group parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Create an asset group from existing enumeration data using filters '/v1/asset/enumerate/group/{group_id}': parameters: - schema: type: string name: group_id in: path required: true delete: summary: Delete an asset group tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-asset-enumerate-group parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Delete an asset group by id patch: summary: Update an asset group tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/UpdateAssetGroupRequest' operationId: patch-v1-asset-enumerate-group parameters: - schema: type: string enum: - append - replace default: append in: query name: update_type description: Append vs Replace update_type. Default is append - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Update an asset group by customising the filters /v1/enumeration/schedule: get: summary: Get Enumeration Schedules tags: - enumerations responses: '200': $ref: '#/components/responses/GetEnumerationScheduleResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-enumeration-schedule security: - X-API-Key: [] description: Get enumeration re-scan schedule parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Set Enumeration Schedule operationId: post-v1-enumeration-schedule tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: $ref: '#/components/requestBodies/SetEnumerationScheduleRequest' security: - X-API-Key: [] description: Set enumeration re-scan frequency parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Enumeration Schedule operationId: delete-v1-enumeration-schedule tags: - enumerations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' parameters: - schema: type: string in: query name: enumeration_id description: enumeration_id of the schedule to be deleted required: true - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Delete a re-scan schedule /v1/team/audit_log: get: summary: Get audit logs for team tags: [] responses: '200': description: OK content: application/json: schema: type: object required: - message - data properties: message: type: string data: type: array items: $ref: '#/components/schemas/UserAuditLogItems' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' operationId: get-v1-audit-log security: - X-API-Key: [] parameters: - schema: type: string in: query name: email description: filter by specific user - schema: type: string in: query name: action description: filter by specific action name - schema: type: integer in: query name: offset description: number of rows to skip - schema: type: integer in: query name: limit description: number of rows to get - schema: type: string format: date in: query name: start_date description: start date from which you want to get logs - schema: type: string format: date in: query name: end_date description: end date till which you want to get logs - schema: type: string enum: - current_month - last_month - last_3_months - last_6_months - last_12_months in: query name: time_range description: time range to get logs - schema: type: string enum: - api - platform - unknown in: query name: source description: filter by source of the audit log entry - schema: type: string format: date in: query name: start_date description: start date from which you want to get logs - schema: type: string format: date in: query name: end_date description: end date till which you want to get logs - schema: type: string enum: - current_month - last_month - last_3_months - last_6_months - last_12_months in: query name: time_range description: time range to get logs - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/scans/history: get: summary: Get All Scans History tags: - scans responses: '200': $ref: '#/components/responses/GetScansHistoryResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-history parameters: - schema: type: integer in: query name: offset description: number of rows to skip - schema: type: integer in: query name: limit description: number of rows to get - schema: type: string format: date in: query name: start_date description: start date from which you want to get history - schema: type: string format: date in: query name: end_date description: end date till which you want to get history - schema: type: string enum: - current_month - last_month - last_3_months - last_6_months - last_12_months - all_time in: query name: time_range description: time range to get history - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Get user scan history details '/v1/scans/{scanId}/history': parameters: - schema: type: string name: scanId in: path required: true get: summary: Get Scan History tags: - scans responses: '200': $ref: '#/components/responses/GetScansHistoryResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-scanId-history parameters: - schema: type: integer in: query name: offset description: number of rows to skip - schema: type: integer in: query name: limit description: number of rows to get - schema: type: string format: date in: query name: start_date description: start date from which you want to get history - schema: type: string format: date in: query name: end_date description: end date till which you want to get history - schema: type: string enum: - current_month - last_month - last_3_months - last_6_months - last_12_months - all_time in: query name: time_range description: time range to get history - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Get scan history detial by scanId '/v1/integration/{name}': get: summary: Get Integration tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: status: type: string message: type: string key: type: string connection_id: type: string integration_id: type: string fetching_status: type: boolean required: - status - message - key - connection_id - integration_id - fetching_status '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-integration security: - X-API-Key: [] description: Get integration list parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Create Integration operationId: post-v1-integration tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: status: type: string message: type: string key: type: string connection_id: type: string integration_id: type: string fetching_status: type: boolean required: - status - key - connection_id - integration_id - fetching_status '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Add Integration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: - schema: type: string name: name in: path required: true patch: summary: Verify Integration operationId: patch-v1-integration tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string required: - message '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: content: application/json: schema: type: object properties: connection_id: type: string required: - connection_id description: Verify connection_id parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete Integration tags: - internal responses: '200': description: OK '400': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-integration security: - X-API-Key: [] requestBody: content: application/json: schema: type: object properties: connection_id: type: string required: - connection_id description: Deleted integration parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/integration/{name}/all': parameters: - schema: type: string name: name in: path required: true get: summary: Get All Integrations tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/IntegrationListItems' required: - data '400': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-integration-name-all security: - X-API-Key: [] description: Get integration list parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/template/contribute: post: summary: Contribute to Public Templates operationId: post-v1-template-contribute tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: pr: type: string required: - pr '400': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/CreateContributeRequest' description: Contribute template to nuclei-templates parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: [] '/v1/integration/{name}/profile': get: summary: Get Integration User Profile tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: name: type: string email: type: string login: type: string required: - name - email - login '400': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-integration-name-profile x-internal: false security: - X-API-Key: [] description: Get user integration profile data parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: - schema: type: string name: name in: path required: true /v1/template/github: get: summary: Get Github Template List tags: - templates responses: '200': $ref: '#/components/responses/GetUserTemplateListResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-github-templates security: - X-API-Key: [] description: List of all user's github templates parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: integer in: query name: offset - schema: type: integer in: query name: limit - schema: type: string in: query name: fields parameters: [] '/v1/template/github/{id}': parameters: - schema: type: string name: id in: path required: true description: 'unique Id of template ' get: summary: Get Github Template tags: - templates responses: '200': $ref: '#/components/responses/GetTemplateResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id operationId: get-v1-github-templates-id requestBody: content: {} description: Get github template text security: - X-API-Key: [] /v1/template/leaderboard: get: summary: Get Leaderboard tags: - internal responses: '200': description: OK content: application/json: schema: type: object required: - message properties: message: type: string count: type: integer results: type: array items: $ref: '#/components/schemas/ContributorSummary' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-template-leaderboard parameters: - schema: type: string in: query name: category description: 'Category Template Category (e.g cve,dast,other etc)' - schema: type: string in: query name: severity description: 'Severity Template Severity (e.g critical,high,medium,low,info,unknown)' - schema: type: string in: query name: type description: 'Type Template protocol type (e.g http,dns,headless)' - schema: type: string format: date in: query description: CreatedAtGte Start date to get contributors for (e.g 2024-01-01) name: created_at_gte - schema: type: integer in: query description: Limit The numbers of items to return name: limit - schema: type: integer in: query description: Offset The numbers of items to skip name: offset - schema: type: string format: date in: query name: created_at_lte description: CreatedAtLte End date to get contributors for (e.g 2024-01-01) - schema: type: string in: query description: SortAsc Sort results in ascending order (CSV field names) name: sort_asc - schema: type: string in: query description: SortDesc Sort results in descending order (CSV field names) name: sort_desc description: Get public templates leaderboard list /v1/template/stats: get: summary: Get Public Template Stats tags: - templates responses: '200': description: OK content: application/json: schema: type: object required: - message properties: message: type: string facets: $ref: '#/components/schemas/TemplateStats' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-template-stats parameters: - schema: type: integer in: query name: limit description: Limit The numbers of items to return - schema: type: integer in: query name: offset description: Offset The numbers of items to skip - schema: type: string in: query name: fields - schema: type: string in: query name: sort_asc description: SortAsc Sort results in ascending order (CSV field names) - schema: type: string in: query name: sort_desc description: SortDesc Sort results in descending order (CSV field names) - schema: type: string in: query name: q - schema: type: boolean in: query name: highlight description: Highlight Whether to highlight the search results security: - X-API-Key: [] description: Get public template statistics '/v1/scans/{scan_id}/error_log': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Get elogs of given scan id tags: - elog responses: '200': description: OK content: application/json: schema: type: object required: - logs - next_page_token properties: logs: type: array items: $ref: '#/components/schemas/ScanLogResp' next_page_token: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-scans-id-elog parameters: - schema: type: string in: query name: host description: target to search in log - schema: type: string in: query name: template description: template to search in log - schema: type: string in: query name: matched description: status to search in log - schema: type: string format: date-time in: query name: time description: time to filter the logs - schema: type: string in: query name: search description: 'string to search in error, target and template' - schema: type: string in: query name: error description: error to search in log - schema: type: string in: query name: next_page_token description: next page token - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: template_severity description: severity to search in log '/v1/scans/{scan_id}/scan_log': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Get scan log of given scan id tags: - scan_log responses: '200': description: OK content: application/json: schema: type: object required: - logs - next_page_token properties: logs: type: array items: $ref: '#/components/schemas/ScanLogResp' next_page_token: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-scans-id-scan-log parameters: - schema: type: string in: query name: host description: target to search in log - schema: type: string in: query name: template description: template to search in log - schema: type: string in: query name: matched description: status to search in log - schema: type: string format: date-time in: query name: time description: time to filter the logs - schema: type: string in: query name: search description: 'string to search in error, target and template' - schema: type: string in: query name: next_page_token - schema: type: string in: query name: template_severity description: severity to search in log - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/scans/{scan_id}/scan_log/export': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Export scan log of given scan id tags: - scan_log responses: '200': description: OK content: application/json: schema: type: object required: - url properties: url: type: string '201': description: Created content: application/json: schema: type: object properties: export_id: type: string required: - export_id '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-scans-id-scan-log-export security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: integer format: int64 in: query name: rescan_count - schema: type: string in: query name: host description: target to search in log - schema: type: string in: query name: template description: template to search in log - schema: type: string in: query name: matched description: status to search in log - schema: type: string format: date-time in: query name: time description: time to filter the logs - schema: type: string in: query name: search description: 'string to search in error, target and template' - schema: type: string in: query name: error description: error to search in log - schema: $ref: '#/components/schemas/LogExportFormat' name: format in: query description: format of the log file - schema: type: boolean in: query name: async - schema: type: string in: query name: alert_email - schema: type: string enum: - error - info - all_logs default: all_logs x-go-type-name: ScanLogExportSeverityTypes in: query name: severity '/v1/scans/{scan_id}/scan_log/stats': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Get scan log stats of given scan id tags: - scan_log - stats responses: '200': description: OK content: application/json: schema: type: object properties: info_count: type: integer format: int64 error_count: type: integer format: int64 total_count: type: integer format: int64 matched_count: type: integer format: int64 unmatched_count: type: integer format: int64 required: - info_count - error_count - total_count - matched_count - unmatched_count '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-scans-id-scan-log-stats parameters: - schema: type: integer format: int64 in: query name: rescan_count - schema: type: string in: query name: host description: target to search in log - schema: type: string in: query name: template description: template to search in log - schema: type: string in: query name: matched description: status to search in log - schema: type: string format: date-time in: query name: time description: time to filter the logs - schema: type: string in: query name: search description: 'string to search in error, target and template' - schema: type: string in: query name: error description: error to search in log - schema: type: string enum: - error - info - all_logs default: all_logs x-go-type: ScanLogExportSeverityTypes in: query name: severity /v1/scans/vulns/history: get: summary: Get scan log stats of given scan id tags: - history - vuln responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VulnerabilityHistoryDetail' '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-vulns-history parameters: - schema: type: array items: type: string in: query name: vuln_hash - schema: type: integer format: int64 default: 5 in: query name: history_limit required: false description: Specifies the maximum number of revisions to be returned. '/v1/scans/vulns/{vuln_id}/ticket': parameters: - schema: type: string name: vuln_id in: path required: true post: summary: Create vulns export to tracker tags: - scans responses: '200': $ref: '#/components/responses/VulnsTrackerExportResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '424': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-vulns-id-ticket requestBody: content: application/json: schema: type: object properties: custom_reporting_id: type: string custom_reporting_url: type: string parameters: - schema: type: string in: query name: reporting_config_id - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Create vulns export to tracker delete: summary: Delete vulns tracker association tags: - Scans responses: '200': description: OK content: application/json: schema: type: object properties: ok: type: boolean '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '424': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-vulns-id-ticket parameters: - schema: type: string in: query name: provider_name - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Delete vulns export tracker /v1/scans/config/exclude: get: summary: Get excluded templates tags: - configurations responses: '200': $ref: '#/components/responses/ExcludedTemplateResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-scans-config-exclude parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id security: - X-API-Key: [] description: Get excluded templates post: summary: Add excluded templates and targets operationId: post-scans-config-exclude responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' tags: - configurations parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: $ref: '#/components/requestBodies/ExcludeConfigRequest' security: - X-API-Key: [] description: Add excluded templates or targets delete: summary: Delete excluded templates or targets by ids operationId: delete-scans-config-exclude responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' tags: - configurations parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: $ref: '#/components/requestBodies/DeleteExcludedConfigRequest' security: - X-API-Key: [] description: Delete excluded templates or targets by ids parameters: [] /v1/payment/price_list: get: summary: Get price list tags: - internal responses: '200': $ref: '#/components/responses/PriceListResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-payment-price_list x-internal: true security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/scans/asset: get: summary: Get list of unique assets scanned in current month. tags: - scans responses: '200': description: OK content: application/json: schema: type: object required: - data - workspace_assets - total_assets properties: data: type: array items: $ref: '#/components/schemas/ScanAssetListItem' workspace_assets: type: integer total_assets: type: integer '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-assets security: - X-API-Key: [] description: List of all unique assets scanned in the current month. parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: search description: Search with host or port - schema: type: integer in: query name: limit description: Limit the number of assets (Default 100) - schema: type: integer in: query name: offset description: Offset the number of assets (Default 0) - schema: type: string format: date in: query name: start_date description: 'Start date of the range. If not provided, it will be the first day of the current billing cycle.' - schema: type: string format: date in: query name: end_date description: 'End date of the range. If not provided, it will be the last day of the current billing cycle.' - schema: type: string enum: - host in: query name: type description: 'Type of asset to filter by. Supported values are host, if not provided, it will return all assets.' parameters: [] /v1/scans/asset/export: get: summary: Export list of unique assets scanned in current month tags: - scans responses: '200': description: OK content: application/octet-stream: schema: type: string '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-assets-export security: - X-API-Key: [] description: Export the list of all unique assets scanned in the current month. parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: search description: Search with host or port - schema: type: string in: query name: format description: 'supported format is csv, json, or raw (default json)' - schema: type: string format: date in: query name: start_date description: 'Start date of the range. If not provided, it will be the first day of the current billing cycle.' - schema: type: string format: date in: query name: end_date description: 'End date of the range. If not provided, it will be the last day of the current billing cycle.' - schema: type: string enum: - host in: query name: type description: 'Type of asset to filter by. Supported values are host, if not provided, it will return all assets.' parameters: [] '/v1/scans/{scan_id}/asset': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Get list of unique assets for a scan. tags: - scans responses: '200': description: OK content: application/json: schema: type: object required: - data - total_assets properties: data: type: array items: $ref: '#/components/schemas/ScanAssetListItemOptional' total_assets: type: integer total_host_assets: type: integer '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-scan-id-assets security: - X-API-Key: [] description: List of all unique assets for a scan. parameters: - schema: type: string in: query name: search description: Search with host or port - schema: type: integer in: query name: limit description: Limit the number of assets (Default 100) - schema: type: integer in: query name: offset description: Offset the number of assets (Default 0) '/v1/scans/{scan_id}/asset/export': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Export list of unique assets for a scan tags: - scans responses: '200': description: OK content: application/octet-stream: schema: type: string '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-scan-id-assets-export security: - X-API-Key: [] description: Export the list of all unique assets for a scan. parameters: - schema: type: string in: query name: search description: Search with host or port - schema: type: string in: query name: format description: 'supported format is csv, json, or raw (default json)' /v1/asset/enumerate/domains: get: summary: Get list of unique domains discovered in current month tags: - asset responses: '200': description: OK content: application/json: schema: type: object required: - data - workspace_domains - total_domains properties: data: type: array items: $ref: '#/components/schemas/EnumerationDomainListItem' workspace_domains: type: integer total_domains: type: integer '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-domains description: Get list of unique domains discovered in current month parameters: - schema: type: string in: query name: search description: Search with domain name - schema: type: integer in: query name: limit description: Limit the number of domains (Default 100) - schema: type: integer in: query name: offset description: Offset the number of domains (Default 0) /v1/asset/enumerate/domains/export: get: summary: Export list of unique domains discovered in current month tags: - asset responses: '200': description: OK content: application/octet-stream: schema: type: string '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-domains-export security: - X-API-Key: [] description: Export list of unique domains discovered in current month. parameters: - schema: type: string in: query name: search description: Search with domain name - schema: type: string in: query name: format description: 'supported format is csv, raw, or json (default json)' parameters: [] '/v1/asset/enumerate/{enumerate_id}/domains': parameters: - schema: type: string name: enumerate_id in: path required: true get: summary: Get list of unique domains discovered in an enumeration tags: - asset responses: '200': description: OK content: application/json: schema: type: object required: - data - total_domains properties: data: type: array items: $ref: '#/components/schemas/EnumerationDomainListItem' total_domains: type: integer '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enum-id-domains description: Get list of unique domains discovered in an enumeration parameters: - schema: type: string in: query name: search description: Search with domain name - schema: type: integer in: query name: limit description: Limit the number of domains (Default 100) - schema: type: integer in: query name: offset description: Offset the number of domains (Default 0) '/v1/asset/enumerate/{enumerate_id}/domains/export': parameters: - schema: type: string name: enumerate_id in: path required: true get: summary: Export the list of unique input domains of an enumeration. tags: - asset responses: '200': description: OK content: application/octet-stream: schema: type: string '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enum-id-domains-export security: - X-API-Key: [] description: Export the list of unique input domains of an enumeration. parameters: - schema: type: string in: query name: search description: Search with domain name - schema: type: string in: query name: format description: 'supported format is csv, raw, or json (default json)' /v1/scans/token: get: summary: Get Scans Token description: Get user scan token usage details tags: - scans responses: '200': $ref: '#/components/responses/GetScansTokenResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-token parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/asset/{asset_id}/changelogs': parameters: - schema: type: integer format: int64 name: asset_id in: path required: true get: summary: Get Asset Changelogs for a given asset_id tags: - assets responses: '200': $ref: '#/components/responses/GetAssetChangelogsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-assetId-changelogs parameters: - schema: type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time default: all_time in: query name: time description: time filter to select - schema: type: string in: query name: event_type description: 'comma separated event_type e.g. event_type=vul_status,vul_status_change' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: integer in: query name: limit description: number of results to get - schema: type: integer in: query name: offset description: number of results to skip - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' security: - X-API-Key: [] description: Get asset changelogs /v1/asset/changelogs: get: summary: Get Asset Changelogs for all assets tags: - assets responses: '200': $ref: '#/components/responses/GetAssetChangelogsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-changelogs parameters: - schema: type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time default: all_time in: query name: time description: time filter to select - schema: type: string in: query name: event_type description: 'comma separated event_type e.g. event_type=vul_status,vul_status_change' - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,severity' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,severity' - schema: type: integer in: query name: limit description: limit the number of changelogs returned - schema: type: integer in: query name: offset description: offset the number of changelogs returned - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' security: - X-API-Key: [] description: Get asset changelogs '/v1/asset/{asset_id}': parameters: - schema: type: integer format: int64 name: asset_id in: path required: true get: summary: Get enumerated asset details tags: - assets responses: '200': $ref: '#/components/responses/GetAssetResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-id parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id delete: summary: Delete enumerated asset tags: - assets responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-asset-asset_id parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update asset details tags: - assets responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-asset-asset_id requestBody: $ref: '#/components/requestBodies/UpdateEnumeratedAssetRequest' parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/asset: delete: summary: Delete asset by filters tags: - assets responses: '200': $ref: '#/components/responses/AssetCountResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-asset security: - X-API-Key: [] description: Delete asset by filters parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: $ref: '#/components/requestBodies/DeleteAssetsRequest' /v1/asset/labels: patch: summary: Update Asset Labels tags: - assets responses: '200': $ref: '#/components/responses/AssetCountResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-asset-labels parameters: - schema: type: string enum: - append - replace - delete default: append in: query name: update_type description: Append or Replace update_type - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: $ref: '#/components/requestBodies/UpdateAssetLabelsRequest' '/v1/asset/{asset_id}/labels': parameters: - schema: type: integer format: int64 name: asset_id in: path required: true post: summary: Add labels to an asset tags: - assets responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-asset-id-labels parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: $ref: '#/components/requestBodies/AssetIdLabelsRequest' patch: summary: Modify labels of an asset tags: - assets responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-asset-id-labels parameters: - schema: type: string enum: - append - replace - delete default: append in: query name: update_type description: Append or Replace update_type requestBody: $ref: '#/components/requestBodies/AssetIdLabelsRequest' delete: summary: Delete labels of an asset tags: - assets responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-asset-id-labels parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/asset/enumerate/{enumerate_id}/stats': parameters: - schema: type: string name: enumerate_id in: path required: true - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records - schema: type: boolean in: query name: is_internal description: filter by is_internal (internal vs external hosts) get: summary: Get enumeration stats tags: - enumerations responses: '200': $ref: '#/components/responses/EnumerationStatsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enumerate_id-stats parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/asset/domain/{domain_name}/stats': parameters: - schema: type: string name: domain_name in: path required: true - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date get: summary: Get domain stats tags: - enumerations responses: '200': $ref: '#/components/responses/EnumerationStatsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-domain-domain_name-stats parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/asset/enumerate/stats: parameters: - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records get: summary: Get all enumeration stats tags: - enumerations responses: '200': $ref: '#/components/responses/EnumerationStatsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-stats parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/admin/team: parameters: - in: header name: X-Team-ID required: true schema: type: string patch: summary: Admin API to update team details tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-admin-team requestBody: $ref: '#/components/requestBodies/PatchTeamAdmin' security: - X-API-Key: [] description: Admin API to update team details '/v1/asset/enumerate/{enumerate_id}/config': parameters: - schema: type: string name: enumerate_id in: path required: true get: summary: Get enumeration config tags: - enumerations responses: '200': description: Shared Response content: application/json: schema: $ref: '#/components/schemas/EnumerationConfig' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enumerate_id-config parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id patch: summary: Update enumeration config tags: [] responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-asset-enumerate-enumerate_id-config parameters: - schema: type: string enum: - append - replace in: query name: update_type description: default mode is append - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: description: Shared Request content: application/json: schema: $ref: '#/components/schemas/EnumerationConfig' /v1/user/usage: get: summary: Get API Services Usage tags: - usage responses: '200': $ref: '#/components/responses/UsageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-user-usage requestBody: $ref: '#/components/requestBodies/UsageRequest' security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id parameters: [] /v1/admin/usage: post: summary: Set Usage Limit tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-admin-usage requestBody: $ref: '#/components/requestBodies/AdminSetUsageLimit' parameters: [] get: summary: Get User API service Usage tags: - internal responses: '200': $ref: '#/components/responses/UsageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-usage requestBody: $ref: '#/components/requestBodies/AdminUsageRequest' parameters: [] /v1/asset/enumerate/filters: get: summary: Group assets by filters tags: - enumerations responses: '200': $ref: '#/components/responses/GetEnumerateFiltersResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-filters parameters: - in: query name: offset schema: type: integer description: The number of items to skip before starting to collect the result set - in: query name: limit schema: type: integer description: The numbers of items to return - in: query name: host schema: type: string - in: query name: port schema: type: string - in: query name: ip schema: type: string - in: query name: cname schema: type: string - in: query name: technologies schema: type: string - in: query name: status_code schema: type: string - in: query name: content_length schema: type: string - in: query name: domain schema: type: string - in: query name: title schema: type: string - in: query name: webserver schema: type: string - in: query name: favicon schema: type: string - in: query name: labels schema: type: string - schema: $ref: '#/components/schemas/EnumerateFilterTypes' in: query name: group_by description: 'Group by type. e.g. - host, port, favicon.' required: true - schema: type: string enum: - cname - content_length - favicon - host - ip - port - status_code - technologies - title - webserver in: query name: sort_asc description: supported sort fields - schema: type: string enum: - cname - content_length - favicon - host - ip - port - status_code - technologies - title - webserver in: query name: sort_desc description: supported sort fields - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: boolean in: query name: is_screenshot - schema: type: boolean in: query name: is_tech - schema: type: boolean in: query name: is_favicon description: Filter items with favicon - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records - schema: type: string in: query name: custom_filter description: Filter by custom filter. Double encode the query string. '/v1/asset/enumerate/{enumerate_id}/filters': parameters: - schema: type: string name: enumerate_id in: path required: true get: summary: Group assets by filters for an enumeration tags: - enumerations responses: '200': $ref: '#/components/responses/GetEnumerateFiltersResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-id-filters parameters: - in: query name: offset schema: type: integer description: The number of items to skip before starting to collect the result set - in: query name: limit schema: type: integer description: The numbers of items to return - in: query name: host schema: type: string - in: query name: port schema: type: string - in: query name: ip schema: type: string - in: query name: cname schema: type: string - in: query name: technologies schema: type: string - in: query name: status_code schema: type: string - in: query name: content_length schema: type: string - in: query name: domain schema: type: string - in: query name: title schema: type: string - in: query name: webserver schema: type: string - in: query name: labels schema: type: string - in: query name: favicon schema: type: string - schema: $ref: '#/components/schemas/EnumerateFilterTypes' in: query name: group_by description: 'Group by type. e.g. - host, port, favicon.' required: true - schema: type: string enum: - cname - content_length - favicon - host - ip - port - status_code - technologies - title - webserver - labels in: query name: sort_asc description: supported sort fields - schema: type: string enum: - cname - content_length - favicon - host - ip - port - status_code - technologies - title - webserver - labels in: query name: sort_desc description: supported sort fields - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: boolean in: query name: is_screenshot - schema: type: boolean in: query name: is_tech - schema: type: boolean in: query name: is_favicon description: Filter items with favicon - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records - schema: type: boolean in: query name: is_internal description: filter by is_internal (internal vs external hosts) - schema: type: string in: query name: custom_filter description: Filter by custom filter. Double encode the query string. '/v1/asset/domain/{domain_name}/filters': parameters: - schema: type: string name: domain_name in: path required: true get: summary: Group assets by filters for an domain tags: - enumerations - domains responses: '200': $ref: '#/components/responses/GetEnumerateFiltersResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-domain-domain-name-filters parameters: - in: query name: offset schema: type: integer description: The number of items to skip before starting to collect the result set - in: query name: limit schema: type: integer description: The numbers of items to return - in: query name: host schema: type: string - in: query name: port schema: type: string - in: query name: ip schema: type: string - in: query name: cname schema: type: string - in: query name: technologies schema: type: string - in: query name: status_code schema: type: string - in: query name: content_length schema: type: string - in: query name: domain schema: type: array items: type: string - in: query name: title schema: type: string - in: query name: webserver schema: type: string - in: query name: labels schema: type: string - in: query name: favicon schema: type: string - schema: $ref: '#/components/schemas/EnumerateFilterTypes' in: query name: group_by description: 'Group by type. e.g. - host, port, favicon.' required: true - schema: type: string enum: - cname - content_length - favicon - host - ip - port - status_code - technologies - title - webserver - labels in: query name: sort_asc description: supported sort fields - schema: type: string enum: - cname - content_length - favicon - host - ip - port - status_code - technologies - title - webserver - labels in: query name: sort_desc description: supported sort fields - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: boolean in: query name: is_screenshot /v1/asset/enumerate/export: parameters: - schema: type: boolean in: query name: async get: summary: Export Enumeration of user tags: - enumerations responses: '200': description: OK content: application/octet-stream: schema: type: string '201': description: Created content: application/json: schema: type: object properties: export_id: type: string required: - export_id '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-enumerate-export parameters: - schema: $ref: '#/components/schemas/EnumExportFormats' in: query name: format - schema: type: string name: search in: query description: Search on the content name - schema: type: string in: query name: labels description: 'Filter by comma separated labels, e.g-> labels=p1,p2' - schema: type: boolean in: query name: is_new description: Filter by new content - schema: type: string in: query name: host description: 'Filter by comma separated labels, e.g-> host=p1,p2' - schema: type: string in: query name: port description: 'Filter by port separated labels, e.g-> port=p1,p2' - schema: type: string in: query name: status_code description: 'Filter by status code separated labels, e.g-> status_code=p1,p2' - schema: type: string in: query name: title description: 'Filter by title separated labels, e.g-> title=p1,p2' - schema: type: string in: query name: content_length description: 'Filter by content length separated labels, e.g-> content_length=p1,p2' - schema: type: string in: query name: domain description: 'Filter by domain names separated labels, e.g-> domain=domain1.com,domain2.com' - schema: type: string in: query name: cname description: cname to filter - schema: type: string in: query name: technologies description: technologies to filter - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,name' - schema: type: string in: query name: sort_desc - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: custom_filter description: custom query to filter. double encode the query string. - schema: type: boolean in: query name: is_screenshot - schema: type: string in: query name: ip description: ips to filter - schema: type: string in: query name: favicon description: 'Filter by comma separated favicons, e.g-> favicon=p1,p2' - schema: type: boolean in: query name: only_dns description: Query only dns FQDN records - schema: type: boolean in: query name: only_ip description: Query only dns IP records security: - X-API-Key: [] description: Export the list of discovered assets for all enumerations. /v1/automations: get: summary: Get Automations tags: - automations responses: '200': $ref: '#/components/responses/GetAutomationsListResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-automations security: - X-API-Key: [] parameters: - schema: type: integer in: query name: offset - schema: type: integer in: query name: limit - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' post: summary: Create Automation tags: - automations responses: '200': $ref: '#/components/responses/MessageResponse' '201': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/ErrorResponse' operationId: post-v1-automations security: - X-API-Key: [] requestBody: $ref: '#/components/requestBodies/AddAutomation' parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' '/v1/automations/{event}': parameters: - schema: type: string name: event in: path required: true get: summary: Get Automation tags: - automations responses: '200': $ref: '#/components/responses/GetAutomationIdResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-automations-event parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' patch: summary: Update Automation tags: - automations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-automations-event requestBody: $ref: '#/components/requestBodies/UpdateAutomationRequest' parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' delete: summary: Delete Automation tags: - automations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-automations-event parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' /v1/admin/automations: get: summary: Get Automations List tags: - internal responses: '200': $ref: '#/components/responses/AdminAutomationsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-automations parameters: - schema: type: integer in: query name: offset - schema: type: integer in: query name: limit - schema: type: integer in: query name: user_id - schema: type: string in: query name: event required: true - schema: type: string in: query name: enumeration_id delete: summary: Delete User Automation tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-admin-automations parameters: - schema: type: string in: query name: event required: true description: 'event string ' - schema: type: integer in: query name: user_id required: true - schema: type: string in: query name: enumeration_id description: enumeration-id for event patch: summary: Update Automation (Admin) tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: content: application/json: schema: type: object properties: name: type: string status: type: string scan_data: $ref: '#/components/schemas/AutomationScanData' validate_scan_data: type: boolean default: true operationId: update-v1-admin-automations parameters: - schema: type: integer in: query name: user_id required: true - schema: type: string in: query name: event required: true /v1/asset/exposures/metrics: get: summary: Get exposure metrics tags: - asset parameters: - in: query name: interval schema: type: string enum: - monthly default: monthly required: false description: The time interval for the metrics - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id responses: '200': $ref: '#/components/responses/ExposureMetricsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-exposures-metrics security: - X-API-Key: [] /v1/scans/vulns/exposures/metrics: get: summary: Get scan vuln exposure metrics tags: - scan parameters: - in: query name: interval schema: type: string enum: - monthly default: monthly required: true description: The time interval for the metrics - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id responses: '200': $ref: '#/components/responses/ScanExposureMetricsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-vulns-exposures-metrics security: - X-API-Key: [] /v1/scans/vulns/regression/metrics: get: summary: Get scan vuln regression metrics tags: - scan parameters: - in: query name: interval schema: type: string enum: - monthly default: monthly required: true description: The time interval for the metrics - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id responses: '200': $ref: '#/components/responses/ScanRegressionRemediationMetricsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-vulns-regression-metrics security: - X-API-Key: [] /v1/scans/vulns/remediation/metrics: get: summary: Get scan vuln remediation metrics tags: - scan parameters: - in: query name: interval schema: type: string enum: - monthly default: monthly required: true description: The time interval for the metrics - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id responses: '200': $ref: '#/components/responses/ScanRegressionRemediationMetricsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-vulns-remediation-metrics security: - X-API-Key: [] /v1/scans/validate: post: summary: Validate scan token before starting scan tags: - scan parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id responses: '200': description: OK content: application/json: schema: type: object properties: unique_asset_to_scan: type: integer format: int64 total_asset_to_scan: type: integer format: int64 required: - unique_asset_to_scan - total_asset_to_scan '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' requestBody: content: application/json: schema: type: object properties: targets: type: array items: type: string enumeration_ids: type: array items: $ref: '#/components/schemas/EnumerationIDTypes' operationId: post-v1-scans-validate security: - X-API-Key: [] '/v1/integration/oauth/{name}/generate-url': post: summary: Get OAuth URL for the service provider tags: - oauth parameters: - schema: type: string name: name in: path required: true - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: content: application/json: schema: type: object properties: integration_type: type: string enum: - neuron - config default: neuron description: 'Type of integration (neuron for AI/automation, config for regular configurations)' integration_name: type: string description: 'Name for the integration (required for config type, ignored for neuron type)' responses: '200': description: OK content: application/json: schema: type: object properties: url: type: string required: - url '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-generate-oauth-url security: - X-API-Key: [] '/v1/integration/oauth/{name}/exchange-token': post: summary: Exchange code for access token tags: - oauth parameters: - schema: type: string name: name in: path required: true - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: content: application/json: schema: type: object properties: code: type: string state: type: string installation_id: type: string required: - code - state responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string user_auth_integration_id: type: integer format: int32 config_id: type: string required: - message - user_auth_integration_id - config_id '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-exchange-oauth-token security: - X-API-Key: [] '/v1/integration/oauth/{name}/status': get: parameters: - schema: type: string name: name in: path required: true - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string enum: - neuron - config default: neuron in: query name: integration_type description: 'Type of integration (neuron for AI/automation, config for regular configurations)' - schema: type: string in: query name: integration_name description: Name of the config integration (required for config type integrations) summary: Get OAuth status tags: - oauth responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/OAuthStatus' metadata: $ref: '#/components/schemas/OAuthMetadata' config_id: type: string required: - status '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-integration-oauth-status security: - X-API-Key: [] '/v1/integration/oauth/{name}/revoke': delete: summary: Revoke OAuth token tags: - oauth parameters: - schema: type: string name: name in: path required: true - schema: type: string in: query name: integration_name description: Name of the config integration to revoke (for config type integrations) responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string required: - message '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-integration-oauth-revoke security: - X-API-Key: [] '/v1/integration/oauth/{name}/list': get: summary: List OAuth integrations tags: - oauth parameters: - schema: type: string name: name in: path required: true description: 'OAuth provider name (jira, linear, github)' - schema: type: string enum: - neuron - config - all default: config in: query name: integration_type description: Type of integrations to list - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id responses: '200': description: OK content: application/json: schema: type: object properties: integrations: type: array items: type: object properties: id: type: integer config_id: type: string provider: type: string integration_type: type: string integration_name: type: string created_at: type: string format: date-time jira_cloud_id: type: string github_installation_id: type: integer linear_org_id: type: string required: - integrations '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-integration-oauth-list security: - X-API-Key: [] /v1/admin/automations/alert: post: summary: Admin Automations alert tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-admin-automations-alert requestBody: content: application/json: schema: type: object required: - template_id properties: template_id: type: string /v1/admin/aurora_proxy: post: summary: Proxy requests to Aurora service tags: - internal x-internal: true operationId: post-v1-admin-aurora-proxy requestBody: content: application/json: schema: type: object required: - method - url_with_params properties: method: type: string description: HTTP method for the Aurora request enum: - GET - POST - PUT - PATCH - DELETE url_with_params: type: string description: URL path with query parameters for the Aurora endpoint request_body: type: object description: Request body to pass to the Aurora service (optional) responses: '200': description: Success - returns Aurora service response content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' /v1/admin/growth-plan/user-mapping: post: summary: Create or update growth plan user mapping tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-admin-growth-plan-user-mapping requestBody: content: application/json: schema: type: object required: - email - stripe_price_id properties: email: type: string description: Email of the user stripe_price_id: type: string description: Stripe price ID for the growth plan delete: summary: Delete growth plan user mapping tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-admin-growth-plan-user-mapping parameters: - schema: type: string in: query name: email required: true description: Email of the user to delete growth plan mapping get: summary: Get growth plan user mapping for a specific email tags: - internal responses: '200': description: Successfully retrieved growth plan user mapping content: application/json: schema: type: object properties: is_available: type: boolean description: Whether growth plan is available for this user stripe_price_id: type: string description: Stripe price ID if growth plan is available required: - is_available '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-growth-plan-user-mapping parameters: - name: email in: query description: Email of the user to get growth plan mapping required: true schema: type: string /v1/admin/stripe/prices: get: summary: Get all Stripe prices for a product tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: prices: type: array items: $ref: '#/components/schemas/StripePriceItem' message: type: string '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-stripe-prices x-internal: true security: - X-API-Key: [] parameters: - name: stripe_product_id in: query description: Stripe product ID to fetch prices for required: true schema: type: string /v1/admin/team/usage-stats: get: summary: Get comprehensive team usage statistics tags: - internal responses: '200': description: OK content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-team-usage-stats x-internal: true security: - X-API-Key: [] parameters: - name: email in: query description: Email address of the team owner required: true schema: type: string format: email /v1/admin/plan-limits: get: summary: Get all plan default limits tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: plans: type: array items: $ref: '#/components/schemas/PlanDefaultLimit' message: type: string '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-admin-plan-limits x-internal: true security: - X-API-Key: [] patch: summary: Update plan default limits tags: - internal responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-admin-plan-limits x-internal: true security: - X-API-Key: [] requestBody: content: application/json: schema: type: object required: - plan - asset_limit - domain_limit properties: plan: type: string enum: - ENT - ENT_TRIAL - PRO - GROWTH - TRIAL - FREE - VERIFIED_FREE asset_limit: type: integer format: int64 minimum: 0 domain_limit: type: integer format: int64 minimum: 0 /v1/billing-cycles: get: summary: Get the monthly billing cycle dates tags: - billing responses: '200': $ref: '#/components/responses/BillingCycleResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-billing-cycles parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/scans/remediation-efficiency: get: summary: Get remediation efficiency stats tags: - scan responses: '200': $ref: '#/components/responses/GetRemediationEfficiencyResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-remediation-efficiency parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id /v1/domain/search: get: summary: Domain & Organization Name Search tags: - chaos responses: '200': $ref: '#/components/responses/DomainSearchResults' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: domain-search parameters: - schema: type: string in: query name: query description: Search query for domain or organization name required: true - schema: type: integer in: query name: limit description: Number of results to return - schema: type: array items: type: string in: query name: fields description: Fields to include in response (CSV) - schema: type: string enum: - all - domains - orgs in: query name: scope description: Scope of search /v1/organization/search: get: summary: Get Organization by Domain tags: - chaos responses: '200': $ref: '#/components/responses/OrganizationSearchResults' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: organization-search parameters: - schema: type: string in: query name: domain description: Domain name to search and retrieve associated organization information required: true - schema: type: integer in: query name: limit description: Number of results to return - schema: type: integer in: query name: offset description: Pagination Offset /v1/scans/vulns/score/metrics: get: summary: Get Vuln Score Metrics tags: - vulns parameters: - in: query name: interval schema: type: string enum: - monthly default: monthly description: The time interval for the metrics - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id responses: '200': $ref: '#/components/responses/VulnScoreMetricsResponse' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-vulns-score-metrics '/v1/asset/enumerate/{enumerate_id}/categories': parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string name: enumerate_id in: path required: true - schema: type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: boolean in: query name: show_hosts - schema: type: array items: type: string in: query name: domain get: summary: Get categories for specific enumeration tags: - enumeration responses: '200': description: OK content: application/json: schema: type: object required: - asset_categories properties: asset_categories: type: array items: $ref: '#/components/schemas/AssetCategory' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enumerate-id-categories security: - X-API-Key: [] parameters: [] /v1/asset/enumerate/categories: parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: boolean in: query name: show_hosts - schema: type: array items: type: string in: query name: domain get: summary: Get categories for all enumerations tags: - enumeration responses: '200': description: OK content: application/json: schema: type: object required: - asset_categories properties: asset_categories: type: array items: $ref: '#/components/schemas/AssetCategory' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-categories security: - X-API-Key: [] '/v1/asset/domain/{domain_name}': parameters: - schema: type: string name: domain_name in: path required: true get: summary: Get Enumeration Domain Contents tags: - enumerations - domains responses: '200': $ref: '#/components/responses/GetEnumerateIdContents' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-domain-domain_name-contents parameters: - schema: type: integer default: 0 in: query name: offset description: The number of items to skip before starting to collect the result set - schema: type: integer default: 100 in: query name: limit description: The numbers of items to return - schema: type: boolean in: query name: is_tech description: Return records that have technologies - schema: type: boolean in: query name: is_favicon description: Return the records that have favicon - schema: type: string name: search in: query description: Search on the content name - schema: type: string in: query name: labels description: 'Filter by comma separated labels, e.g-> labels=p1,p2' - schema: type: boolean in: query name: is_new description: Filter by new content - schema: type: string in: query name: host description: 'Filter by comma separated hosts, e.g-> host=p1,p2' - schema: type: string in: query name: port description: 'Filter by comma separated ports, e.g-> port=p1,p2' - schema: type: string in: query name: status_code description: 'Filter by comma separated status codes, e.g-> status_code=p1,p2' - schema: type: string in: query name: title description: 'Filter by comma separated titles, e.g-> title=p1,p2' - schema: type: string in: query name: content_length description: 'Filter by comma separated content lengths, e.g-> content_length=p1,p2' - schema: type: string in: query name: cname description: cname to filter - schema: type: string in: query name: technologies description: technologies to filter - schema: type: string in: query name: ip description: ips to filter - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,name' - schema: type: string in: query name: sort_desc description: 'comma separated descending sorting e.g sort_desc=created_at,name' - schema: type: boolean in: query name: is_screenshot description: asset with screenshots - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: custom_filter description: custom query to filter. double encode the query string. - schema: type: string in: query name: favicon description: 'Filter by comma separated favicons, e.g-> favicon=p1,p2' security: - X-API-Key: [] description: Get enumeration content by domain_name '/v1/asset/domain/{domain_name}/export': parameters: - schema: type: string name: domain_name in: path required: true - schema: type: boolean in: query name: async get: summary: Export Enumeration of user by domain tags: - enumerations responses: '200': description: OK content: application/octet-stream: schema: type: string '201': description: Created content: application/json: schema: type: object properties: export_id: type: string required: - export_id '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-domain-domain_name-export parameters: - schema: $ref: '#/components/schemas/EnumExportFormats' in: query name: format - schema: type: string name: search in: query description: Search on the content name - schema: type: string in: query name: labels description: 'Filter by comma separated labels, e.g-> labels=p1,p2' - schema: type: boolean in: query name: is_new description: Filter by new content - schema: type: string in: query name: host description: 'Filter by comma separated labels, e.g-> host=p1,p2' - schema: type: string in: query name: port description: 'Filter by port separated labels, e.g-> port=p1,p2' - schema: type: string in: query name: status_code description: 'Filter by status code separated labels, e.g-> status_code=p1,p2' - schema: type: string in: query name: title description: 'Filter by title separated labels, e.g-> title=p1,p2' - schema: type: string in: query name: content_length description: 'Filter by content length separated labels, e.g-> content_length=p1,p2' - schema: type: string in: query name: domain description: 'Filter by domain names separated labels, e.g-> domain=domain1.com,domain2.com' - schema: type: string in: query name: cname description: cname to filter - schema: type: string in: query name: technologies description: technologies to filter - schema: type: string in: query name: sort_asc description: 'comma separated ascending sorting e.g sort_asc=created_at,name' - schema: type: string in: query name: sort_desc - schema: $ref: '#/components/schemas/TimeRangeQueryParameter' default: all_time in: query name: time description: time filter to select - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string in: query name: custom_filter description: custom query to filter. double encode the query string. - schema: type: boolean in: query name: is_screenshot - schema: type: string in: query name: ip description: ips to filter - schema: type: string in: query name: favicon description: 'Filter by comma separated favicons, e.g-> favicon=p1,p2' security: - X-API-Key: [] description: Export enumeration content by domain /v2/template: get: summary: Your GET endpoint tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: count: type: integer results: type: array items: $ref: '#/components/schemas/TemplateData' total: type: integer '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v2-template description: Get user templates security: - X-API-Key: [] parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' - in: query name: scope schema: type: string - schema: type: integer in: query name: limit - schema: type: integer in: query name: offset - schema: type: array items: type: string description: List of fields to return(comma separated) in: query name: fields - schema: type: string in: query name: sort_desc - schema: type: string in: query name: sort_asc - schema: type: array items: type: string uniqueItems: false minItems: 0 in: query name: template-ids allowEmptyValue: false - schema: type: array items: type: string in: query name: id - schema: type: array items: type: string in: query name: exclude-id - schema: type: array items: type: string in: query name: tags - schema: type: array items: type: string in: query name: include-tags - schema: type: array items: type: string in: query name: exclude-tags - schema: type: array items: type: string in: query name: severity - schema: type: array items: type: string in: query name: exclude-severity - schema: type: array items: type: string in: query name: type - schema: type: array items: type: string in: query name: exclude-type - schema: type: array items: type: string in: query name: templates - schema: type: array items: type: string in: query name: exclude-templates - schema: type: string in: query name: profile_name - schema: type: boolean in: query name: is_new - schema: type: boolean in: query name: is_early - schema: type: boolean in: query name: is_github - schema: type: boolean in: query name: is_draft /v1/scans/config/severity: get: summary: Get custom severity mappings tags: - configurations responses: '200': $ref: '#/components/responses/GetSeverityConfigResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-scans-config-severity parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' post: summary: Add custom severity mapping tags: - configurations responses: '200': $ref: '#/components/responses/PostSeverityConfigResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-scans-config-severity parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id requestBody: $ref: '#/components/requestBodies/AddCustomSeverityMappingRequest' delete: summary: Delete custom severity mapping tags: - configurations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-scans-config-severity parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' requestBody: $ref: '#/components/requestBodies/DeleteCustomSeverityMappingRequest' '/v1/scans/config/{config_id}/severity': parameters: - schema: type: integer format: int64 name: config_id in: path required: true patch: summary: Modify custom severity mapping tags: - configurations responses: '200': $ref: '#/components/responses/MessageResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: patch-v1-scans-config-config_id-severity parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' requestBody: $ref: '#/components/requestBodies/AddCustomSeverityMappingRequest' /v1/leaks/stats/domain: get: summary: Get leak statistics for a domain (Public) description: 'Public endpoint - no authentication required. Returns leak statistics for any domain including employee/customer leak counts, geographic distribution, and top compromised services.' tags: - leaks responses: '200': description: OK content: application/json: schema: type: object properties: leak_devices_count: type: array items: $ref: '#/components/schemas/DevicesCount' leak_customers_count: type: array items: $ref: '#/components/schemas/CustomersCount' leak_user_count: type: array items: $ref: '#/components/schemas/UsersCount' leak_employees_count: type: array items: $ref: '#/components/schemas/EmployeesCount' combolist_exposure: type: array items: $ref: '#/components/schemas/CombolistExposureCount' leak_country_stats: type: array items: $ref: '#/components/schemas/LeakCountryStats' top_used_urls_by_customers: type: array items: $ref: '#/components/schemas/UsedUrlsCount' top_used_urls_by_employees: type: array items: $ref: '#/components/schemas/UsedUrlsCount' top_used_urls_by_user: type: array items: $ref: '#/components/schemas/UsedUrlsCount' leak_customers_timeline: type: array items: $ref: '#/components/schemas/LeaksTimeline' leak_user_timeline: type: array items: $ref: '#/components/schemas/LeaksTimeline' leak_employees_timeline: type: array items: $ref: '#/components/schemas/LeaksTimeline' customers_sample_data: type: array items: $ref: '#/components/schemas/LeaksUsersSampleData' employees_sample_data: type: array items: $ref: '#/components/schemas/LeaksUsersSampleData' user_sample_data: type: array items: $ref: '#/components/schemas/LeaksUsersSampleData' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-leaks-stats-domain security: [] parameters: - schema: type: string in: query name: domain required: true description: The domain to get leak statistics for /v1/leaks/stats/email: get: summary: Get leak statistics for an email (Public) description: 'Public endpoint - no authentication required. Returns leak statistics for any email address including leak classification, compromised services, and risk timeline.' tags: - leaks responses: '200': description: OK content: application/json: schema: type: object properties: leak_devices_count: type: array items: $ref: '#/components/schemas/DevicesCount' leak_customers_count: type: array items: $ref: '#/components/schemas/CustomersCount' leak_user_count: type: array items: $ref: '#/components/schemas/UsersCount' leak_employees_count: type: array items: $ref: '#/components/schemas/EmployeesCount' combolist_exposure: type: array items: $ref: '#/components/schemas/CombolistExposureCount' leak_country_stats: type: array items: $ref: '#/components/schemas/LeakCountryStats' top_used_urls_by_customers: type: array items: $ref: '#/components/schemas/UsedUrlsCount' top_used_urls_by_employees: type: array items: $ref: '#/components/schemas/UsedUrlsCount' top_used_urls_by_user: type: array items: $ref: '#/components/schemas/UsedUrlsCount' leak_customers_timeline: type: array items: $ref: '#/components/schemas/LeaksTimeline' leak_user_timeline: type: array items: $ref: '#/components/schemas/LeaksTimeline' leak_employees_timeline: type: array items: $ref: '#/components/schemas/LeaksTimeline' customers_sample_data: type: array items: $ref: '#/components/schemas/LeaksUsersSampleData' employees_sample_data: type: array items: $ref: '#/components/schemas/LeaksUsersSampleData' user_sample_data: type: array items: $ref: '#/components/schemas/LeaksUsersSampleData' '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-leaks-stats-email security: [] parameters: - schema: type: string in: query name: email description: The email address to get leak statistics for required: true /v1/leaks: get: summary: Get all leaked credentials description: 'Returns all leaks (personal, employee, customer) with optional type filtering. Replaces the need for separate endpoint calls.' tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: type: object properties: id: type: string url: type: string username: type: string password: type: string device_ip: type: string hostname: type: string os: type: string malware_path: type: string country: type: string log_date: type: string hardware_id: type: string domain: type: string email_domain: type: string url_domain: type: string fetched_at: type: string status: type: string user_type: type: string description: 'Classification of leak type (personal, employee, customer, external_vendor_leaks, organization_leaks)' total_leaks: type: number total_pages: type: number total_count: type: number summary: type: object properties: total_leaks: type: number personal_leaks: type: number employee_leaks: type: number customer_leaks: type: number external_vendor_leaks: type: number description: Employee leaks on external vendor systems (login URL domain != email domain) organization_leaks: type: number description: Employee leaks on organization systems (login URL domain == email domain) group_summary: type: array description: Group summary data when group_by parameter is used items: type: object additionalProperties: true description: Dynamic group summary with field name as key and count '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-leaks parameters: - schema: type: string enum: - all - personal - employee - customer - external_vendor_leaks - organization_leaks default: all in: query name: type description: Filter by specific leak type (single value only) - schema: type: string in: query name: domain description: Filter leaks by specific domain (applies to employee/customer leaks) - schema: type: string in: query name: email description: 'Filter leaks by specific email (can be personal, employee, or customer email from user''s authorized results)' - schema: type: string in: query name: search description: Search query to filter results across all fields - schema: type: number in: query name: limit description: Number of results per page for pagination - schema: type: number in: query name: page_number description: Page number for pagination (starts from 1) - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string default: all_time enum: - all_time - current_month - last_month - last_3_months - last_6_months - last_12_months in: query name: time_range - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string enum: - url - username - log_date - country - device_ip - host_username - hostname - os - hardware_id - malware_path in: query name: sort_by description: supported sort fields - schema: type: string enum: - asc - desc in: query name: sort_order description: supported sort order (asc or desc) - schema: type: string enum: - fixed - open in: query name: status description: supported status (fixed or open) - schema: type: string enum: - url - country - device_ip - hostname - email - hardware_id in: query name: group_by description: Group results by field - returns group summaries when used without field-specific filtering - schema: type: string in: query name: url description: Filter by specific URL (used with group_by for drill-down) - schema: type: string in: query name: country description: Filter by specific country (used with group_by for drill-down) - schema: type: string in: query name: device_ip description: Filter by specific device IP (used with group_by for drill-down) - schema: type: string in: query name: hostname description: Filter by specific hostname (used with group_by for drill-down) - schema: type: string in: query name: hardware_id description: Filter by specific hardware ID (used with group_by for drill-down) /v1/leaks/export: post: summary: Export leaked credentials description: 'Export leaked credentials with filtering by type, domain, email, date range, and more. Passwords are unmasked after domain verification. See [Domain Verification](/cloud/credential-monitoring#domain-verification) for setup instructions.' tags: - export responses: '200': description: Export data returned successfully content: application/json: schema: type: object properties: data: type: array items: type: object properties: id: type: string url: type: string username: type: string password: type: string device_ip: type: string hostname: type: string os: type: string malware_path: type: string country: type: string log_date: type: string hardware_id: type: string domain: type: string email_domain: type: string url_domain: type: string fetched_at: type: string status: type: string user_type: type: string description: 'Classification of leak type (personal, employee, customer, external_vendor_leaks, organization_leaks)' total_leaks: type: number total_pages: type: number total_count: type: number summary: type: object properties: total_leaks: type: number personal_leaks: type: number employee_leaks: type: number customer_leaks: type: number external_vendor_leaks: type: number description: Employee leaks on external vendor systems (login URL domain != email domain) organization_leaks: type: number description: Employee leaks on organization systems (login URL domain == email domain) group_summary: type: array description: Group summary data when group_by parameter is used items: type: object additionalProperties: true description: Dynamic group summary with field name as key and count text/csv: schema: type: string description: CSV formatted export data '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-leaks-export parameters: - schema: type: string enum: - json - csv default: json in: query name: format description: Export format (json or csv) requestBody: required: true content: application/json: schema: type: object properties: type: type: string enum: - all - personal - employee - customer - external_vendor_leaks - organization_leaks default: all description: Filter by specific leak type (single value only) domain: type: string description: Filter leaks by specific domain (applies to employee/customer leaks) email: type: string description: 'Filter leaks by specific email (can be personal, employee, or customer email from user''s authorized results)' search: type: string description: Search query to filter results across all fields limit: type: number description: Number of results per page for pagination page_number: type: number description: Page number for pagination (starts from 1) start_date: type: string format: date description: time filter start date time_range: type: string enum: - all_time - current_month - last_month - last_3_months - last_6_months - last_12_months default: all_time end_date: type: string format: date description: time filter end date sort_by: type: string enum: - url - username - log_date - country - device_ip - host_username - hostname - os - hardware_id - malware_path description: supported sort fields sort_order: type: string enum: - asc - desc description: supported sort order (asc or desc) status: type: string enum: - fixed - open description: supported status (fixed or open) group_by: type: string enum: - url - country - device_ip - hostname - email - hardware_id description: Group results by field - returns group summaries when used without field-specific filtering url: type: string description: Filter by specific URL (used with group_by for drill-down) country: type: string description: Filter by specific country (used with group_by for drill-down) device_ip: type: string description: Filter by specific device IP (used with group_by for drill-down) hostname: type: string description: Filter by specific hostname (used with group_by for drill-down) hardware_id: type: string description: Filter by specific hardware ID (used with group_by for drill-down) /v1/leaks/domain: get: summary: Get employee/corporate leaks for verified domains (DEPRECATED) deprecated: true description: | **DEPRECATED:** This endpoint is deprecated in favor of the consolidated `/v1/leaks` endpoint. tags: - deprecated responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/LeaksEntity' total_leaks: type: number filtered: type: boolean search_query: type: string total_pages: type: number current_page: type: number '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-leaks-domain parameters: - schema: type: string in: query name: search description: Search query to filter results across all fields - schema: type: number in: query name: limit description: Number of results per page for pagination - schema: type: number in: query name: page_number description: Page number for pagination (starts from 1) - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string default: all_time enum: - all_time - current_month - last_month - last_3_months - last_6_months - last_12_months in: query name: time_range - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string enum: - url - username - log_date - country - device_ip - host_username - hostname - os - hardware_id - malware_path in: query name: sort_by description: supported sort fields - schema: type: string enum: - asc - desc in: query name: sort_order description: supported sort order (asc or desc) - schema: type: string enum: - fixed - open in: query name: status description: supported status (fixed or open) /v1/leaks/email: get: summary: Get personal email leaks for authenticated user (DEPRECATED) deprecated: true description: | **DEPRECATED:** This endpoint is deprecated in favor of the consolidated `/v1/leaks` endpoint. tags: - deprecated responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/LeaksEntity' total_leaks: type: number total_pages: type: number current_page: type: number '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-leaks-email parameters: - schema: type: string in: query name: search description: Search query to filter results across all fields - schema: type: number in: query name: limit description: Number of results per page for pagination - schema: type: number in: query name: page_number description: Page number for pagination (starts from 1) - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string default: all_time enum: - all_time - current_month - last_month - last_3_months - last_6_months - last_12_months in: query name: time_range - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string enum: - url - username - log_date - country - device_ip - host_username - hostname - os - hardware_id - malware_path in: query name: sort_by description: supported sort fields - schema: type: string enum: - asc - desc in: query name: sort_order description: supported sort order (asc or desc) - schema: type: string enum: - fixed - open in: query name: status description: supported status (fixed or open) /v1/leaks/domain/customers: get: summary: Get customer leaks for verified domains (DEPRECATED) deprecated: true description: | **DEPRECATED:** This endpoint is deprecated in favor of the consolidated `/v1/leaks` endpoint. tags: - deprecated responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/LeaksEntity' total_leaks: type: number total_pages: type: number current_page: type: number '400': $ref: '#/components/responses/MessageResponse' '401': $ref: '#/components/responses/MessageResponse' '403': $ref: '#/components/responses/MessageResponse' '404': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-leaks-domain-customers parameters: - schema: type: string in: query name: search description: Search query to filter results across all fields - schema: type: integer in: query name: limit description: Number of results per page for pagination - schema: type: integer in: query name: page_number description: Page number for pagination (starts from 1) - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string default: all_time enum: - all_time - current_month - last_month - last_3_months - last_6_months - last_12_months in: query name: time_range - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string enum: - url - username - log_date - country - device_ip - host_username - hostname - os - hardware_id - malware_path in: query name: sort_by description: supported sort fields - schema: type: string enum: - asc - desc in: query name: sort_order description: supported sort order (asc or desc) - schema: type: string enum: - fixed - open in: query name: status description: supported status (fixed or open) '/v1/asset/enumerate/{enumerate_id}/history': parameters: - schema: type: string name: enumerate_id in: path required: true get: summary: Get asset enumeration history data tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: current_page: type: integer result_count: type: integer total_pages: type: integer total_results: type: integer total_enumeration: type: integer format: int64 total_unique_enumeration: type: integer format: int64 data: type: array items: $ref: '#/components/schemas/EnumerationHistoryDataResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-asset-enumerate-enumerate_id-history parameters: - schema: type: integer in: query name: offset description: The number of items to skip before starting to collect the result set - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: string format: date in: query name: start_date description: time filter start date - schema: type: string default: all_time enum: - all_time - current_month - last_month - last_3_months - last_6_months - last_12_months in: query name: time_range - schema: type: string format: date in: query name: end_date description: time filter end date - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' description: Get asset enumeration history data /v1/vulns/coverage: get: summary: Get Vulnerability Template Coverage Statistics tags: [] operationId: get-v1-vulns-coverage description: 'Get template coverage statistics for vulnerabilities. Supports all search query filters to calculate coverage for specific subsets (e.g., by product, severity, etc.)' parameters: - in: query name: q required: false schema: type: string description: 'SearchQL query to filter vulnerabilities (e.g., "severity:critical", "affected_products.product:wordpress")' - in: query name: term_facets required: false schema: items: type: string type: array description: List of term facets to apply - in: query name: range_facets required: false schema: items: type: string type: array description: List of range facets to apply responses: '200': description: Coverage statistics response content: application/json: schema: type: object required: - cves - kevs - pocs - fts_query - filter_description properties: cves: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' kevs: type: object properties: cisa: type: object properties: all: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' with_public_poc: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' due_date_breakdown: type: object properties: overdue: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' next_7_days: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' next_30_days: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' after_30_days: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' vulncheck: type: object properties: all: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' with_public_poc: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' due_date_breakdown: type: object properties: overdue: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' next_7_days: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' next_30_days: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' after_30_days: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' pocs: type: object properties: coverage: $ref: '#/components/schemas/CoverageStats' fts_query: type: string description: The SearchQL query string used to calculate coverage (before adding the is_template filter) example: 'is_remote:true AND (cvss_metrics:"pr:n" OR cvss_metrics:"au:n") AND NOT vuln_status:rejected' filter_description: type: string description: Human-readable description of the filters applied to calculate coverage statistics example: 'Default filter: remotely exploitable vulnerabilities with no authentication required, excluding rejected/unconfirmed statuses and hardware/OS/consumer categories' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' /v2/vulnerability/search: get: summary: Full Text Search tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: count: type: integer facets: type: object additionalProperties: $ref: '#/components/schemas/Facets' results: type: array items: $ref: '#/components/schemas/Vulnerability' total: type: integer '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v2-vulnerability-search description: Full text search on vulnerabilities parameters: - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: integer in: query name: offset description: The numbers of items to skip - schema: type: string in: query name: sort_asc description: Sort results in ascending order (CSV field names) - schema: type: string in: query name: sort_desc description: Sort results in descending order (CSV field names) - schema: items: type: string type: array in: query name: fields description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: term_facets description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: range_facets description: List of fields to return(comma separated) - schema: type: string in: query name: q description: query - schema: type: boolean in: query name: highlight description: Whether to highlight the search results - schema: type: integer in: query name: facet_size description: Number of facets to return parameters: [] '/v2/vulnerability/{id}': parameters: - schema: type: string name: id in: path required: true get: summary: Get Vulnerability by ID tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/Vulnerability' '400': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-vulnerability-by-id description: Get Vulnerability by ID parameters: - schema: type: string in: query name: fields description: 'template data fields ' /v2/vulnerability/filters: get: summary: Get All Filters for Vulnerabilities tags: [] responses: '200': content: application/json: schema: items: properties: can_sort: description: Indicates if sorting is possible by this field. type: boolean data_type: description: 'The data type of the filter field (e.g., string, number, datetime).' type: string description: description: A human-readable description of the filter field. type: string enum_values: description: The possible values for this field. items: type: string type: array examples: description: Example usage of the filter. items: type: string type: array facet_possible: description: Indicates if faceting is possible for this field. type: boolean field: description: The name of the filter field. type: string search_analyzer: description: The search analyzer used for this field. type: string required: - field - data_type - description - facet_possible - can_sort - examples - search_analyzer - enum_values type: object type: array description: OK '400': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v2-vulnerability-filters description: Get all filters for vulnerabilities parameters: [] '/v1/scans/{scan_id}/error_stats': parameters: - schema: type: string name: scan_id in: path required: true get: summary: Get error statistics of given scan id tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/StatisticsResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-scans-id-error-stats '/v1/template/leaderboard/{name}': parameters: - schema: type: string name: name in: path required: true get: summary: Get Leaderboard ID Details tags: [] responses: '200': description: Shared Response content: application/json: schema: type: object properties: count: type: integer description: The number of results facets: type: object description: The search facets additionalProperties: $ref: '#/components/schemas/Facets' results: type: array description: The search results items: $ref: '#/components/schemas/TemplateData' total: type: integer description: The total number of results '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-template-leaderboard-id description: Get public templates leaderboard ID details parameters: - schema: type: array items: type: string in: query name: fields description: List of fields to return(comma separated) - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: integer in: query name: offset description: The numbers of items to skip '/v1/tasks/{task_id}/chunk': parameters: - schema: type: string name: task_id in: path required: true - schema: type: boolean in: query name: done get: summary: Get Task Chunk tags: - tasks responses: '200': $ref: '#/components/responses/TaskChunkResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-task-chunk description: Get details of a task by Scan ID or Enumeration ID security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id '/v1/tasks/{task_id}/chunk/{chunk_id}': parameters: - schema: type: string name: task_id in: path required: true - schema: type: string name: chunk_id in: path required: true get: summary: Get task chunk details tags: - tasks responses: '200': $ref: '#/components/responses/TaskChunkResponse' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v1-task-chunk-details description: Get details of a task chunk by scan ID or Enumeration ID and chunk ID security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id post: summary: Update a task chunk status tags: - tasks responses: '200': description: OK content: application/json: schema: type: object properties: ok: type: boolean required: - ok '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '499': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-task-chunk-status security: - X-API-Key: [] parameters: - schema: type: string in: header description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' name: X-Team-Id - schema: type: string enum: - ack - nack - in_progress in: query name: status required: true description: Status of the chunk elaboration /v1/agents/in: post: summary: Register Agents tags: - agents operationId: post-v1-agents-in parameters: - schema: type: string in: query name: os description: Operating system - schema: type: string in: query name: arch description: Architecture - schema: type: string in: query name: id description: Agent ID - schema: type: string in: query name: name description: Agent name - schema: type: string in: query name: tags description: Comma-separated tags - schema: type: string in: query name: networks description: Comma-separated networks - schema: type: string in: query name: network_subnets description: Comma-separated network subnets - schema: type: string enum: - agent - tunnel in: query name: type description: Agent type (agent or tunnel) - schema: type: string in: header name: x-api-key description: API key security: - X-API-Key: [] responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string '404': description: Not Found content: application/json: schema: type: object properties: error: type: string /v1/agents/out: post: summary: Deregister Agent tags: - agents operationId: post-v1-agents-out parameters: - schema: type: string in: query name: id description: Agent ID - schema: type: string in: header name: x-api-key description: API key security: - X-API-Key: [] responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string '404': description: Not Found content: application/json: schema: type: object properties: error: type: string /v1/agents: get: summary: Get Agents tags: - agents operationId: get-v1-agents parameters: - schema: type: string in: header name: x-api-key description: API key security: - X-API-Key: [] responses: '200': description: OK content: application/json: schema: type: object properties: agents: $ref: '#/components/schemas/Agents' message: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' patch: summary: Bulk Update Agents tags: - agents operationId: patch-v1-agents parameters: - schema: type: string in: header name: x-api-key description: API key requestBody: required: true content: application/json: schema: type: array items: type: object required: - id properties: id: type: string description: Agent ID name: type: string description: Agent name tags: type: array items: type: string description: Tags networks: type: array items: type: string description: Networks network_subnets: type: array items: type: string description: Network subnets security: - X-API-Key: [] responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string '400': description: Bad Request content: application/json: schema: type: object properties: error: type: string '404': description: Not Found content: application/json: schema: type: object properties: error: type: string '/v1/agents/{id}': parameters: - schema: type: string name: id in: path required: true get: summary: Get Agent by ID tags: - agents operationId: get-v1-agents-id parameters: - schema: type: string in: header name: x-api-key description: API key security: - X-API-Key: [] responses: '200': description: OK content: application/json: schema: type: object properties: agent: $ref: '#/components/schemas/AgentItem' '404': description: Not Found content: application/json: schema: type: object properties: error: type: string post: summary: Update Agent tags: - agents operationId: post-v1-agents-id parameters: - schema: type: string in: header name: x-api-key description: API key requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Agent name tags: type: array items: type: string description: Tags networks: type: array items: type: string description: Networks network_subnets: type: array items: type: string description: Network subnets security: - X-API-Key: [] responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string '400': description: Bad Request content: application/json: schema: type: object properties: error: type: string '404': description: Not Found content: application/json: schema: type: object properties: error: type: string /v1/leaks/status: post: summary: Update leak status description: 'Mark leaks as fixed or reopen them. Requires authentication and domain verification for employee/customer leaks. See [Domain Verification](/cloud/credential-monitoring#domain-verification) for setup instructions.' tags: - leaks responses: '200': description: OK content: application/json: schema: type: object properties: status: type: string message: type: string leak_id: type: string new_status: $ref: '#/components/schemas/LeaksEntityStatus' '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': description: Access denied - Insufficient permissions to update this leak status content: application/json: schema: type: object properties: message: type: string example: 'Access denied: you don''t have access to this leak' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-leaks-status requestBody: content: application/json: schema: type: object properties: leakid: type: string leakids: type: array items: type: string status: $ref: '#/components/schemas/LeaksEntityStatus' /v1/leaks/info: post: summary: Get leak information by ID description: 'Retrieve detailed leak information by leak ID. Passwords are unmasked after domain verification. See [Domain Verification](/cloud/credential-monitoring#domain-verification) for setup instructions.' tags: - leaks operationId: post-v1-leaks-info requestBody: required: true content: application/json: schema: type: object required: - leakid properties: leakid: type: string description: 32-character MD5 hash identifying the leak pattern: '^[a-fA-F0-9]{32}$' example: b3652f2555841f7652badd9804859f4e responses: '200': description: Leak information retrieved successfully content: application/json: schema: type: object properties: success: type: boolean example: true data: type: object properties: id: type: string url: type: string username: type: string password: type: string device_ip: type: string hostname: type: string os: type: string malware_path: type: string country: type: string log_date: type: string hardware_id: type: string domain: type: string description: Domain this leak is associated with - used for filtering email_domain: type: string description: Domain extracted from email addresses fetched_at: type: string status: type: string '400': description: Bad request - Invalid leak ID format or missing leak ID content: application/json: schema: type: object properties: success: type: boolean example: false message: type: string example: Invalid leak ID format '401': $ref: '#/components/responses/MessageResponse' '403': description: Access denied - Insufficient permissions to access this leak content: application/json: schema: type: object properties: message: type: string example: 'Access denied: you don''t have access to this leak' '404': description: Leak not found content: application/json: schema: type: object properties: success: type: boolean example: false message: type: string example: Leak not found '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' /v2/vulnerability/product/search: get: summary: Search Products tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: count: type: integer facets: type: object additionalProperties: $ref: '#/components/schemas/Facets' results: type: array items: $ref: '#/components/schemas/Product' total: type: integer '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v2-product-search description: Search products with filtering and faceting capabilities parameters: - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: integer in: query name: offset description: The numbers of items to skip - schema: type: string in: query name: sort_asc description: Sort results in ascending order (CSV field names) - schema: type: string in: query name: sort_desc description: Sort results in descending order (CSV field names) - schema: items: type: string type: array in: query name: fields description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: term_facets description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: range_facets description: List of fields to return(comma separated) - schema: type: string in: query name: q description: query - schema: type: boolean in: query name: highlight description: Whether to highlight the search results - schema: type: integer in: query name: facet_size description: Number of facets to return parameters: [] '/v2/vulnerability/product/{id}': parameters: - schema: type: string name: id in: path required: true get: summary: Get Product by ID tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/Product' '400': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-product-by-id description: Get Product by ID parameters: - schema: type: string in: query name: fields description: 'product data fields ' '/v2/vulnerability/product/{id}/vulns': parameters: - schema: type: string name: id in: path required: true get: summary: Get Vulnerabilities for Product tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: count: type: integer facets: type: object additionalProperties: $ref: '#/components/schemas/Facets' results: type: array items: $ref: '#/components/schemas/Vulnerability' total: type: integer '400': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-product-vulns description: Get vulnerabilities for a specific product parameters: - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: integer in: query name: offset description: The numbers of items to skip - schema: type: string in: query name: sort_asc description: Sort results in ascending order (CSV field names) - schema: type: string in: query name: sort_desc description: Sort results in descending order (CSV field names) - schema: items: type: string type: array in: query name: fields description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: term_facets description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: range_facets description: List of fields to return(comma separated) - schema: type: string in: query name: q description: query - schema: type: boolean in: query name: highlight description: Whether to highlight the search results - schema: type: integer in: query name: facet_size description: Number of facets to return '/v2/vulnerability/product/{id}/timeline': parameters: - schema: type: string name: id in: path required: true get: summary: Get Vulnerability Timeline for Product tags: [] responses: '200': description: OK content: application/json: schema: type: object properties: count: type: integer facets: type: object additionalProperties: $ref: '#/components/schemas/Facets' results: type: array items: $ref: '#/components/schemas/Vulnerability' total: type: integer '400': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-product-timeline description: Get vulnerability timeline for a specific product (sorted by cve_created_at descending) parameters: - schema: type: integer in: query name: limit description: The numbers of items to return - schema: type: integer in: query name: offset description: The numbers of items to skip - schema: type: string in: query name: sort_asc description: Sort results in ascending order (CSV field names) - schema: type: string in: query name: sort_desc description: Sort results in descending order (CSV field names) - schema: items: type: string type: array in: query name: fields description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: term_facets description: List of fields to return(comma separated) - schema: items: type: string type: array in: query name: range_facets description: List of fields to return(comma separated) - schema: type: string in: query name: q description: query - schema: type: boolean in: query name: highlight description: Whether to highlight the search results - schema: type: integer in: query name: facet_size description: Number of facets to return /v2/vulnerability/product/filters: get: summary: Get All Filters for Products tags: [] responses: '200': content: application/json: schema: items: properties: can_sort: description: Indicates if sorting is possible by this field. type: boolean data_type: description: 'The data type of the filter field (e.g., string, number, datetime).' type: string description: description: A human-readable description of the filter field. type: string enum_values: description: The possible values for this field. items: type: string type: array examples: description: Example usage of the filter. items: type: string type: array facet_possible: description: Indicates if faceting is possible for this field. type: boolean field: description: The name of the filter field. type: string search_analyzer: description: The search analyzer used for this field. type: string required: - field - data_type - description - facet_possible - can_sort - examples - search_analyzer - enum_values type: object type: array description: OK '400': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: get-v2-product-filters description: Get all filters for products parameters: [] /v1/report/export: post: summary: Export report tags: - export responses: '200': description: OK content: application/json: schema: type: object properties: export_id: type: string export_url: type: string message: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-report-export parameters: - schema: type: string enum: - executive_summary - security_posture in: query name: report_type - schema: type: string default: all_time enum: - all_time - last_month - last_3_months - last_6_months - last_12_months in: query name: time - schema: type: string format: date description: Filter by start date in: query name: start_date - schema: type: string format: date description: Filter by end date in: query name: end_date - schema: type: string in: header name: X-Team-Id '/v1/admin/report/export/{export_id}/status': parameters: - schema: type: string name: export_id in: path required: true put: summary: Update Export Status tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: put-v1-report-export-export_id-status requestBody: content: application/json: schema: type: object required: - user_id properties: status: enum: - failed - finished export_url: type: string error_reason: type: string user_id: type: number parameters: - schema: type: string in: header name: X-Api-Key required: true '/v1/admin/report/{report_type}': parameters: - schema: type: string enum: - executive_summary - security_posture name: report_type in: path required: true post: summary: Generate Report for Team (Admin) tags: - internal responses: '200': description: OK content: application/json: schema: type: object properties: export_id: type: string message: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: post-v1-admin-report-report_type requestBody: content: application/json: schema: type: object required: - teamID - userEmail properties: teamID: type: string description: The team ID to generate report for userEmail: type: string format: email description: The user email to associate with the export x-internal: true components: schemas: AssetCategory: title: AssetCategory type: object required: - name - total_assets - technologies properties: name: type: string total_assets: type: integer technologies: type: object additionalProperties: type: integer CoverageStats: title: CoverageStats description: Coverage statistics showing template availability type: object required: - percentage - total - covered properties: percentage: type: number format: float description: Coverage percentage total: type: integer description: 'Total number of items (CVEs, KEVs, or POCs)' covered: type: integer description: Number of items with templates remaining: type: integer description: Number of items without templates (total - covered) DomainVerificationRequest: title: DomainVerificationRequest type: object required: - domain - status - created_at - expires_at - verification_attempts properties: domain: type: string description: The domain being verified status: type: string enum: - pending - verified - expired description: Current verification status verification_string: type: string description: TXT record value to add to DNS (only present for pending requests) created_at: type: string format: date-time description: When the verification request was created expires_at: type: string format: date-time description: When the verification request expires verification_attempts: type: integer description: Number of verification attempts made last_attempt_at: type: string format: date-time description: When the last verification attempt was made VerifyConfigContentsRequestProvider: title: VerifyConfigContentsRequestProvider type: string enum: - jira - linear OAuthStatus: title: OAuthStatus type: string enum: - not_connected - pending - success OAuthMetadata: title: OAuthMetadata type: object properties: installation_url: type: string required: - installation_url LogExportFormat: title: LogExportFormat type: string enum: - raw - json - csv EnumExportFormats: title: EnumExportFormats type: string enum: - raw - json - csv TimeRangeQueryParameter: title: TimeRangeQueryParameter type: string enum: - last_day - last_week - last_month - last_3_months - last_6_months - last_12_months - all_time EnumerateFilterTypes: title: EnumerateFilterTypes type: string enum: - host - port - ip - cname - technologies - status_code - content_length - title - webserver - favicon - domain - labels ExcludeConfigRequestType: title: ExcludeConfigRequestType type: string enum: - scan_target - template - enumeration_target AssetChangelogs: type: object required: - id - enumeration_id - name - created_at - updated_at properties: id: type: integer format: int64 enumeration_id: type: string name: type: string created_at: type: string format: date-time updated_at: type: string format: date-time status_code: type: integer technologies: type: array items: type: string webserver: type: string request: type: string response: type: string cname: type: array items: type: string labels: type: array items: type: string ip: type: string content_length: type: integer title: type: string host: type: string port: type: integer technology_details: type: string format: json is_new: type: boolean body: type: string change_event: type: array items: $ref: '#/components/schemas/VulnerabilityChangelogsEvent' EnumerateFiltersItem: title: EnumerateFiltersItem type: object properties: labels: type: string value: type: string port: type: integer technologies: type: integer categories: type: array items: type: string description: type: string website: type: string cpe: type: string icon: type: string favicon_body: type: string count: type: integer required: - value - count VulnerabilityResults: type: object required: - matcher_status - vuln_id - target - created_at - scan_id - event - template_id - result_type - vuln_hash properties: matcher_status: type: boolean vuln_id: type: string target: type: string template_url: type: string created_at: type: string updated_at: type: string scan_id: type: string event: type: array items: $ref: '#/components/schemas/VulnerabilityEvent' template_id: type: string template_path: type: string template_encoded: type: string result_type: type: string vuln_status: type: string vuln_hash: type: string is_regression: type: boolean is_internal: type: boolean labels: type: array items: type: string port: type: integer asset_metadata: type: object $ref: '#/components/schemas/EnumerationContent' remediation: type: string description: type: string impact: type: string reference: type: array items: type: string VulnerabilityChangelogs: title: VulnerabilityChangelogs type: object properties: matcher_status: type: boolean vuln_id: type: string target: type: string template_url: type: string created_at: type: string updated_at: type: string scan_id: type: string event: type: object $ref: '#/components/schemas/VulnerabilityEvent' change_event: type: array items: $ref: '#/components/schemas/VulnerabilityChangelogsEvent' template_id: type: string template_path: type: string template_encoded: type: string result_type: type: string vuln_status: type: string vuln_hash: type: string labels: type: array items: type: string required: - matcher_status - vuln_id - target - created_at - scan_id - event - template_id - result_type - vuln_hash PrivateTemplates: title: PrivateTemplates type: object properties: name: type: string contents: type: string required: - name - contents AssetListItem: title: AssetListItem type: object properties: asset_count: type: integer asset_id: type: string uploaded_at: type: string name: type: string required: - asset_count - asset_id - uploaded_at - name ScanSchedule: title: ScanSchedule type: object required: - scan_frequency - scan_id - schedule_last_run - schedule_next_run properties: scan_frequency: type: string scan_id: type: string schedule_last_run: type: string schedule_next_run: type: string start_time: type: string format: time hourly_frequency: type: integer custom_weekdays: type: array description: |- Array of integer denoting the weekdays on which the scan is supposed to run. 0-6 denoting Sunday-Saturday. items: type: integer minimum: 0 maximum: 6 ScanAssetListItem: title: ScanAssetListItem type: object required: - host - scanned_on properties: host: type: string port: type: integer scanned_on: type: string format: date-time ScanAssetListItemOptional: title: ScanAssetListItem type: object required: - host - scanned_on properties: host: type: string port: type: integer scanned_on: type: string format: date-time EnumerationDomainListItem: title: EnumerationDomainListItem type: object required: - domain - enumerated_on properties: domain: type: string enumerated_on: type: string format: date-time ScanStatusItem: title: ScanStatusItem type: object required: - scan_id - status - scan_time_elapsed - progress - failure_reason - created_at - updated_at - total_target - completed_at - total_scan - total_template - name - is_oss - is_cloud - total_result properties: scan_id: type: string status: type: string scan_time_elapsed: type: string progress: type: integer failure_reason: type: string created_at: type: string updated_at: type: string total_target: type: integer completed_at: type: string total_scan: type: integer total_template: type: integer name: type: string severity: type: object is_oss: type: boolean is_cloud: type: boolean asset_ids: type: array items: type: string is_rescan: type: boolean public_templates: type: array items: type: string report_config_ids: type: array items: type: string rescan_count: type: integer scan_config_ids: type: array items: type: string template_ids: type: array items: type: string template_urls: type: array items: type: string schedule: $ref: '#/components/schemas/ScanSchedule' total_result: type: integer is_automatic: type: boolean agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string agent_behavior: type: string enum: - distribute - mirror default: distribute is_internal: type: boolean JiraVerifyContentItemIssueType: title: JiraVerifyContentItemIssueType type: object properties: id: type: string name: type: string statuses: type: array items: type: string required: - id - name JiraField: title: JiraField type: object properties: id: type: string name: type: string field_type: type: string required: - id - name - field_type JiraVerifyContentItem: title: JiraVerifyContentItem type: object properties: project_id: type: string cloud_id: type: object properties: id: type: string name: type: string url: type: string required: - id - name - url project_name: type: string issue_types: type: array items: type: object $ref: '#/components/schemas/JiraVerifyContentItemIssueType' fields: type: array items: type: object $ref: '#/components/schemas/JiraField' required: - project_id - project_name - issue_types LinearVerifyContentItemOpenState: title: LinearVerifyContentItemOpenState type: object properties: id: type: string name: type: string required: - id - name LinearVerifyContentItem: title: LinearVerifyContentItem type: object properties: team_id: type: string team_name: type: string open_states: type: array items: type: object $ref: '#/components/schemas/LinearVerifyContentItemOpenState' required: - team_id - team_name - open_states VulnerabilityChangelogsEvent: title: VulnerabilityChangelogsEvent type: object properties: name: description: The name of the event type: string from: description: The from value of the event to: description: The to value of the event VulnerabilityEvent: title: VulnerabilityEvent type: object properties: curl-command: type: string extracted-results: type: array items: type: string extractor-name: type: string host: type: string info: type: object required: - name properties: classification: type: object properties: cpe: type: string cve-id: type: array items: type: string cvss-metrics: type: string cvss-score: type: number cwe-id: type: array items: type: string epss-percentile: type: number epss-score: type: number metadata: type: object author: type: array items: type: string description: type: string impact: type: string name: type: string tags: type: array items: type: string reference: type: array items: type: string remediation: type: string severity: type: string ip: type: string matched-at: type: string matched-line: type: array items: type: integer matcher-name: type: string matcher-status: type: boolean path: type: string request: type: string response: type: string template-id: type: string template-path: type: string timestamp: type: string type: type: string error: type: string issue_trackers: type: object properties: jira: $ref: '#/components/schemas/VulnIssueTrackerItem' github: $ref: '#/components/schemas/VulnIssueTrackerItem' gitlab: $ref: '#/components/schemas/VulnIssueTrackerItem' linear: $ref: '#/components/schemas/VulnIssueTrackerItem' custom: $ref: '#/components/schemas/VulnIssueTrackerItem' port: type: string FiltersItem: title: FilterItem type: object properties: value: type: string name: type: string severity: type: string count: type: integer required: - value - count UserWorkspaces: title: UserWorkspaces type: object required: - name - team_id - active - plan - member_count - role - default properties: name: type: string team_id: type: string active: type: boolean plan: type: string member_count: type: integer role: type: string default: type: boolean ScanStats: title: ScanStats type: object properties: cves: type: integer matched: type: integer not_matched: type: integer severity: type: object total_count: type: integer total_scan: type: integer total_target: type: integer total_template: type: integer vuln_status: type: object total_regression: type: integer format: int64 is_internal: type: integer format: int64 description: Count of internal vulnerabilities is_external: type: integer format: int64 description: Count of external vulnerabilities required: - cves - matched - not_matched - total_count - total_scan - total_target - total_template - total_regression VulnerabilityResultsOld: title: VulnerabilityResultsOld type: object required: - scan_id - target - template_id - vuln_id - matcher_status - created_at - event properties: scan_id: type: string target: type: string template_encoded: type: string template_url: type: string template_path: type: string template_id: type: string vuln_id: type: string matcher_status: type: boolean created_at: type: string updated_at: type: string event: $ref: '#/components/schemas/VulnerabilityEvent' id: type: string vuln_status: type: string vuln_hash: type: string port: type: integer asset_metadata: type: object $ref: '#/components/schemas/EnumerationContent' remediation: type: string impact: type: string description: type: string reference: type: array items: type: string templateListItem: title: templateListItem type: object properties: created_at: type: string id: type: string name: type: string shared_publicly: type: boolean updated_at: type: string required: - created_at - id - name ExportListItem: title: ExportListItem type: object properties: id: type: string name: type: string export_status: type: string item_type: type: string download_signed_url: type: string created_at: type: string format: date-time description: Export List Item required: - id - name - export_status - item_type - created_at UserAuditLogItems: title: UserAuditLogItems type: object required: - created_at - email - action - status - method - ip - path properties: created_at: type: string email: type: string action: type: string status: type: integer method: type: string ip: type: string path: type: string PublicTemplateListItem: title: PublicTemplateListItem type: object properties: id: type: string templateURL: type: string name: type: string required: - id - templateURL - name EarlyTemplateListItem: title: EarlyTemplateListItem type: object properties: id: type: string templateURL: type: string name: type: string required: - id - templateURL - name TeamMemberItem: title: TeamMemberItem type: object properties: email: type: string status: type: string role: type: string invited_at: type: string accepted_at: type: string profile_image: type: string last_sign_in: type: string required: - email - status - role InvoiceItem: description: Example response type: object required: - invoice_number - amount - paid_on - status - invoice_url properties: invoice_number: type: string description: The invoice number amount: type: integer format: int64 description: Total amount of the invoice in USD paid_on: type: string format: date-time nullable: true description: The date when the invoice was paid status: type: string description: The status of the invoice invoice_url: type: string format: uri description: URL to view the invoice WorkspaceItem: title: TeamMemberItem type: object properties: id: type: string name: type: string created_at: type: string member_count: type: integer owner_email: type: string required: - id - name - created_at - member_count - owner_email ScanUsageStatsResponse: title: ScanUsageStatsResponse type: object description: 'Scan Usage Stats ' properties: time: type: string format: date-time scan_id: type: string user_id: type: integer format: int64 completed_request: type: integer format: int64 total_target: type: integer format: int64 total_templates: type: integer format: int64 total_result: type: integer format: int64 severity_breakdown: type: string format: json required: - time - scan_id - user_id - completed_request - total_target - total_templates - total_result - severity_breakdown VulnStatusEnum: title: VulnStatusEnum enum: - open - false_positive - fixed - duplicate - fix_in_progress - accepted_risk - triaged ConfigResponse: title: ConfigResponse type: object properties: id: type: string config: type: string config_type: $ref: '#/components/schemas/ConfigTypeEnum' name: type: string read_only: type: boolean global: type: boolean provider_name: type: string created_at: type: string format: date-time updated_at: type: string format: date-time required: - id - config - config_type - name - created_at - updated_at ConfigTypeEnum: title: ConfigTypeEnum type: string enum: - scan - reporting - template - alerting - cloudlist - subfinder EnumerationStats: title: EnumerationStats type: object required: - hosts - http - endpoints - ports - total_assets properties: hosts: type: integer format: int64 http: type: integer format: int64 endpoints: type: integer format: int64 ports: type: integer format: int64 total_assets: type: integer format: int64 total_asset_groups: type: integer format: int64 EnumerateData: title: EnumerateData type: object required: - id - name - status - created_at properties: id: type: string name: type: string status: type: string failure_reason: type: string completed_at: type: string format: date-time enumeration_time: type: string format: duration enumeration_type: type: string enumeration_stats: $ref: '#/components/schemas/EnumerationStats' created_at: type: string format: date-time updated_at: type: string format: date-time root_domains: type: array items: type: string exclusions: type: array items: type: string description: Combined inclusion (prefixed with +) and exclusion patterns for discovery scope enrichment_hosts_count: type: integer is_rescan: type: boolean rescan_count: type: integer cloudlist_config_ids: type: array items: type: string cloudlist_provider_name: type: string enumeration_time_elapsed: type: string total_assets: type: integer format: int64 new_assets: type: integer format: int64 domain_names: type: array items: type: string schedule: $ref: '#/components/schemas/EnumerationSchedule' is_public: type: boolean asset_group_filters: type: object $ref: '#/components/schemas/AssetFilters' body: type: string agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string agent_behavior: type: string enum: - distribute - mirror default: distribute agent_auto_discover: type: boolean automatic_vuln_scans: type: boolean is_internal: type: boolean EnumerationContent: title: EnumerationContent type: object required: - enumeration_id - name - created_at - id - is_new properties: enumeration_id: type: string name: type: string created_at: type: string updated_at: type: string id: type: integer format: int64 labels: type: array items: type: string cname: type: array items: type: string host: type: string port: type: integer ip: type: array items: type: string status_code: type: integer content_length: type: integer vulnerabilities: type: integer format: int64 title: type: string technologies: type: array items: type: string webserver: type: string method: type: string is_new: type: boolean type: type: string asset_hash: type: string technology_details: type: object additionalProperties: $ref: '#/components/schemas/EnumerationContentTechnologyDetails' screenshot_path: type: string favicon: type: string favicon_body: type: string cdn_name: type: string chain_status_codes: type: array items: type: string domain_name: type: string redirect_location: type: string asn: as_number: type: string as_country: type: string as_name: type: string as_range: type: array items: type: string type: object properties: as_country: type: string as_name: type: string as_number: type: string as_range: type: array items: type: string tls_serial_number: type: string tls_subject_org: type: string tls_issuer_org: type: string tls_expired: type: boolean tls_not_before: type: string format: date-time tls_self_signed: type: boolean tls_mismatched: type: boolean tls_revoked: type: boolean tls_untrusted: type: boolean tls_subject_cn: type: string tls_subject_an: type: array items: type: string body: type: string tls_not_after: type: string format: date-time enumeration_name: type: string extended_metadata: type: object source_type: type: string source: type: array items: $ref: '#/components/schemas/EnumerationSourceValue' is_internal: type: boolean EnumerationSourceValue: type: object required: - source - metadata properties: source: type: string metadata: type: object additionalProperties: type: string EnumerationContentTechnologyDetails: title: EnumerationContentTechnologyDetails type: object properties: description: type: string website: type: string icon: type: string categories: type: array items: type: string EnumerationIds: title: EnumerationIds type: object required: - id properties: id: type: string EnumerationSchedule: title: EnumerationSchedule type: object required: - enumeration_id - scan_frequency - schedule_last_run - schedule_next_run properties: enumeration_id: type: string scan_frequency: type: string schedule_last_run: type: string schedule_next_run: type: string start_time: type: string format: time hourly_frequency: type: integer custom_weekdays: type: array description: |- Array of integer denoting the weekdays on which the scan is supposed to run. 0-6 denoting Sunday-Saturday. items: type: integer minimum: 0 maximum: 6 ScansHistoryItems: title: ScansHistoryItems type: object properties: completed_request: type: integer name: type: string scan_id: type: string scan_time: type: string severity: type: object status: type: string time: type: string total_request: type: integer total_result: type: integer total_target: type: integer total_templates: type: integer error_details: type: string GithubTemplateListItem: title: GithubTemplateListItem type: object properties: id: type: string templateURL: type: string name: type: string required: - id - templateURL - name IntegrationListItems: title: GithubTemplateListItem type: object properties: connection_id: type: string integration_id: type: string status: type: string identifier: type: string org_name: type: string account_type: type: string handle: type: string required: - connection_id - integration_id - status - identifier - org_name - account_type - handle TemplateStats: type: object x-examples: Example 1: date: '2024-02-03T08:40:19.911720715Z' statistics: authors: 0h1in9e: 1 0ri2n: 13 0ut0fb4nd: 1 0w4ys: 3 classification: total: 4772 cvss-metrics: 4650 cvss-score: 2999 cve-id: 2349 cwe-id: 4679 description: 6665 directory: total: 0 name: 7810 references: 5369 remediation: 2231 severity: total: 7810 critical: 947 high: 1563 medium: 1457 low: 257 info: 3551 unknown: 35 tags: '360': 1 '3600': 1 '''rpcms''': 1 total: 7810 type: total: 7810 http: 7005 dns: 21 network: 134 file: 312 ssl: 27 websocket: 0 workflow: 191 headless: 16 template-version: main required: - buckets - missing - other - total properties: is_new: $ref: '#/components/schemas/StatBuckets' creation_stats: $ref: '#/components/schemas/StatBuckets' author: $ref: '#/components/schemas/StatBuckets' is_early: $ref: '#/components/schemas/StatBuckets' dir: $ref: '#/components/schemas/StatBuckets' product: $ref: '#/components/schemas/StatBuckets' severity: $ref: '#/components/schemas/StatBuckets' tags: $ref: '#/components/schemas/StatBuckets' type: $ref: '#/components/schemas/StatBuckets' vendor: $ref: '#/components/schemas/StatBuckets' TemplateLeaderboard: type: object properties: data: type: array items: type: object properties: author: type: string category: type: object properties: cloud: type: integer cve: type: integer fuzz: type: integer kve: type: integer links: type: object properties: email: type: string github: type: string linkedin: type: string twitter: type: string website: type: string points: type: integer protocol: type: object properties: dns: type: integer file: type: integer headless: type: integer http: type: integer ssl: type: integer tcp: type: integer rank: type: integer severity: type: object properties: critical: type: integer high: type: integer info: type: integer low: type: integer medium: type: integer unknown: type: integer templates: type: integer date: type: string result: type: integer total: type: integer x-examples: Example 1: data: - author: dhiyaneshdk category: cloud: 0 cve: 154 fuzz: 1 kve: 34 links: email: '' github: '' linkedin: '' twitter: '' website: '' points: 26065 protocol: dns: 0 file: 85 headless: 1 http: 1044 ssl: 0 tcp: 1 rank: 1 severity: critical: 90 high: 195 info: 592 low: 89 medium: 161 unknown: 12 templates: 1139 - author: naglis category: cloud: 0 cve: 0 fuzz: 0 kve: 0 links: email: '' github: '' linkedin: '' twitter: '' website: '' points: 10 protocol: dns: 0 file: 1 headless: 0 http: 0 ssl: 0 tcp: 0 rank: 792 severity: critical: 0 high: 0 info: 1 low: 0 medium: 0 unknown: 0 templates: 1 date: all_time result: 794 total: 794 EnumerationIDTypes: title: EnumerationIDTypes type: object required: - id properties: id: type: string EnumerationIDTypesDetail: title: EnumerationIDTypesDetail type: object properties: id: type: string name: type: string total_assets: type: integer enumeration_type: type: string cloudlist_provider_name: type: string types: type: array items: enum: - hosts - ports - http - endpoints required: - id - types - name - enumeration_type ScanConfigItem: title: ScanConfigItem type: object properties: id: type: string name: type: string provider_name: type: string config_type: type: string required: - id - name - config_type ScanConfig: title: ScanConfig type: object properties: targets: type: array items: type: string assets_lists: type: array items: type: string public_templates: type: array items: type: string early_templates: type: array items: type: string template_urls: type: array items: type: string template_ids: type: array items: type: string scan_config_ids: type: array items: $ref: '#/components/schemas/ScanConfigItem' report_config_ids: type: array items: $ref: '#/components/schemas/ScanConfigItem' alerting_config_ids: type: array items: $ref: '#/components/schemas/ScanConfigItem' enumeration_ids: type: array items: $ref: '#/components/schemas/EnumerationIDTypesDetail' socks5_proxy: type: string agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string agent_behavior: type: string enum: - distribute - mirror default: distribute scan_all_assets: type: boolean ScanConfigUpdateItem: title: ScanConfigUpdateItem type: object properties: targets: type: array items: type: string assets_lists: type: array items: type: string templates: type: array items: type: string early_templates: type: array items: type: string scan_config_ids: type: array items: type: string report_config_ids: type: array items: type: string alerting_config_ids: type: array items: type: string enumeration_ids: type: array items: $ref: '#/components/schemas/EnumerationIDTypes' socks5_proxy: type: string agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string agent_behavior: type: string enum: - distribute - mirror default: distribute scan_all_assets: type: boolean ScanLogResp: title: ScanLogResp type: object required: - target - template_id - matched - timestamp properties: target: type: string template_id: type: string matched: type: boolean error: type: string timestamp: type: string severity: type: string event: type: string vuln_hash: type: string SchedulerFrequency: title: SchedulerFrequency type: string enum: - hourly - daily - weekly - monthly - custom description: Allowed frequencies for the scheduler ExcludedTemplate: title: Excluded Templates and targets type: object properties: id: type: integer format: int64 value: type: string exclude_type: $ref: '#/components/schemas/ExcludeConfigRequestType' scan_id: type: string description: Optional scan ID if this rule is scoped to a specific scan enumeration_id: type: string description: Optional enumeration ID if this rule is scoped to a specific enumeration created_at: type: string format: date-time updated_at: type: string format: date-time required: - id - value - exclude_type - created_at - updated_at EnumerationCounts: description: Example response title: EnumerationCounts type: object properties: total_enumeration: type: integer format: int64 total_unique_enumeration: type: integer format: int64 total_uploaded_enumeration: type: integer format: int64 total_discovery_enumeration: type: integer format: int64 total_cloud_enumeration: type: integer format: int64 AssetStats: title: AssetStats type: object properties: host: type: integer format: int64 new_assets: type: integer format: int64 total_assets: type: integer format: int64 technologies: type: integer format: int64 domains: type: integer format: int64 port: type: integer format: int64 screenshots: type: integer format: int64 vulnerabilities: type: integer format: int64 is_internal: type: integer format: int64 description: Count of internal assets is_external: type: integer format: int64 description: Count of external assets required: - domains - host - port - total_assets - new_assets - technologies - vulnerabilities - screenshots PriceListItem: title: PriceListItem type: object required: - price_id - amount - recurrence - monthly_token properties: price_id: type: string amount: type: integer monthly_token: type: integer recurrence: type: string VulnIssueTrackerItem: title: VulnIssueTrackerItem type: object properties: id: type: string url: type: string AIMeta: type: object properties: model_used: description: The AI model used to generate the template type: string is_prompt_by_human: description: Whether the prompt was written by a human type: boolean is_template_by_human: description: Whether the template was written by a human type: boolean prompt: description: The prompt used to generate the template type: string TemplateData: description: Template Document or object type: object properties: uri: type: string description: The URI of the template (could be a path or a ksuid) id: type: string description: The ID of the template name: type: string description: The name of the template author: type: array description: The authors of the template items: type: string tags: type: array description: The tags of the template items: type: string severity: type: string description: The severity of the template type: type: string description: The type of the template dir: type: string ref: type: string vendor: type: string description: The vendor of the template product: type: string description: The product of the template classification: $ref: '#/components/schemas/Classification' description: 'Classification of template including additional metadata like cve-id, cwe-id etc' metadata: type: object digest: type: string description: The digest of the template created_at: type: string format: date-time description: The time when template was created updated_at: type: string format: date-time description: The time when template was updated release_tag: type: string description: The release tag of the template (contains tag when the file was first released) is_early: type: boolean description: True if template is in early access raw: type: string description: The raw unparsed template template_id: type: string description: type: string filename: type: string impact: type: string ai_meta: $ref: '#/components/schemas/AIMeta' references: type: array items: type: string template_type: enum: - public - user - shared is_draft: type: boolean is_github: type: boolean is_new: type: boolean is_pdteam: description: Is the template from pdteam type: boolean remediation: type: string SharedTemplateData: allOf: - $ref: '#/components/schemas/TemplateData' - type: object properties: ttl: type: string description: 'Time to live duration (1d ,1m etc)' share_type: type: string description: 'Type of share (unlisted, users, organization)' users_email: type: array description: List of email addresses or user IDs to share with (required if share_type is set to 'users') items: type: string organizations: type: array items: type: string Classification: description: 'Classification of template including additional metadata like cve-id, cwe-id etc' type: object properties: cve-id: type: array items: type: string description: CVE IDs for the template cwe-id: type: array items: type: string description: CWE IDs for the template cvss-metrics: type: string description: CVSS Metrics for the template cvss-score: type: number format: float description: CVSS Score for the template epss-score: type: number format: float description: EPSS Score for the template epss-percentile: type: number format: float description: EPSS Percentile for the template cpe: type: string description: CPE for the template EnumerationConfig: title: EnumerationConfig type: object properties: name: type: string root_domains: type: array items: type: string enrichment_inputs: type: array items: type: string steps: type: array items: type: string enum: - dns_resolve - dns_bruteforce - dns_permute - port_scan - http_probe - http_screenshot - endpoint_crawling - dns_passive - tls_scan - uncover_assets - dns_scraping enum_ports: type: string enumeration_config: $ref: '#/components/schemas/EnumerationLaunchConfig' alerting_config_ids: type: array items: type: string subfinder_config_ids: type: array items: type: string exclusions: type: array items: type: string description: Combined inclusion (prefixed with +) and exclusion patterns for discovery scope automatic_vuln_scans: type: boolean EnumerationLaunchConfig: title: EnumerationLaunchConfig type: object properties: follow-redirect: type: boolean ports: type: string UserSetupStatsItem: title: UserSetupStatsItem type: object required: - name - count properties: name: type: string count: type: integer first_created_at: type: string last_created_at: type: string AgentItem: title: AgentItem type: object required: - name - os - arch - tunnel_ip - tunnel_port - client_ip - username - token - id - status - type properties: name: type: string os: type: string arch: type: string tunnel_ip: type: string tunnel_port: type: string client_ip: type: string username: type: string token: type: string id: type: string last_update: type: string status: type: string tags: type: array items: type: string networks: type: array items: type: string network_subnets: type: array items: type: string type: type: string Agents: title: Agents type: array items: $ref: '#/components/schemas/AgentItem' ServiceUsageItem: title: ServiceUsageLimitItem type: object required: - used - remaining - total properties: used: type: integer remaining: type: integer total: type: integer UsageRangeEnum: title: UsageRangeEnum type: string enum: - daily - weekly - monthly - custom GetAutomationsListItem: title: GetAutomationsListItem type: object required: - name - event - status - created_at - updated_at properties: name: type: string event: type: string status: type: string created_at: type: string updated_at: type: string AutomationScanData: title: AutomationScanData type: object properties: targets: type: array items: type: string templates: type: array items: type: string name: type: string alerting_config_ids: type: array items: type: string scan_config_ids: type: array items: type: string reporting_config_ids: type: array items: type: string early_templates: type: array items: type: string exclude_targets: type: array items: type: string enumeration_ids: type: array items: $ref: '#/components/schemas/EnumerationIds' disable_global_alert_config: type: boolean disable_global_report_config: type: boolean disable_global_scan_config: type: boolean socks5_proxy: type: string agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string agent_auto_discover: type: boolean agent_behavior: type: string enum: - distribute - mirror default: distribute scan_id: type: string update_existing_scan: type: boolean scan_all_assets: type: boolean GetAutomationItem: title: GetAutomationItem type: object required: - id - name - event - status - created_at - updated_at - data properties: id: type: integer name: type: string event: type: string status: type: string created_at: type: string updated_at: type: string data: $ref: '#/components/schemas/AutomationScanData' AdminAutomationsItem: title: AdminAutomationsItem type: object required: - name - status - created_at - updated_at - user_id - scan_data properties: name: type: string status: type: string created_at: type: string updated_at: type: string user_id: type: integer scan_data: $ref: '#/components/schemas/AutomationScanData' ExposuresTimeSeries: title: ExposuresTimeSeries type: object properties: date: type: string format: date assets: type: integer technologies: type: integer hosts: type: integer ScanExposuresTimeSeries: title: ScanExposuresTimeSeries type: object required: - date - open_vulnerability - fixed_vulnerability - new_vulnerability properties: date: type: string format: date open_vulnerability: $ref: '#/components/schemas/VulnMetricSeverityBreakdown' fixed_vulnerability: $ref: '#/components/schemas/VulnMetricSeverityBreakdown' new_vulnerability: $ref: '#/components/schemas/VulnMetricSeverityBreakdown' ScanRegressionRemediationTimeSeries: title: ScanRegressionRemediationTimeSeries type: object required: - date - data properties: date: type: string format: date avg_remediation_time: type: string data: $ref: '#/components/schemas/VulnMetricSeverityBreakdown' ContributorSummary: title: ContributorSummary type: object properties: category_breakdown: type: object properties: cloud: type: integer cve: type: integer dast: type: integer kev: type: integer other: type: integer contributor: type: string score: type: integer socials: type: object total_templates: type: integer StatBuckets: title: StatBuckets type: object properties: buckets: type: object additionalProperties: type: integer missing: type: integer other: type: integer total: type: integer VulnerabilityHistoryDetail: type: object additionalProperties: $ref: '#/components/schemas/VulnerabilityHistory' VulnerabilityHistory: type: object properties: history_count: type: integer format: int64 description: The total number of revisions for the vulnerability. history: type: array items: type: object properties: severity: type: string target: type: string template_id: type: string matched: type: boolean timestamp: type: string format: date-time vuln_hash: type: string event: type: string description: A list of events associated with the vulnerability. required: - history_count - history AssetFilters: title: AssetFilters type: object additionalProperties: false properties: is_tech: type: boolean description: Return records that have technologies is_favicon: type: boolean description: Return the records that have favicon is_new: type: boolean description: Filter by new content labels: type: string description: 'Filter by comma separated labels, e.g-> labels=p1,p2' host: type: string description: 'Filter by comma separated hosts, e.g-> host=p1,p2' port: type: string description: 'Filter by comma separated ports, e.g-> port=p1,p2' status_code: type: string description: 'Filter by comma separated status codes, e.g-> status_code=p1,p2' content_length: type: string description: 'Filter by comma separated content lengths, e.g-> content_length=p1,p2' title: type: string description: 'Filter by comma separated titles, e.g-> title=p1,p2' domain: type: array description: 'Filter by comma separated domain names, e.g-> domain=domain1.com,domain2.com' items: type: string cname: type: string description: 'Filter by comma separated cnames, e.g-> cname=p1,p2' technologies: type: string description: 'Filter by comma separated technologies, e.g-> technologies=p1,p2' ip: type: string description: 'Filter by comma separated ips, e.g-> ip=p1,p2' is_screenshot: type: boolean description: Return the records with screenshots time: $ref: '#/components/schemas/TimeRangeQueryParameter' description: Filter by time range start_date: type: string format: date description: Filter by start date end_date: type: string format: date description: Filter by end date custom_filter: type: string description: Filter by custom filter. Double encode the query string. search: type: string description: Search on the content name enumeration_id: type: string description: Filter by enumeration id only_dns: type: boolean description: Query only dns FQDN records only_ip: type: boolean description: Query only dns IP records BillingCycle: title: BillingCycle type: object required: - id - start_date - end_date - unique_asset_count properties: id: type: integer start_date: type: string format: date-time end_date: type: string format: date-time unique_asset_count: type: integer VulnMetricSeverityBreakdown: title: VulnMetricSeverityBreakdown type: object required: - total_count - severity_breakdown - total_fixed properties: total_fixed: type: integer total_count: type: integer severity_breakdown: $ref: '#/components/schemas/SeverityBreakdown' status_breakdown: $ref: '#/components/schemas/StatusBreakdown' SeverityBreakdown: title: SeverityBreakdown type: object properties: critical: type: integer high: type: integer medium: type: integer low: type: integer info: type: integer unknown: type: integer StatusBreakdown: title: StatusBreakdown type: object properties: open: type: integer fixed: type: integer false_positive: type: integer duplicate: type: integer fix_in_progress: type: integer accepted_risk: type: integer triaged: type: integer RemediationEfficiencyData: title: RemediationEfficiencyData type: object required: - vulnerability_severity - average_time_to_remediate - target_time_to_remediate - remediation_trend - timely_remediated_count - total_vulnerabilities properties: vulnerability_severity: type: string average_time_to_remediate: type: integer target_time_to_remediate: type: integer remediation_trend: type: integer timely_remediated_count: type: integer total_vulnerabilities: type: integer OrganizationInfo: title: OrganizationInfo description: Organization Information properties: acquirer_slug: description: Slug of acquiring organization if applicable type: string contact_email: description: Contact email address type: string domain: description: Primary domain of the organization type: string image_url: description: URL to organization's image type: string industries: description: Industries of the organization items: type: string type: array legal_name: description: Legal name of the organization type: string linkedin: description: LinkedIn profile URL type: string name: description: The organization name type: string num_employees_enum: description: Employee count range category type: string org_status: description: Status of the organization type: string short_description: description: Brief description of the organization type: string slug: description: URL-friendly identifier type: string subsidary_domains: description: List of subsidiary domains items: type: string type: array total_subdomains: description: Total number of subdomains type: integer total_subsidaries: description: Total number of subsidiaries type: integer total_subsidary_domains: description: Total number of subsidiary domains type: integer total_subsidary_subdomains: description: Total number of subdomains across all subsidiary domains type: integer twitter: description: Twitter profile URL type: string type: object OrganizationFullInfo: allOf: - $ref: '#/components/schemas/OrganizationInfo' - properties: aliases: description: List of organization aliases items: type: string type: array category_groups: description: Macro level category groups (e.g. AI instead of generative_ai) items: type: string type: array created_at: description: Timestamp when the organization record was created format: date-time type: string description: description: Full description of the organization type: string founded_on.value: description: Organization founding date (YYYY-MM-DD) type: string rank: description: Organization's rank type: integer subsidaries: description: List of all subsidiary organizations items: $ref: '#/components/schemas/OrganizationInfo' type: array updated_at: description: Timestamp when the organization record was last updated format: date-time type: string type: object RootDomainInfo: title: RootDomainInfo additionalProperties: false description: Root Domain Information properties: domain: description: The root domain name type: string image_url: description: URL to domain's image type: string name: description: The domain name type: string organization_slug: description: Slug identifier of the associated organization type: string total_subdomains: description: The total number of subdomains type: integer type: object DomainSearchItem: title: DomainSearchItem type: object required: - name - type - search_score properties: domain: $ref: '#/components/schemas/RootDomainInfo' name: description: The display name for autocomplete type: string organization: $ref: '#/components/schemas/OrganizationInfo' search_score: description: The search score of the result type: number type: description: Indicates whether this is an organization or domain result enum: - organization - domain type: string OpenVulnerabilityScoreMetrics: title: OpenVulnerabilityScoreMetrics type: object properties: severity_breakdown: $ref: '#/components/schemas/SeverityBreakdown' total_cve: type: integer total_kev: type: integer VulnScoreMetricsTimeSeries: title: VulnScoreMetricsTimeSeries type: object properties: date: type: string format: date security_score: type: number format: double open_vulnerability: $ref: '#/components/schemas/OpenVulnerabilityScoreMetrics' total_scanned_assets: type: integer total_affected_assets: type: integer description: '' SharedTemplateMetaData: title: SharedTemplateMetaData type: object properties: expires_at: type: string format: date-time organizations: type: array items: type: string share_type: type: string template_id: type: string users_email: type: array items: type: string UploadTemplate: title: UploadTemplate type: object properties: ai_meta: $ref: '#/components/schemas/AIMeta' dir: type: string filename: type: string template: type: string TemplateFileMetadata: title: TemplateFileMetadata type: object required: - dir - filename - template_id - uri properties: dir: type: string description: | Directory of the template filename: type: string description: | Name of the template template_id: type: string description: Template ID uri: type: string description: URI of the template description: Template File Metadata FailedTemplateFileMetadataUpdate: title: FailedTemplateFileMetadataUpdate type: object required: - dir - filename - template_id - error properties: dir: type: string description: Directory of the template filename: type: string description: Name of the template template_id: type: string description: Template ID error: type: string description: Error message PatchTemplateFileMetadata: title: PatchTemplateFileMetadata type: object required: - dir - filename - template_id properties: dir: type: string filename: type: string template_id: type: string CustomSeverityMapping: title: CustomSeverityMapping type: object required: - id - template_id - original_severity - custom_severity - created_at - updated_at properties: id: type: integer format: int64 template_id: type: string original_severity: type: string custom_severity: type: string vuln_id: type: string created_at: type: string format: date-time updated_at: type: string format: date-time DevicesCount: title: DevicesCount type: object properties: devices: type: number CustomersCount: title: CustomersCount type: object properties: customers: type: number EmployeesCount: title: EmployeesCount type: object properties: employees: type: number UsersCount: title: UsersCount type: object properties: user: type: number CombolistExposureCount: title: CombolistExposureCount type: object properties: combolist_exposure: type: number LeakCountryStats: title: LeakCountryStats type: object properties: Country: type: string CredentialsCount: type: number UsedUrlsCount: title: UsedUrlsCount type: object properties: count: type: number url: type: string LeaksTimeline: title: LeaksTimeline type: object properties: CredentialsCount: type: number Month: type: number Year: type: number LeaksUsersSampleData: title: LeaksUsersSampleData type: object properties: password: type: string username: type: string url: type: string country: type: string log_date: type: string LeaksEntity: title: LeaksEntity type: object properties: id: type: string url: type: string username: type: string password: type: string device_ip: type: string host_username: type: string os: type: string malware_path: type: string country: type: string log_date: type: string hardware_id: type: string hostname: type: string status: $ref: '#/components/schemas/LeaksEntityStatus' domain: type: string description: Domain this leak is associated with - used for filtering email_domain: type: string description: Domain extracted from email addresses EnumerationHistoryDataResponse: title: EnumerationHistoryDataResponse type: object required: - enum_id - name - enum_type - enum_started_at - enum_finished_at - enumeration_time - status - new_assets_discovered - total_targets_processed properties: enum_id: type: string name: type: string enum_type: type: string enum_started_at: type: string format: date-time enum_finished_at: type: string format: date-time enumeration_time: type: string format: duration status: type: string new_assets_discovered: type: integer total_targets_processed: type: integer error_details: type: string Facets: title: Facets type: object properties: buckets: type: object additionalProperties: type: integer missing: type: integer others: type: integer total: type: integer Product: type: object required: - doc_id - vuln_count - kev_count - vulns_with_poc - product - vendor properties: category: description: Product category type: string cpe: description: List of CPEs for this product type: array items: type: string deployment_model: description: Product deployment model type: string doc_id: description: 'Unique document ID in the form vendor:product' type: string exposure: $ref: '#/components/schemas/ExposureStats' first_cve_created_at: description: Date when the earliest CVE was processed for this product type: string format: date-time industry: description: Product industry type: string kev_count: description: Number of KEV vulnerabilities for this product type: integer last_cve_created_at: description: Date when the most recent CVE was processed for this product type: string format: date-time product: description: Product name type: string project_repos: description: List of repository info for this product type: array items: type: object additionalProperties: true projects: description: List of project URLs for this product type: array items: type: string score: description: Impact score based on available parameters mainly used for sorting type: number summary: description: Product summary type: string tech_domain: description: Product tech domain type: string vendor: description: Vendor name type: string vulnerability_count: description: Total number of vulnerabilities for this product type: integer vulnerability_max_cvss: description: Maximum CVSS score among vulnerabilities type: number format: double vulnerability_mean_cvss: description: Mean CVSS score among vulnerabilities type: number format: double vulnerability_poc_count: description: Number of vulnerabilities with PoC for this product type: integer vulnerability_stat_counts: description: Vulnerability statistics by type type: object additionalProperties: type: integer severities: description: Map of severity -> count for vulnerabilities type: object additionalProperties: type: integer vuln_count: description: Total number of vulnerabilities for this product type: integer vuln_impact_breakdown: description: Map of vulnerability_impact -> count for vulnerabilities (flattened array) type: object additionalProperties: type: integer vuln_statuses: description: Map of vuln_status -> count for vulnerabilities type: object additionalProperties: type: integer vuln_types: description: Map of vulnerability_type -> count for vulnerabilities type: object additionalProperties: type: integer vulns_with_poc: description: Number of vulnerabilities with PoC for this product type: integer Vulnerability: additionalProperties: false allOf: - $ref: '#/components/schemas/VulnerabilityInfo' - $ref: '#/components/schemas/NucleiTemplate' - properties: affected_products: description: Affected products for the vulnerability items: $ref: '#/components/schemas/ProductInfo' type: array created_at: description: Created at timestamp format: date-time type: string doc_id: description: Document ID of the vulnerability type: string doc_type: description: Type of the document type: string exposure: $ref: '#/components/schemas/VulnExposure' description: Exposure stats for the vulnerability h1: $ref: '#/components/schemas/H1Stats' description: Hackerone stats for the vulnerability ntps: description: Nuclei Template Priority Score type: integer updated_at: description: Updated at timestamp format: date-time type: string template_created_at: description: Timestamp when the template was created format: date-time type: string type: object type: object VulnerabilityInfo: additionalProperties: false allOf: - $ref: '#/components/schemas/CVEInfo' - properties: citations: description: Citations for the vulnerability/template items: $ref: '#/components/schemas/Citation' type: array cwe: description: CWE IDs associated with the vulnerability items: type: string type: array description: description: Description of the vulnerability/template type: string impact: description: Impact of the vulnerability/template type: string name: description: Name of the vulnerability/template type: string product: description: Product associated with the vulnerability/template type: string remediation: description: Remediation for the vulnerability/template type: string severity: description: Severity of the vulnerability/template type: string vendor: description: Vendor associated with the vulnerability/template type: string requirement_type: description: Type of the requirement type: string requirements: description: Requirements for the vulnerability/template type: string template_coverage: description: Coverage of the template type: string vulnerability_impact: description: Impact of the vulnerability/template items: type: string type: array vulnerability_type: description: Type of the vulnerability/template type: string weaknesses: description: Weaknesses associated with the vulnerability items: $ref: '#/components/schemas/Weakness' type: array type: object type: object title: '' CVEInfo: additionalProperties: false properties: age_in_days: description: Age in days for the cve type: integer assignee: description: Assignee for the cve type: string cve_created_at: description: Created at date for the cve format: date-time type: string cve_id: description: CVE ID for the cve type: string cve_updated_at: description: Updated at date for the cve format: date-time type: string cvss_metrics: description: CVSS Metrics for the cve example: '3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H' type: string cvss_score: description: CVSS Score for the cve example: 9.8 format: double type: number epss_percentile: description: EPSS Percentile for the template. example: 0.42509 format: double type: number epss_score: description: EPSS Score for the template. example: 0.42509 format: double type: number is_kev: description: True if the cve is a kev type: boolean is_vkev: description: True if the cve is a vkev type: boolean is_oss: description: True if the cve is an oss cve type: boolean is_patch_available: description: True if the cve has a patch available type: boolean is_poc: description: True if the cve has a poc type: boolean is_remote: description: True if the cve is a remote cve type: boolean is_template: description: True if the cve has a template type: boolean kev: description: KEV info for the cve items: $ref: '#/components/schemas/KevInfo' type: array poc_count: description: Count of pocs for the vulnerability type: integer pocs: description: Contains all known proof of concepts for the vulnerability items: $ref: '#/components/schemas/POC' type: array nuclei_template: description: Raw nuclei template content type: string is_auth: description: True if the CVE is an authenticated CVE type: boolean is_exploit_seen: description: True if the CVE has been exploited in the wild type: boolean poc_first_seen: description: First seen date for the poc format: date-time type: string vuln_status: description: Status of the cve type: string type: object KevInfo: title: KevInfo type: object properties: added_date: type: string format: date-time due_date: type: string format: date-time known_ransomware_campaign_use: type: boolean source: type: string POC: title: POC type: object properties: added_at: type: string format: date-time source: type: string url: type: string Citation: additionalProperties: false title: Citation type: object properties: source: type: string description: Source for the citation tags: type: array description: Tags for the citation items: type: string url: type: string description: URL for the citation added_at: description: Added at date for the citation format: date-time type: string Weakness: additionalProperties: false title: Weakness type: object properties: cwe_id: type: string description: CWE ID for the weakness cwe_name: type: string description: CWE Name for the weakness NucleiTemplate: additionalProperties: false allOf: - $ref: '#/components/schemas/TemplateSourceMeta' - $ref: '#/components/schemas/TemplateStatus' - $ref: '#/components/schemas/TemplateFileMeta' - $ref: '#/components/schemas/TemplateContent' - $ref: '#/components/schemas/TemplateSharingMetadata' - properties: ai_meta: $ref: '#/components/schemas/AIMeta' description: AI Meta of the template classification: $ref: '#/components/schemas/Classification' description: Classification of the template id: description: ID of the template type: string user_id: description: User ID of the template type: integer type: object type: object TemplateSharingMetadata: properties: organizations: description: Organizations of the template items: type: string type: array origin_template_id: description: Origin template ID of the template type: string share_type: description: Share type of the template type: string ttl: description: TTL of the template type: string ttl_from: description: TTL from of the template type: string users: description: Users of the template items: type: integer type: array type: object TemplateSourceMeta: properties: category: description: Category of the template type: string integration_id: description: Integration ID of the template type: string integration_type: description: Integration type of the template type: string pull_request: description: Pull request of the template type: string ref: description: Reference of the template type: string release_tag: description: Release tag of the template type: string score: description: Score of the template type: integer template_type: description: Type of the template type: string type: object TemplateStatus: properties: is_draft: description: Is the template a draft type: boolean is_early: description: Is the template in early access type: boolean is_github: description: Is the template from github type: boolean is_new: description: Is the template new type: boolean is_pdteam: description: Is the template from pdteam type: boolean type: object TemplateFileMeta: title: TemplateFileMeta type: object properties: directory: type: string description: Directory of template filename: type: string description: | Filename of template uri: type: string description: Uri of template TemplateContent: title: TemplateContent type: object properties: author: type: array description: Authors of the template items: type: string digest: type: string description: Digest of the template metadata: type: object description: MetaData of the template raw: type: string description: Raw string of the template tags: type: array description: Tags of the template items: type: string type: type: string description: Type of the template ProductInfo: title: ProductInfo type: object properties: cpe: description: CPE of the product type: array items: type: string product: description: Product of the product type: string project_repos: type: object projects: description: Projects of the product type: array items: type: string vendor: description: Vendor of the product type: string product_category: type: string product_type: type: string industry: description: Industry of the product type: string tech_domain: description: Tech domain of the product type: string category: description: Product category of the product type: string deployment_model: description: Deployment model of the product type: string summary: description: Summary of the product type: string SearchEngineStats: title: SearchEngineStats type: object properties: max_hosts: type: integer description: Maximum number of hosts for the product min_hosts: type: integer description: Minimum number of hosts for the product queries: type: array description: Queries for the product items: type: string ExposureStats: title: ExposureStats type: object properties: fofa: $ref: '#/components/schemas/SearchEngineStats' id: type: string max_hosts: type: integer min_hosts: type: integer shodan: $ref: '#/components/schemas/SearchEngineStats' VulnExposure: additionalProperties: false title: VulnExposure type: object properties: max_hosts: description: Maximum number of hosts for the vulnerability type: integer min_hosts: description: Minimum number of hosts for the vulnerability type: integer values: description: Values of the vulnerability type: array items: $ref: '#/components/schemas/ExposureStats' H1Stats: additionalProperties: false title: H1Stats type: object properties: delta_rank: description: Rank delta from previous day type: integer delta_reports: description: Reports delta from previous day type: integer rank: description: Rank of CVE in Hackerone type: integer reports: description: Number of reports for CVE type: integer StatisticsResponse: title: StatisticsResponse type: object properties: status_code_stats: type: object additionalProperties: type: integer error_stats: type: object additionalProperties: type: integer waf_stats: type: object additionalProperties: type: integer TaskChunk: title: TaskChunk type: object properties: # common scan|enumeration fields targets: type: array items: type: string # Scan fields scan_id: type: string template_request_count: type: integer public_templates: type: array items: type: string private_templates: type: array items: type: string user_id: type: integer format: int64 chunk_id: type: string scan_configuration: type: string format: byte public_workflows: type: array items: type: string private_workflows: type: array items: type: string workflows_urls: type: array items: type: string # Enumeration fields enrichment_id: type: string enumeration_configuration: type: string format: byte # chunk fields status: type: string enum: - pending - completed - failed - skipped - in_progress LeaksEntityStatus: title: LeaksEntityStatus enum: - fixed - open - NA StripePriceItem: title: StripePriceItem type: object required: - price_id - price - name properties: price_id: type: string description: Stripe price ID price: type: number description: Price amount in dollars name: type: string description: Price display name currency: type: string description: 'Currency code (e.g., USD)' interval: type: string description: 'Billing interval (month, year, etc.)' product_id: type: string description: Associated Stripe product ID PlanDefaultLimit: title: PlanDefaultLimit type: object required: - plan - asset_limit - domain_limit properties: plan: type: string enum: - ENT - ENT_TRIAL - PRO - GROWTH - TRIAL - FREE - VERIFIED_FREE description: Plan type asset_limit: type: integer format: int64 description: Default asset limit for the plan domain_limit: type: integer format: int64 description: Default domain limit for the plan created_at: type: string format: date-time description: Creation timestamp updated_at: type: string format: date-time description: Last update timestamp securitySchemes: X-API-Key: name: X-API-Key type: apiKey in: header responses: GetTemplateDataResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string data: $ref: '#/components/schemas/TemplateData' GetTemplateResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string template: $ref: '#/components/schemas/TemplateData' application/xml: schema: type: object properties: {} examples: {} CreateTemplateResponse: description: Example response content: application/json: schema: type: object required: - message - template_id - template_name properties: message: type: string template_id: type: string template_name: type: string template: $ref: '#/components/schemas/TemplateData' UpdateTemplateResponse: description: Example response content: application/json: schema: type: object required: - message - template_id - template_name properties: message: type: string status: type: boolean template_id: type: string template_name: type: string template: $ref: '#/components/schemas/TemplateData' GenerateTemplateResponse: description: Example response content: application/json: schema: type: object required: - message properties: template_id: type: string message: type: string completion: type: string name: type: string canRun: type: boolean comment: type: string is_valid: type: boolean retry_count: type: integer feedback: type: string targets: type: array items: type: string retest: type: array items: type: object properties: target: type: string matched: type: boolean vuln_id: type: string ShareTemplateResponse: description: Example response content: application/json: schema: type: object required: - message - result properties: message: type: string result: $ref: '#/components/schemas/SharedTemplateMetaData' GetSharedTemplateResponse: description: Example response content: application/json: schema: type: object required: - message - result properties: message: type: string result: $ref: '#/components/schemas/SharedTemplateData' GetUserProfileResponse: description: Example response content: application/json: schema: type: object required: - message properties: ai_status: type: boolean email: type: string name: type: string message: type: string cloud_scans: type: boolean static_scan: type: boolean neo_ai: type: boolean early_template: type: boolean team_name: type: string is_team_owner: type: boolean is_read_only: type: boolean team_owner_name: type: string trial_status: type: string role: type: string plan: type: string personal_account_plan: type: string applied_promo_code: type: string full_port_scan: type: boolean is_leaks_enabled: type: boolean workspaces: type: array items: $ref: '#/components/schemas/UserWorkspaces' real_time_auto_scan: type: boolean growth_plan_availability: type: object properties: price_id: type: string description: Stripe price ID for growth plan is_available: type: boolean description: Whether growth plan is available for this user to buy amount: type: number description: Price amount in dollars recurrence_period: type: string description: Billing period (MONTHLY/YEARLY) DeleteTemplateResponse: description: Example response content: application/json: schema: type: object properties: message: type: string status: type: boolean required: - message GetPublicTemplateList: description: Example response content: application/json: schema: type: object required: - message - count - total - results properties: message: type: string count: type: integer total: type: integer results: type: array items: $ref: '#/components/schemas/TemplateData' GetRetestResultsResponse: description: Example response content: application/json: schema: type: object properties: message: type: string results: type: array items: $ref: '#/components/schemas/VulnerabilityResults' required: - message - results application/xml: schema: type: object properties: {} GetSingleRetestResultResponse: description: Example response content: application/json: schema: type: object properties: message: type: string results: $ref: '#/components/schemas/VulnerabilityResults' required: - message - results GetScansStatusResponse: description: Example response content: application/json: schema: type: object properties: current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer message: type: string data: type: array items: $ref: '#/components/schemas/ScanStatusItem' required: - message - current_page - result_count - total_results - total_pages - data TriggerUserScanResponse: description: Example response content: application/json: schema: type: object required: - message properties: id: type: string message: type: string truncated-scan-targets: type: integer application/xml: schema: type: object properties: message: type: string id: type: string multipart/form-data: schema: type: object properties: message: type: string id: type: string required: - message text/html: schema: type: object properties: message: type: string id: type: string required: - message GetScanDetailsResponse: description: Example response content: application/json: schema: $ref: '#/components/schemas/ScanStatusItem' TaskChunkResponse: description: Example response content: application/json: schema: $ref: '#/components/schemas/TaskChunk' DeleteScansResponse: description: Example response content: application/json: schema: type: object properties: message: type: string ok: type: boolean required: - message GetScanResultsResponse: description: Example response content: application/json: schema: type: object required: - current_page - result_count - total_results - total_pages - message - data properties: current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer message: type: string data: type: array items: $ref: '#/components/schemas/VulnerabilityResults' stats: type: object properties: total: type: integer filters: type: object GetVulnChangelogsResponse: description: Example response content: application/json: schema: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/VulnerabilityChangelogs' PostRetestTemplateResponse: description: Example response content: application/json: schema: type: object properties: message: type: string results: $ref: '#/components/schemas/VulnerabilityResults' required: - message GetScansVulnIdResponse: description: '/scans/vuln/:vuln_id' content: application/json: schema: $ref: '#/components/schemas/VulnerabilityResultsOld' ImportScanResponse: description: '' content: application/json: schema: type: object description: Scan is a single scan object properties: id: type: string message: type: string required: - id - message GetAssetsListResponse: description: Example response content: application/json: schema: type: object properties: message: type: string data: type: array items: $ref: '#/components/schemas/AssetListItem' required: - message - data UploadAssetResponse: description: Example response content: application/json: schema: type: object properties: message: type: string upload_status: type: string asset_id: type: string uploaded_at: type: string name: type: string required: - message GetUserAssetResponse: description: Example response content: application/json: schema: type: object properties: message: type: string asset_count: type: integer asset_id: type: string uploaded_at: type: string name: type: string required: - message DeleteAssetResponse: description: Example response content: application/json: schema: type: object properties: message: type: string required: - message GetUserAPIKeyResponse: description: Example response content: application/json: schema: type: object properties: message: type: string api_key: type: string required: - message - api_key DeleteUserAPIKeyResponse: description: Example response content: application/json: schema: type: object properties: message: type: string required: - message GetScanResultsFiltersResponse: description: Example response content: application/json: schema: type: object required: - message - current_page - result_count - total_results - total_pages - data - new_matched properties: message: type: string current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer data: type: array items: $ref: '#/components/schemas/FiltersItem' new_matched: type: integer GetScanResultStatsResponse: description: Example response content: application/json: schema: type: object properties: message: type: string stats: $ref: '#/components/schemas/ScanStats' required: - message SetScanScheduleResponse: description: Example response content: application/json: schema: type: object properties: message: type: string required: - message GetScanScheduleResponse: description: Example response content: application/json: schema: type: object properties: message: type: string schedules: type: array items: $ref: '#/components/schemas/ScanSchedule' required: - message - schedules PatchAssetContentResponse: description: Example response content: application/json: schema: type: object properties: message: type: string update_status: type: string required: - message GetUserTemplateListResponse: description: Example response content: application/json: schema: type: object required: - results properties: message: type: string count: type: integer total: type: integer results: type: array items: $ref: '#/components/schemas/TemplateData' GetShareStatusResponse: description: Example response content: application/json: schema: type: object required: - message properties: count: type: integer message: type: string total: type: integer results: type: array items: $ref: '#/components/schemas/SharedTemplateData' DeleteScanScheduleResponse: description: Example response content: application/json: schema: type: object properties: message: type: string required: - message PostApiKeyRotateResponse: description: Example response content: application/json: schema: type: object properties: message: type: string api_key: type: string required: - message - api_key GetUserSetupStatsResponse: description: Example response content: application/json: schema: type: object properties: message: type: string onboarding_steps: type: object properties: vulnerability_scan: type: boolean asset_discovery: type: boolean alerting_integration: type: boolean reporting_integration: type: boolean cloud_integration: type: boolean subfinder_integration: type: boolean vulnerability_upload: type: boolean realtime_autoscan: type: boolean team_member_invitation: type: boolean required: - message - onboarding_steps GetBillingAssetsResponse: description: Example response content: application/json: schema: type: object properties: total_asset: type: integer total_unique_asset: type: integer total_billing_asset: type: integer total_unique_billing_asset: type: integer total_asset_group: type: integer asset_groups: type: array items: type: object properties: name: type: string total_unique_asset: type: integer total_asset: type: integer total_billing_asset: type: integer total_unique_billing_asset: type: integer GetPromocodeDetailsResponse: description: Example response content: application/json: schema: type: object required: - message - promo_code - allowed_plan - valid_for_days - base_domain_count - scan_tokens properties: message: type: string promo_code: type: string allowed_plan: type: array items: type: string valid_for_days: type: integer base_domain_count: type: integer scan_tokens: type: integer MessageResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string PatchUserProfileResponse: description: Example response content: application/json: schema: type: object properties: message: type: string ai_status: type: boolean scan_status: type: boolean static_scan: type: boolean neo_ai: type: boolean early_template: type: boolean required: - message PostCreateUserResponse: description: Example response content: application/json: schema: type: object properties: message: type: string ai_status: type: boolean scan_status: type: boolean static_scan: type: boolean neo_ai: type: boolean early_template: type: boolean user_id: type: integer name: type: string email: type: string role: type: string invite_url: type: string password: type: string required: - message PostRescanVulnResponse: description: Example response content: application/json: schema: type: object properties: message: type: string results: $ref: '#/components/schemas/VulnerabilityResultsOld' required: - message GetEarlyTempateList: description: Early Template Response content: application/json: schema: type: object required: - message properties: message: type: string total: type: integer count: type: integer results: type: array items: $ref: '#/components/schemas/TemplateData' UpdateTeamResponse: description: Example response content: application/json: schema: type: object properties: name: type: string message: type: string required: - message GetTeamResponse: description: Get the workspace details content: application/json: schema: type: object properties: workspaces: type: array items: $ref: '#/components/schemas/WorkspaceItem' message: type: string name: type: string required: - message GetTeamMembersResponse: description: Example response content: application/json: schema: type: object properties: message: type: string max_team_members: type: integer members: type: array items: $ref: '#/components/schemas/TeamMemberItem' required: - message - members - max_team_members StaticScanIPsResponse: description: '' content: application/json: schema: type: object required: - ips properties: ips: type: array items: type: object required: - ip properties: ip: type: string GetEnumerateIdContents: description: Example response content: application/json: schema: type: object required: - current_page - result_count - total_results - total_pages - message - data properties: current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer message: type: string data: type: array items: $ref: '#/components/schemas/EnumerationContent' GetEnumerateIdContentsResponse: description: Example response content: application/json: schema: type: object required: - message - data properties: message: type: string data: $ref: '#/components/schemas/EnumerateData' GetEnumerationScheduleResponse: description: Example response content: application/json: schema: type: object required: - message - schedules properties: message: type: string schedules: type: array items: $ref: '#/components/schemas/EnumerationSchedule' VerifyConfigResponse: description: Example response content: application/json: schema: type: object required: - is_verified - response properties: is_verified: type: boolean response: type: string event: type: object VerifyConfigContentsResponse: description: Example response content: application/json: schema: type: object properties: jira: type: array items: type: object $ref: '#/components/schemas/JiraVerifyContentItem' linear: type: array items: type: object $ref: '#/components/schemas/LinearVerifyContentItem' ScanStatsResponse: description: Example response content: application/json: schema: type: object required: - scan_stats - scan_status properties: scan_stats: type: object required: - total_scan - total_unique_scan - total_uploaded_scan - total_scheduled_scan properties: total_scan: type: integer total_unique_scan: type: integer total_uploaded_scan: type: integer total_scheduled_scan: type: integer scan_status: type: object required: - failed - finished - queued - running - starting - stopped - uploaded properties: failed: type: integer finished: type: integer queued: type: integer running: type: integer starting: type: integer stopped: type: integer uploaded: type: integer GetScansHistoryResponse: description: Example response content: application/json: schema: type: object required: - current_page - result_count - total_results - total_pages - message - data properties: message: type: string current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer data: type: array items: $ref: '#/components/schemas/ScansHistoryItems' total_completed_request: type: integer total_scan_run: type: integer total_unique_scan_run: type: integer EnumerateResponse: description: Example response content: application/json: schema: type: object required: - current_page - result_count - total_results - total_pages - data properties: current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer data: type: array items: $ref: '#/components/schemas/EnumerateData' PostScanConfigResponse: description: Example response content: application/json: schema: type: object required: - message properties: id: type: string message: type: string ErrorResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string kind: type: string code: type: string error: type: string error_id: type: string param: type: string status: type: integer VulnsTrackerExportResponse: description: Example response content: application/json: schema: type: object required: - ok - vuln_id - reporting_config_id - reporting_config_name - ticket_url - ticket_id - tracker_name properties: ok: type: boolean vuln_id: type: string reporting_config_id: type: string reporting_config_name: type: string ticket_url: type: string ticket_id: type: string tracker_name: type: string ExcludedTemplateResponse: description: Example response content: application/json: schema: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ExcludedTemplate' GetScansTokenResponse: description: Example response content: application/json: schema: type: object required: - scan_tokens - used_scan_token - remaining_scan_token - is_scannable - start_date - end_date - subscription_type - base_domain_count - remaining_domain_count properties: scan_tokens: type: integer format: int64 used_scan_token: type: integer format: int64 remaining_scan_token: type: integer format: int64 base_domain_count: type: integer format: int64 remaining_domain_count: type: integer format: int64 is_scannable: type: boolean start_date: type: string format: date-time end_date: type: string format: date-time expire_date: type: string format: date-time verified_domain: type: array items: type: string old_plan: type: string old_plan_expired_at: type: string format: date-time is_enforced_limit: type: boolean subscription_type: enum: - TRIAL - ENT_TRIAL - PRO - ENT - FREE - VERIFIED_FREE - GROWTH AssetCountResponse: description: Example response content: application/json: schema: type: object required: - message - asset_count - async properties: message: type: string asset_count: type: integer async: type: boolean description: Whether the operation is running asynchronously GetAssetChangelogsResponse: description: Example response content: application/json: schema: type: object required: - message - current_page - result_count - total_results - total_pages - data properties: message: type: string current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer data: type: array items: type: object $ref: '#/components/schemas/AssetChangelogs' GetAssetResponse: description: Example response content: application/json: schema: type: object required: - id - enumeration_id - name - created_at - updated_at properties: id: type: integer format: int64 enumeration_id: type: string name: type: string created_at: type: string format: date-time updated_at: type: string format: date-time status_code: type: integer technologies: type: array items: type: string webserver: type: string request: type: string response: type: string cname: type: array items: type: string labels: type: array items: type: string ip: type: string content_length: type: integer title: type: string host: type: string port: type: integer technology_details: type: string format: json is_new: type: boolean body: type: string EnumerationStatsResponse: description: Example response content: application/json: schema: type: object required: - asset_stats properties: asset_stats: $ref: '#/components/schemas/AssetStats' enumeration_stats: $ref: '#/components/schemas/EnumerationCounts' PriceListResponse: description: Example response content: application/json: schema: type: object required: - list - message properties: list: type: array items: $ref: '#/components/schemas/PriceListItem' message: type: string GetScanTokenErrorResponse: description: Example response content: application/json: schema: type: object required: - message - subscription_type properties: message: type: string subscription_type: type: string UsageResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string cvemap: $ref: '#/components/schemas/ServiceUsageItem' chaos: $ref: '#/components/schemas/ServiceUsageItem' asnmap: $ref: '#/components/schemas/ServiceUsageItem' GetEnumerateFiltersResponse: description: Example response content: application/json: schema: type: object required: - message - current_page - result_count - total_results - total_pages - data properties: message: type: string current_page: type: integer result_count: type: integer total_results: type: integer total_pages: type: integer data: type: array items: $ref: '#/components/schemas/EnumerateFiltersItem' ExposureMetricsResponse: description: Example response content: application/json: schema: type: object properties: total_assets: type: integer new_assets: type: integer unique_technologies: type: integer new_technologies: type: integer total_hosts: type: integer new_hosts: type: integer time_series: type: array items: $ref: '#/components/schemas/ExposuresTimeSeries' ScanExposureMetricsResponse: description: Example response content: application/json: schema: type: object properties: new_vulnerability: type: integer open_vulnerability: type: integer fixed_vulnerability: type: integer time_series: type: array items: $ref: '#/components/schemas/ScanExposuresTimeSeries' ScanRegressionRemediationMetricsResponse: description: Example response content: application/json: schema: type: object properties: regression_rate: type: integer avg_remediation_time: type: string regression_state: type: string total_fixed: type: integer total_count: type: integer severity_breakdown: $ref: '#/components/schemas/SeverityBreakdown' status_breakdown: $ref: '#/components/schemas/StatusBreakdown' time_series: type: array items: $ref: '#/components/schemas/ScanRegressionRemediationTimeSeries' GetAutomationsListResponse: description: Example response content: application/json: schema: type: object required: - message - automations properties: message: type: string automations: type: array items: $ref: '#/components/schemas/GetAutomationsListItem' GetAutomationIdResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string automation: $ref: '#/components/schemas/GetAutomationItem' AdminAutomationsResponse: description: Example response content: application/json: schema: type: object required: - message - automations properties: message: type: string automations: type: array items: $ref: '#/components/schemas/AdminAutomationsItem' BillingCycleResponse: description: Example response content: application/json: schema: type: object required: - cycles properties: cycles: type: array items: $ref: '#/components/schemas/BillingCycle' GetRemediationEfficiencyResponse: description: Example response content: application/json: schema: type: object required: - remediation_efficiency - remediation_state - data properties: remediation_efficiency: type: integer remediation_state: type: string data: type: array items: $ref: '#/components/schemas/RemediationEfficiencyData' VulnScoreMetricsResponse: description: Example response content: application/json: schema: type: object required: - security_score - security_state - open_vulnerability - total_scanned_assets - total_affected_assets - time_series properties: security_score: type: number format: double security_state: type: string open_vulnerability: $ref: '#/components/schemas/OpenVulnerabilityScoreMetrics' total_scanned_assets: type: integer total_affected_assets: type: integer time_series: type: array items: $ref: '#/components/schemas/VulnScoreMetricsTimeSeries' DomainSearchResults: description: Domain Search Results content: application/json: schema: type: object required: - count - results - total properties: count: type: integer results: type: array items: $ref: '#/components/schemas/DomainSearchItem' total: type: integer OrganizationSearchResults: description: Organization Search Results content: application/json: schema: type: object required: - count - results - total properties: count: type: integer results: type: array items: $ref: '#/components/schemas/OrganizationFullInfo' total: type: integer UpdateSharedTemplateResponse: description: Example response content: application/json: schema: type: object required: - message - result properties: message: type: string result: $ref: '#/components/schemas/SharedTemplateMetaData' GetSeverityConfigResponse: description: Example response content: application/json: schema: type: object required: - custom_severity_mappings properties: custom_severity_mappings: type: array items: $ref: '#/components/schemas/CustomSeverityMapping' PostSeverityConfigResponse: description: Example response content: application/json: schema: type: object required: - message - id properties: id: type: integer format: int64 message: type: string parameters: template_id: name: template_id in: query schema: type: string description: short uuid of requested template required: true user_name: name: user_name in: query required: true schema: type: string description: user name of logged in user requestBodies: DeleteAssetsRequest: content: application/json: schema: type: object required: - filters properties: filters: $ref: '#/components/schemas/AssetFilters' UpdateAssetLabelsRequest: content: application/json: schema: type: object required: - filters - labels properties: filters: $ref: '#/components/schemas/AssetFilters' labels: type: array items: type: string AssetIdLabelsRequest: content: application/json: schema: type: object required: - labels properties: labels: type: array items: type: string UpdateTemplateRequest: content: application/json: schema: type: object required: - template - template_id properties: template: type: string template_id: type: string prompt: type: string filename: type: string dir: type: string CreateTemplateRequest: content: application/json: schema: type: object properties: template: type: string GenerateTemplateRequest: content: application/json: schema: type: object required: - prompt properties: prompt: type: string retest: type: boolean disableAutoSave: type: boolean default: false images: type: array items: type: string RetestTemplateRequest: content: application/json: schema: type: object properties: template_encoded: type: string target: type: string template_path: type: string template_url: type: string template_id: type: string vuln_id: type: string ShareTemplateRequest: content: application/json: schema: type: object required: - template_id - share_type properties: template_id: type: string share_type: enum: - unlisted - organization - users ttl: type: string organizations: type: array items: type: string emails: type: array items: type: string TriggerUserScanRequest: content: application/json: schema: type: object properties: targets: type: array items: type: string templates: type: array items: type: string assets: type: array items: type: string private_templates: type: array items: $ref: '#/components/schemas/PrivateTemplates' name: type: string recommended: type: boolean all: type: boolean alerting_config_ids: type: array items: type: string scan_config_ids: type: array items: type: string reporting_config_ids: type: array items: type: string early_templates: type: array items: type: string exclude_targets: type: array items: type: string enumeration_ids: type: array items: $ref: '#/components/schemas/EnumerationIds' schedule_only: type: boolean disable_global_alert_config: type: boolean disable_global_report_config: type: boolean disable_global_scan_config: type: boolean socks5_proxy: type: string agent_id: type: string agent_tags: type: array items: type: string agent_networks: type: array items: type: string agent_behavior: enum: - distribute - mirror default: distribute automatic_scan: type: boolean scan_all_assets: type: boolean exclusions: type: array items: type: string SetScanScheduleRequest: content: application/json: schema: type: object required: - scan_id - scan_frequency properties: scan_id: type: string scan_frequency: $ref: '#/components/schemas/SchedulerFrequency' start_time: type: string format: time hourly_frequency: type: integer minimum: 1 maximum: 24 custom_weekdays: type: array description: |- 0-6 denoting Sunday-Saturday. It accepts an array of weekday items: type: integer minimum: 0 maximum: 6 SetEnumerationScheduleRequest: content: application/json: schema: type: object required: - enumeration_id - scan_frequency properties: enumeration_id: type: string scan_frequency: $ref: '#/components/schemas/SchedulerFrequency' start_time: type: string format: time hourly_frequency: type: integer minimum: 1 maximum: 24 custom_weekdays: type: array description: |- 0-6 denoting Sunday-Saturday. It accepts an array of weekday items: type: integer minimum: 0 maximum: 6 UpdateAssetRequest: content: application/json: schema: type: object properties: name: type: string required: - name UpdateScanRequest: content: application/json: schema: type: object properties: name: type: string required: - name PostFeedbackRequest: content: application/json: schema: type: object properties: feedback_text: type: string required: - feedback_text PatchUserProfile: content: application/json: schema: type: object properties: email: type: string ai_status: type: boolean scan_status: type: boolean static_scan: type: boolean neo_ai: type: boolean early_template: type: boolean max_team: type: integer read_only: type: boolean audit_log: type: boolean cloud_region: type: string full_port_scan: type: boolean is_leaks_enabled: type: boolean required: - email CreateTeamRequest: content: application/json: schema: type: object properties: name: type: string required: - name AddTeamMemberRequest: content: application/json: schema: type: object properties: email: type: string required: - email DeleteTeamMemberRequest: content: application/json: schema: type: object properties: email: type: string required: - email InviteTeamMemberRequest: content: application/json: schema: type: object properties: invite_code: type: string required: - invite_code PatchTeamMemberRequest: content: application/json: schema: type: object properties: email: type: string role: type: string required: - email AdminAddTeamMemberRequest: content: application/json: schema: type: object properties: owner_email: type: string member_email: type: string required: - owner_email - member_email PatchScanVulnsRequest: content: application/json: schema: type: object required: - vuln_status properties: vuln_ids: type: array items: type: string vuln_status: $ref: '#/components/schemas/VulnStatusEnum' type: type: string scan_id: type: string severity: type: array items: type: string host: type: array items: type: string template: type: array items: type: string search: type: string PatchScanVulnsLabelsRequest: content: application/json: schema: type: object required: - ids properties: ids: type: array items: type: string type: type: string labels: type: array items: type: string VerifyConfigRequest: content: application/json: schema: type: object required: - config properties: config: type: string config_type: type: string oauth_config_id: type: string VerifyConfigContentsRequest: content: application/json: schema: type: object properties: config: type: string config_type: type: string provider: $ref: '#/components/schemas/VerifyConfigContentsRequestProvider' oauth_config_id: type: string DeleteVulnsRequest: content: application/json: schema: type: object properties: ids: type: array items: type: string type: type: string vuln_status: type: array items: type: string scan_id: type: string severity: type: array items: type: string host: type: array items: type: string template: type: array items: type: string search: type: string CreateContributeRequest: content: application/json: schema: type: object properties: email: type: string name: type: string template: type: string anonymous: type: boolean required: - template - anonymous ExcludeConfigRequest: content: application/json: schema: type: object required: - values - exclude_type properties: values: type: array items: type: string scan_ids: type: array items: type: string description: 'Optional scan IDs to scope these rules to specific scans. If not provided, rules apply globally.' enumeration_ids: type: array items: type: string description: 'Optional enumeration IDs to scope these rules to specific enumerations. If not provided, rules apply globally.' exclude_type: $ref: '#/components/schemas/ExcludeConfigRequestType' DeleteExcludedConfigRequest: content: application/json: schema: type: object required: - ids properties: ids: type: array items: type: integer format: int64 UpdateEnumeratedAssetRequest: content: application/json: schema: type: object properties: labels: type: array items: type: string name: type: string PatchTeamAdmin: content: application/json: schema: type: object required: - max_members properties: max_members: type: integer UsageRequest: content: application/json: schema: type: object required: - range properties: range: $ref: '#/components/schemas/UsageRangeEnum' startDate: type: string endDate: type: string AdminSetUsageLimit: content: application/json: schema: type: object required: - email properties: email: type: string format: email chaos_allowed_requests: type: number cvemap_allowed_requests: type: number asnmap_allpwed_requests: type: number AdminUsageRequest: content: application/json: schema: type: object required: - email - range properties: email: type: string format: email range: $ref: '#/components/schemas/UsageRangeEnum' startDate: type: string endDate: type: string AddAutomation: content: application/json: schema: type: object required: - name - status - event - scan_data properties: name: type: string status: type: string event: type: string scan_data: $ref: '#/components/schemas/AutomationScanData' enumeration_id: type: string UpdateAutomationRequest: content: application/json: schema: type: object properties: name: type: string status: type: string scan_data: $ref: '#/components/schemas/AutomationScanData' CreateAssetGroupRequest: content: application/json: schema: type: object required: - filters properties: filters: $ref: '#/components/schemas/AssetFilters' name: type: string UpdateAssetGroupRequest: content: application/json: schema: type: object required: - filters properties: filters: $ref: '#/components/schemas/AssetFilters' name: type: string AddCustomSeverityMappingRequest: content: application/json: schema: type: object required: - template_id - custom_severity properties: template_id: type: string custom_severity: type: string vuln_id: type: string DeleteCustomSeverityMappingRequest: content: application/json: schema: type: object required: - ids properties: ids: type: array items: type: integer format: int64 x-internal: false security: - X-API-Key: []