ProjectDiscovery scans API

The scans API from ProjectDiscovery — 17 operation(s) for scans.

Operations 26

GET /v1/scans Get Scan List #
POST /v1/scans Create Scan #
DELETE /v1/scans Delete Scan in bulk #
GET /v1/scans/{scan_id} Get Scan #
DELETE /v1/scans/{scan_id} Delete Scan #
PATCH /v1/scans/{scan_id} Update Scan #
POST /v1/scans/import Import OSS Scan #
POST /v1/scans/{scan_id}/stop Stop Scan #
POST /v1/scans/{scan_id}/rescan Rescan scan #
POST /v1/scans/{vuln_id}/retest Retest vulnerability #
GET /v1/scans/schedule Get Scan Schedules #
POST /v1/scans/schedule Set Scan Schedule #
DELETE /v1/scans/schedule Delete Scan Schedule #
GET /v1/scans/scan_ips Get Scan IPs #
PATCH /v1/scans/{scan_id}/import Update Imported Scan #
GET /v1/scans/{scan_id}/export Export Scan #
POST /v1/scans/{scan_id}/export Export Filtered Scan #
GET /v1/scans/vuln/{vuln_id}/export Export Scan Vulnerability #
PATCH /v1/scans/vulns Update Vulnerability Status #
DELETE /v1/scans/vulns Delete Scan Vulnerability #
PATCH /v1/scans/vulns/labels Update Vulnerability Labels #
GET /v1/scans/{scan_id}/config Get Scan Config #
PATCH /v1/scans/{scan_id}/config Update Scan Config #
GET /v1/scans/history Get All Scans History #
GET /v1/scans/{scanId}/history Get Scan History #
GET /v1/scans/{scan_id}/asset/export Export list of unique assets for a scan #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

projectdiscovery-scans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PDCP Asset Scans 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
security:
- X-API-Key: []
tags:
- name: scans
paths:
  /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/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_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/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/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/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/{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/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/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)
components:
  responses:
    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
    GetScanDetailsResponse:
      description: Example response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ScanStatusItem'
    PostRescanVulnResponse:
      description: Example response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              results:
                $ref: '#/components/schemas/VulnerabilityResultsOld'
            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
    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:

# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/projectdiscovery/refs/heads/main/openapi/projectdiscovery-scans-api-openapi.yml