openapi: 3.1.0
info:
  title: HostedScan API
  version: V1
  x-logo:
    url: https://hostedscan.com/images/v2/mark/hostedscan-dark.svg
    altText: HostedScan Logo
  description: >
    # Getting Started

    Welcome to the HostedScan API documentation.

    \

    \

    The best way to get acquainted with HostedScan is to head over to our
    website and start running scans. Try it out [here](https://hostedscan.com/)!

    \

    \

    This documentation covers the API and webhook integrations. Use the API to
    run scans, get results, and manage risks. Use webhook integrations to
    receive real-time event notifications in your application.

    # Support

    Any questions? Please email us at
    [hello@hostedscan.com](mailto:hello@hostedscan.com)
servers:
  - url: https://api.hostedscan.com/v1
paths:
  /scans:
    post:
      operationId: createScan
      summary: Start a new Scan
      description: >
        Run a new vulnerability scan. Choose the Targets to scan by sending
        either the target values (e.g. https://example.com or 123.123.123.123),
        the ID of a Target already created in your HostedScan account, or using
        the tags feature and the Scan will automatically include all Targets
        with matching tags.
      tags:
        - Scans
      x-codeSamples:
        - lang: cURL
          source: |
            curl -X POST 'https://api.hostedscan.com/v1/scans' \
              -H 'Content-Type: application/json' \
              -d '{
                    "type": "NMAP",
                    "targets": ["example.com"]
                  }' \
              -H 'X-HOSTEDSCAN-API-KEY: test-data-key'
        - lang: NodeJS
          source: |
            const axios = require('axios');

            axios.post('https://api.hostedscan.com/v1/scans', {
              type: 'NMAP',
              targets: ['example.com']
            }, {
              headers: {
                'X-HOSTEDSCAN-API-KEY': 'test-data-key'
              }
            })
            .then(response => console.log(response.data))
            .catch(error => console.log(error));
        - lang: Python
          source: |
            import requests

            response = requests.post(
                'https://api.hostedscan.com/v1/scans', 
                headers={'X-HOSTEDSCAN-API-KEY': 'test-data-key'}, 
                json={
                    'type': 'NMAP', 
                    'targets': ['example.com']
                }
            )
            print(response.json())
        - lang: Powershell
          source: >
            Invoke-RestMethod -Uri 'https://api.hostedscan.com/v1/scans' -Method
            Post -Headers @{ 'X-HOSTEDSCAN-API-KEY' = 'test-data-key' }
            -ContentType 'application/json' -Body '{
                "type": "NMAP",
                "targets": ["example.com"]
            }'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  $ref: '#/components/schemas/RunnableScanType'
                targets:
                  type: array
                  items:
                    type: string
                  description: >-
                    Targets to scan. e.g. `["example.com", "123.123.123.123"]`
                    ***Either tags, targets, or target_ids must be specified.***
                  example:
                    - hostedscan.com
                target_ids:
                  type: array
                  items:
                    type: string
                  description: >-
                    Ids of the targets to scan. ***Either tags, targets, or
                    target_ids must be specified.***
                  example:
                    - 36361122caac53b5e8c6616987
                tags:
                  type: array
                  items:
                    type: string
                  description: >-
                    Tags to scan. e.g. `["prod", "web-server"]` ***Either tags,
                    targets, or target_ids must be specified.***
                  example:
                    - prod
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    $ref: '#/components/schemas/Scan'
                    description: The created Scan object
    get:
      operationId: listScans
      description: Returns all Scans
      summary: List Scans
      tags:
        - Scans
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |
            curl https://api.hostedscan.com/v1/scans \
              -H 'X-HOSTEDSCAN-API-KEY: test-data-key'
        - lang: cURL
          label: With filters
          source: |
            curl https://api.hostedscan.com/v1/scans \
              -H 'X-HOSTEDSCAN-API-KEY: test-data-key' \
              --GET --data-urlencode 'filters={"state": ["RUNNING"], "type": ["OPENVAS", "NMAP"]}'
      parameters:
        - $ref: '#/components/parameters/pageTokenParam'
        - in: query
          name: filters
          schema:
            type: object
          description: >
            Key value pairs of filters, where each value is an array to filter
            on. E.g. `{"state": ["RUNNING"], "type": ["OPENVAS", "NMAP"]}`

            \

            \

            Allowed keys: `type`, `state`, `scheduled_by`
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/PaginatedResponse'
                  - properties:
                      data:
                        type: array
                        items:
                          type: object
                          $ref: '#/components/schemas/Scan'
  /scans/{id}:
    get:
      operationId: getScanById
      description: Returns a single Scan
      summary: Get a Scan by id
      tags:
        - Scans
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: |
            curl https://api.hostedscan.com/v1/scans/10000000000000000000001 \
              -H "X-HOSTEDSCAN-API-KEY: test-data-key" 
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: ID of the Scan to get
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    $ref: '#/components/schemas/Scan'
                    description: The Scan object
  /results/{id}:
    get:
      operationId: getScanResultFile
      description: Get a Scan Result File
      summary: Get a Scan Result File by id
      tags:
        - Scans
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: |
            curl https://api.hostedscan.com/v1/results/12345 \
              -o result.pdf \
              -H "X-HOSTEDSCAN-API-KEY: test-data-key" 
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: ID of the Result to get
      responses:
        '200':
          description: Returns the scan result file
  /risks:
    get:
      operationId: listRisks
      description: Returns all Risks
      summary: List Risks
      tags:
        - Risks
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: >
            curl -H "X-HOSTEDSCAN-API-KEY: test-data-key"
            https://api.hostedscan.com/v1/risks
        - lang: cURL
          label: With Filters
          source: |
            curl https://api.hostedscan.com/v1/targets \
              -H 'X-HOSTEDSCAN-API-KEY: test-data-key' \
              --GET --data-urlencode 'filters={"target_id": ["123456"]}'
      parameters:
        - $ref: '#/components/parameters/pageTokenParam'
        - in: query
          name: filters
          schema:
            type: object
          description: >
            Key value pairs of filters, where each value is an array to filter
            on. E.g. `{"risk_definition.scan_type": ["NMAP", "NMAP_UDP"]}`

            \

            \

            Allowed keys: `target_id`, `status`, `tags`,
            `risk_definition.scan_type`, `risk_definition.threat_level`,
            `risk_definition.title`
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/PaginatedResponse'
                  - properties:
                      data:
                        type: array
                        items:
                          type: object
                          $ref: '#/components/schemas/Risk'
  /risks/{id}:
    get:
      operationId: getRiskById
      description: Returns a single Risk
      summary: Get a Risk by id
      tags:
        - Risks
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: >
            curl -H "X-HOSTEDSCAN-API-KEY: test-data-key"
            https://api.hostedscan.com/v1/risks/12345
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: ID of the Risk to get
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    $ref: '#/components/schemas/Risk'
                    description: The Risk object
  /targets:
    post:
      operationId: createTarget
      description: Create a new Target
      summary: Create a new Target
      tags:
        - Targets
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: >
            curl -H "Content-Type: application/json" -H "X-HOSTEDSCAN-API-KEY:
            test-data-key" --request POST --data '{"target":"test.com",
            "tags":["api-test"]}' https://api.hostedscan.com/v1/targets
      parameters:
        - in: query
          name: upsert
          schema:
            type: boolean
          description: Update target if it already exists. Defaults to false.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - target
              properties:
                target:
                  type: string
                  description: >-
                    IPv4, URL, or Fully Qualified Domain Name, eg.
                    `123.456.789.1`, `google.com`, or `https://google.com/path`
                  example: hostedscan.com
                label:
                  type: string
                  description: Label for the Target
                  example: production website
                tags:
                  type: array
                  items:
                    type: string
                    example: prod
                  description: Up to 10 tags for filtering, selecting, and sorting
                scanner_settings:
                  type: object
                  $ref: '#/components/schemas/ScannerSettings'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    $ref: '#/components/schemas/Target'
                    description: The created Target object
    get:
      operationId: listTargets
      description: Returns all Targets
      summary: List Targets
      tags:
        - Targets
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: |
            curl https://api.hostedscan.com/v1/targets \
                 -H "X-HOSTEDSCAN-API-KEY: test-data-key"
        - lang: cURL
          label: With Filters
          source: |
            curl https://api.hostedscan.com/v1/targets \
              -H 'X-HOSTEDSCAN-API-KEY: test-data-key' \
              --GET --data-urlencode 'filters={"tags": ["prod"], "label": ["prod-webserver"]}'
      parameters:
        - $ref: '#/components/parameters/pageTokenParam'
        - in: query
          name: filters
          schema:
            type: object
            properties:
              tags:
                type: array
                items:
                  type: string
                example:
                  - prod
              label:
                type: array
                items:
                  type: string
          description: >
            Key value pairs of filters, where each value is an array to filter
            on. E.g. `{ "tags": ["prod"] }`

            \

            \

            Allowed keys: `tags`, and `label`
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/PaginatedResponse'
                  - properties:
                      data:
                        type: array
                        items:
                          type: object
                          $ref: '#/components/schemas/Target'
  /targets/{id}:
    get:
      operationId: getTargetById
      description: Returns a single Target
      summary: Get a Target by id
      tags:
        - Targets
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: >
            curl -H "X-HOSTEDSCAN-API-KEY: test-data-key"
            https://api.hostedscan.com/v1/targets/12345
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: ID of the Target to get
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    $ref: '#/components/schemas/Target'
                    description: The Target object
    put:
      operationId: updateTarget
      description: Update a Target
      summary: Update a Target
      tags:
        - Targets
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: >
            curl -H "Content-Type: application/json" -H "X-HOSTEDSCAN-API-KEY:
            test-data-key" --request PUT --data '{"label":"Updated Label",
            "tags":["updated-tag"]}' https://api.hostedscan.com/v1/targets/12345
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: ID of the Target to update
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: Label for the Target
                  example: production-webserver
                tags:
                  type: array
                  items:
                    type: string
                    example: prod
                  description: Up to 10 tags for filtering, selecting, and sorting
                scanner_settings:
                  type: object
                  $ref: '#/components/schemas/ScannerSettings'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    $ref: '#/components/schemas/Target'
                    description: The updated Target object
    delete:
      operationId: deleteTarget
      description: >
        Delete a Target by id

        \

        \

        Note: Deleting a target will also delete any risks associated with that
        target.
      summary: Delete a Target
      tags:
        - Targets
      x-codeSamples:
        - lang: cURL
          label: Try it!
          source: >
            curl -H "X-HOSTEDSCAN-API-KEY: test-data-key" --request DELETE
            https://api.hostedscan.com/v1/targets/12345
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: ID of the Target to delete
      responses:
        '200':
          description: Success
  /reports:
    post:
      operationId: createReport
      description: Create a new Report
      summary: Create a new Report
      tags:
        - Reports
      x-codeSamples:
        - lang: cURL
          label: Basic report
          source: |
            curl --header "X-HOSTEDSCAN-API-KEY: your-api-key-here" \
            --header "Content-Type: application/json" \
            --request POST \
            --data '{ "report_format": "PDF" }' \
            https://api.hostedscan.com/v1/reports
        - lang: cURL
          label: Filtered report
          source: >
            curl --header "X-HOSTEDSCAN-API-KEY: your-api-key-here" \

            --header "Content-Type: application/json" \

            --request POST \

            --data '{ "report_format": "PDF", "targets_filter": { "target_ids":
            ["1a2b3c-target-id-here"] } }' \

            https://api.hostedscan.com/v1/reports
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - report_format
              properties:
                report_format:
                  type: string
                  enum:
                    - PDF
                    - HTML
                  description: '`PDF` or `HTML`'
                targets_filter:
                  type: object
                  description: >-
                    Array of target ids or tags. `{ "target_ids": ["target-123"]
                    }` or `{ "tag": ["example-tag"] }`
                risks_filter:
                  type: object
                  description: >
                    Key value pairs of filters, where each value is an array to
                    filter on. E.g.

                    \

                    \

                    `{"risk_definition.scan_type": ["NMAP", "NMAP_UDP"]}`

                    \

                    \

                    Allowed keys: `status`, `risk_definition.scan_type`,
                    `risk_definition.threat_level`, `risk_definition.title`
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - key
                properties:
                  key:
                    type: string
                    format: uuid
                    example: a3a10e1a-4555-46dc-8da5-ada055c9fcfd
                    description: Unique identifier for the generated report
  /reports/{id}:
    get:
      operationId: getReportById
      description: Download a Report
      summary: Download a Report
      tags:
        - Reports
      x-codeSamples:
        - lang: cURL
          label: Curl example
          source: |
            curl --header "X-HOSTEDSCAN-API-KEY: your-api-key-here" \
            --output report.pdf \
            https://api.hostedscan.com/v1/reports/id-of-created-report-here
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: ID of the Report to get
      responses:
        '200':
          description: Success
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
  /sources:
    post:
      operationId: createSource
      description: Create a new Source
      summary: Create a new Source
      tags:
        - Upload Results From Your Own Scanners
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - source_type
                - name
              properties:
                source_type:
                  type: string
                  enum:
                    - IMPORTED
                name:
                  type: string
                  description: A name for the Source
                  example: HQ Internal Network
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - source_type
                      - name
                    properties:
                      id:
                        type: string
                        example: 39391122caac7655e8c6616987
                      source_type:
                        type: string
                        enum:
                          - IMPORTED
                      name:
                        type: string
                        example: HQ Internal Network
  /results:
    post:
      operationId: uploadResult
      description: Upload a Scan Result
      summary: Upload a Scan Result
      tags:
        - Upload Results From Your Own Scanners
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - source_id
                - scan_type
              properties:
                source_id:
                  type: string
                  description: Id of the Source that this result will be grouped with
                scan_type:
                  $ref: '#/components/schemas/ScanType'
                target:
                  type: string
                  description: >-
                    The target that was scanned. e.g. https://example.com.
                    Required only for the `OWASP_ZAP` and `OWASP_ZAP_ACTIVE`
                    scan_types. For other scanners, such as `NMAP` and `OPENVAS`
                    the targets will be automatically inferred.
      responses:
        '200':
          description: Success
webhooks:
  scan.created:
    post:
      operationId: scanCreated
      description: A new Scan has been created
      summary: Scan Created
      tags:
        - Scan Events
      security: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScanCreatedEvent'
      responses:
        '200':
          description: Successfully received the scan created event
  scan.updated:
    post:
      operationId: scanUpdated
      description: A Scan has been updated
      summary: Scan Updated
      tags:
        - Scan Events
      security: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScanUpdatedEvent'
      responses:
        '200':
          description: Successfully received the scan created event
  risk.created:
    post:
      operationId: riskCreated
      description: A new Risk has been created
      summary: Risk Created
      tags:
        - Risk Events
      security: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RiskCreatedEvent'
      responses:
        '200':
          description: Successfully received the scan created event
  risk.updated:
    post:
      operationId: riskUpdated
      description: A Risk has been updated
      summary: Risk Updated
      tags:
        - Risk Events
      security: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RiskUpdatedEvent'
      responses:
        '200':
          description: Successfully received the scan created event
components:
  schemas:
    Risk:
      required:
        - id
        - target_id
        - status
        - is_accepted
        - first_detected_at
        - last_detected_at
      properties:
        id:
          type: string
          example: 111122caac53b5e8c6616123
        target_id:
          type: string
          example: 211122caac53b5e8c6616321
        target_label:
          type: string
          example: production-website
        tags:
          type: array
          items:
            type: string
            example: prod
        status:
          type: string
          enum:
            - OPEN
            - CLOSED
        first_detected_at:
          type: string
          format: date-time
        last_detected_at:
          type: string
          format: date-time
        is_accepted:
          type: boolean
        accepted_by:
          type: array
          items:
            type: object
            required:
              - created_at
              - last_updated_at
            properties:
              note:
                type: string
                example: >-
                  Expected behavior for production webserver to have ports 80
                  and 443 open
              created_at:
                type: string
                format: date-time
              last_updated_at:
                type: string
                format: date-time
        risk_definition:
          type: object
          required:
            - scan_type
            - title
            - threat_level
          properties:
            scan_type:
              $ref: '#/components/schemas/ScanType'
            title:
              type: string
              example: Port 443 Open
            threat_level:
              $ref: '#/components/schemas/ThreatLevel'
            description:
              type: string
              description: May not be available for all scanners
              example: Port 443 was detected open.
            solution:
              type: string
              description: May not be available for all scanners
              example: ''
            references:
              type: array
              items:
                type: string
                example: >-
                  https://owasp.org/www-project-web-security-testing-guide/v41/4-Web_Application_Security_Testing/01-Information_Gathering/04-Enumerate_Applications_on_Webserver
              description: May not be available for all scanners
            cvss:
              type: string
              description: May not be available for all scanners
              example: ''
            additional_info:
              type: object
              description: >-
                The full output from the scanner. This output is scanner
                specific and could change when scanners are updated to new major
                versions
    Scan:
      required:
        - id
        - type
        - state
        - requested_targets
      properties:
        id:
          type: string
          description: Scan's ID
          example: 123422caac53b5e8c6616123
        type:
          $ref: '#/components/schemas/ScanType'
        state:
          $ref: '#/components/schemas/State'
        progress:
          type: number
          description: From 0 to 100. May not be available for all scan types
          example: 57
        risks:
          type: object
          description: >-
            The Risks for this Scan. HostedScan maps the findings from different
            scanners into a common Risk structure. ***Available once the scan
            has a SUCCEEDED state.***
          properties:
            new_open:
              type: array
              description: New Risks that this Scan found
              items:
                type: object
                properties:
                  risk_id:
                    type: string
                    description: >-
                      id of the Risk. Lookup of the full content by making a GET
                      request to /risks/{id}
                    example: 5432122caac53b5e8c6616123
            still_open:
              type: array
              description: >-
                Risks that a previous Scan of the Target found and were still
                found by this Scan
              items:
                type: object
                properties:
                  risk_id:
                    type: string
                    description: >-
                      id of the Risk. Lookup of the full content by making a GET
                      request to /risks/{id}
                    example: 13131122caac53b5e8c6616123
            closed:
              type: array
              description: >-
                Risks that a previous Scan of the Target found and were no
                longer found by this Scan
              items:
                type: object
                properties:
                  risk_id:
                    type: string
                    description: >-
                      id of the Risk. Lookup of the full content by making a GET
                      request to /risks/{id}
                    example: 232321122caac53b5e8c6616123
        results:
          type: array
          description: >-
            The full Result files from the Scan. These are the native outputs
            from the scanner. The structure may change when  scanners are
            updated major versions and each scanner may only support some of the
            content types. ***Available once the scan has a SUCCEEDED state.***
          items:
            type: object
            properties:
              result_id:
                type: string
                example: 14141122caac53b5e8c6616123
              content_type:
                type: string
                enum:
                  - text/html
                  - application/pdf
                  - application/xml
                  - application/json
                example: application/json
        requested_targets:
          type: array
          items:
            type: object
            properties:
              target_id:
                type: string
                description: Target's ID
                example: 36361122caac53b5e8c6616987
              target:
                type: string
                description: Target URL, FQDN, IP
                example: hostedscan.com
        resolved_targets:
          type: array
          items:
            type: object
            properties:
              target_id:
                type: string
                description: Target's ID
                example: 36361122caac53b5e8c6616987
              resolved_target:
                type: string
                description: >-
                  Resolved target URL (after redirects or conversion of raw form
                  e.g. `hostedscan.com` -> `https://hostedscan.com/`)
                example: https://hostedscan.com/
        skipped_targets:
          type: array
          items:
            type: object
            properties:
              target_id:
                type: string
                description: Target's ID
                example: 17171122caac53b5e8c6616987
              skipped_reason:
                type: string
                example: >-
                  OWASP ZAP scans websites. Unable to GET a website at the
                  target. By default ZAP checks port 80 and 443. Scan an
                  alternative port by setting it on the target url
                  "www.example.com:1234"
    Target:
      required:
        - id
        - target
      properties:
        id:
          type: string
          example: 111122caac53b5e8c6616e12
        target:
          type: string
          example: www.example.com
        label:
          type: string
          example: production-website
        tags:
          type: array
          items:
            type: string
            example: prod
        source_type:
          type: string
          example: MANUAL
    ScannerSettings:
      description: The settings to use with a particular scanner when scanning this target.
      properties:
        zap:
          type: object
          description: Settings specific to the ZAP scanner
          properties:
            included_domains:
              type: array
              items:
                type: string
                example: app.example.com
              description: Domains to include in ZAP crawl
            excluded_domains:
              type: array
              items:
                type: string
                example: blog.example.com
              description: Domains to exclude in ZAP crawl
            excluded_urls:
              type: array
              items:
                type: string
                example: https://example.com/scripts/
              description: Specific URLS to avoid on the site
            seed_urls:
              type: array
              items:
                type: string
                example: https://example.com/unlinked-page
              description: >-
                Specific seed URLS to help the crawler discover sections of your
                website that are hidden or hard to reach
            scan_discovered_subdomains:
              type: boolean
              example: true
              description: Scan discovered subdomains of the initial target
            scan_third_party_javascript:
              type: boolean
              example: true
              description: Check included third party javascript for vulnerabilities
            headers:
              type: array
              items:
                type: object
                required:
                  - key
                  - value
                properties:
                  key:
                    type: string
                    example: X-API-KEY
                    description: Header name
                  value:
                    type: string
                    example: example
                    description: Header value
              description: Custom headers to send with each request
            cookies:
              type: array
              description: Custom cookies to send with each request
              items:
                type: object
                properties:
                  domain:
                    type: string
                    description: >-
                      Defines the host to which the cookie will be sent. [More
                      details
                      here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#domaindomain-value)
                    example: example.com
                  expiry:
                    type: number
                    description: >-
                      The date to expire the cookie, in the number of seconds
                      from epoch e.g. 1675098987. Time is UTC.
                    example: 1734732496
                  name:
                    type: string
                    description: >-
                      Defines the cookie name. Must be valid ASCII with some
                      exclusions. [More details
                      here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie-namecookie-value)
                    example: mycookie
                  path:
                    type: string
                    description: >-
                      Indicates the path that must exist in the requested URL
                      for the browser to send the Cookie header. [More details
                      here.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value)
                    example: /webapp
                  sameSite:
                    type: string
                    enum:
                      - None
                      - Lax
                      - Strict
                    description: >-
                      Controls whether or not a cookie is sent with cross-site
                      requests. [More details
                      here.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value)
                    example: Strict
                  secure:
                    type: boolean
                    description: >-
                      Send only over https. [More details
                      here.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#secure)
                  value:
                    type: string
                    description: >-
                      Any US-ASCII charactter excluding controler characters,
                      whitespace, double quotes, cammas, semicolons and
                      backslashes. [More details
                      here.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie-namecookie-value)
                    example: test123
    ScanType:
      type: string
      enum:
        - DEPENDABOT
        - NMAP
        - NMAP_UDP
        - OPENVAS
        - OWASP_ZAP
        - OWASP_ZAP_ACTIVE
        - SSLYZE
      example: NMAP
    RunnableScanType:
      type: string
      enum:
        - NMAP
        - NMAP_UDP
        - OPENVAS
        - OWASP_ZAP
        - OWASP_ZAP_ACTIVE
        - SSLYZE
      example: NMAP
    ThreatLevel:
      type: string
      enum:
        - LOW
        - MEDIUM
        - HIGH
        - CRITICAL
      example: MEDIUM
    State:
      type: string
      enum:
        - FAILED
        - OVER_LIMIT
        - QUEUED
        - RUNNING
        - STOPPING
        - STOPPED
        - SUCCEEDED
      example: RUNNING
      description: >-
        State of a Scan. OVER_LIMIT occurs only on the free plan. FAILED should
        never occur, please contact us if it does.
    PaginatedResponse:
      required:
        - data
      properties:
        data:
          type: array
          items:
            type: object
        next_page_token:
          type: string
          description: >-
            Token that is present when there are more results than can fit in
            the response. Use the token to get the page of results.
    WebhookEvent:
      required:
        - id
        - created_at
        - type
        - data
      properties:
        id:
          type: string
        event_created_at:
          type: string
          format: date-time
        type:
          type: string
        data:
          type: object
    ScanCreatedEvent:
      allOf:
        - $ref: '#/components/schemas/WebhookEvent'
        - properties:
            type:
              type: string
              enum:
                - scan.created
            data:
              $ref: '#/components/schemas/Scan'
    ScanUpdatedEvent:
      allOf:
        - $ref: '#/components/schemas/WebhookEvent'
        - properties:
            type:
              type: string
              enum:
                - scan.updated
            data:
              $ref: '#/components/schemas/Scan'
    RiskCreatedEvent:
      allOf:
        - $ref: '#/components/schemas/WebhookEvent'
        - properties:
            type:
              type: string
              enum:
                - risk.created
            data:
              $ref: '#/components/schemas/Risk'
    RiskUpdatedEvent:
      allOf:
        - $ref: '#/components/schemas/WebhookEvent'
        - properties:
            type:
              type: string
              enum:
                - risk.updated
            data:
              $ref: '#/components/schemas/Risk'
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-HOSTEDSCAN-API-KEY
  parameters:
    pageTokenParam:
      name: page_token
      in: query
      schema:
        type: string
      description: >-
        If there are more than 500 objects to return, the results will be
        truncated. Use page_token to request additional pages of results.
security:
  - ApiKey: []
tags:
  - name: API Overview
    description: >
      HostedScan offers a comprehensive REST API at
      https://api.hostedscan.com/v1. The API enables you to create Targets, set
      up Scans for those targets, along with fetching the resulting Risks and
      Reports. Webhooks are available to notify your application about important
      events, like the completion of scans, or the discovery of new risks for
      specific targets.


      The API also enables you to upload your own scan results from internal
      scanning.

      # Authentication

      Authenticate by setting the `X-HOSTEDSCAN-API-KEY` request header as your
      API key. You can create an API key by visiting the [API &
      Webhooks](https://hostedscan.com/settings/api) section of your account
      settings.

      # Testing with Sample Data

      To try out the APIs with sample data, use the api key `test-data-key`.
      Requests made with this api key will return sample responses. For example:

      ```

      curl -H "X-HOSTEDSCAN-API-KEY: test-data-key"
      https://api.hostedscan.com/v1/scans

      ```

      There are `Try it!` request samples throughout this documentation.

      ## HTTP Responses

      | Status Code   | Details       |

      | ------------- | ------------- |

      | 200           | OK - Successful request.  |

      | 400           | Bad Request - Invalid request parameters or missing
      required parameters.  |

      | 401           | Unauthorized - Invalid API key.  |

      | 404           | Not Found - No resource at the requested path.  |

      | 500           | Internal Server Error - Something went wrong on our
      server. |

      # SDKs and Tools

      The API is defined using the OpenAPI (Swagger) standard. [Download our
      OpenAPI](/) file at the top of this page to get started.

      \

      \

      There are tools to generate clients in most programming languages from
      OpenAPI definitions. The easiest way to get started is with the [online
      swagger.io editor](https://editor-next.swagger.io), which has many
      built-in client generators or check out this [comprehensive list of client
      generators](https://openapi-generator.tech/docs/generators).

      \

      \

      Many API tools, such as Postman, also support importing OpenAPI
      definitions.


      # Testing with Postman

      You can import our OpenAPI document into Postman to quickly and easily
      test our API. [Download our OpenAPI](/) file at the top of this page to
      get started.


      1. When importing into Postman, choose "Postman Collection"

      2. Change the import settings by choosing "View Import Settings" and
      disable the "Enable optional parameters" setting to make all requests
      immediately usable.

      3. After importing, click on the "HostedScan API" collection, go to the
      variables tab, and create a variable "apiKey", setting the value to your
      API key. Don't forget to hit the "Save" button.


      # Deprecation Policy

      Generally, when a field or webhook event is deprecated, the field or
      webhook event is still preserved in the API to prevent unnecessary
      customer rework. As such you may see some additional fields in a response
      or webhook events that are not documented in these API documents. Our
      recommendation is to ignore these.
  - name: Webhooks Overview
    description: >
      HostedScan uses webhooks to send event notifications to your application.
      Receive events when scans finish or when new risks are discovered.

      # Base Event Object

      The webhook notifications sent by HostedScan are Event objects. An Event
      is a JSON structure with the following properties: the event `id`, the
      `event_created_at` time, the event `type`, and the `data`. The `data` is
      specific for each event. E.g. for a `risk.created` event the data is the
      Risk object and for a `scan.created` event the data is the Scan object.

      ```

      {
        "id": "12345",
        "event_created_at": "2023-08-11T05:52:56.104Z",
        "type": "risk.created",
        "data": {
          ...
        }
      }

      ```

      # Registering an Endpoint

      Your webhook endpoint must use HTTPS with a signed certificate, such as
      one from [https://letsencrypt.org/](https://letsencrypt.org/). HostedScan
      will not send to endpoints using self-signed certificates.

      \

      \

      You can register new webhook endpoints and view your existing webhook
      endpoints in your account settings at
      [https://hostedscan.com/settings](https://hostedscan.com/settings).

      \

      \

      ![Registering a Webhook Endpoint with
      HostedScan](data:image/png;base64,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1dlaVcHgWUBAJOCCgNGP1SjApmIYBnAZMhuMNexqBVlACYdtEaQDMFQvMByzU1A2PpYxoJd+IzQK/KYr2RASIAESIAESyHwCmPUNVA0Iil0I7AGaA5kP2Q9zNOcMQWPW8ZOZivPlLJO2JpjxmL3wTFv0T2a2KXtb4L40GgXu2fAJCZAACZAACZCAEkhShOCHDBz+qA6xm3MaAWsocjRmXs/x9KHMY8mcSIAESIAESIAESIAESCBHEqBRkCO7jZUmARIgARIgARIgARIggcwjQKMg81gyJxIgARIgARIgARIgARLIkQRoFOTIbmOlSYAESIAESIAESIAESCDzCNAoyDyWzIkESIAESIAESIAESIAEciQBGgU5sttYaRIgARIgARIgARIgARLIPAI0CjKPJXMiARIgARIgARIgARIggRxJgEZBjuw2VpoESIAESIAESIAESIAEMo8AjYLMY8mcSIAESIAESIAESIAESCBHEqBRkCO7jZUmARIgARIgARIgARIggcwjQKMg81gyJxIgARIgARIgARIgARLIkQRoFOTIbmOlSYAESIAESIAESIAESCDzCARlXlYZy2nf4eiMJWQqEiABEiABEiCBVAkEunjK/+66gMIgrxLI7eO0XMlCXuVvFe51o8BXQFhA+E0CJEACJEAC/kLgoIuG8L+7LqAwyKsEOE69it9RON2HHCh4QQIkQAIkQAIkQAIkQAK5kwCNgtzZ72w1CZAACZAACZAACZAACTgI0ChwoOAFCZAACZAACZAACZAACeROAjQKcme/s9UkQAIkQAIkQAIkQAIk4CBAo8CBghckQAIkQAIkQAIkQAIkkDsJ0CjInf3OVpMACZAACZAACZAACZCAgwCNAgcKXpAACZAACZAACZAACZBA7iRAoyB39jtbTQIkQAIkQAIkQAIkQAIOAjQKHCh4QQIkQAIkQAIkQAIkQAK5kwCNgtzZ72w1CZAACZAACZAACZAACTgI0ChwoOAFCZAACZAACZAACZAACeROAjQKcme/s9UkQAIkQAIkQAIkQAIk4CBAo8CBghckQAIkQAIkQAIkQAIkkDsJ0CjInf3OVpMACZAACZAACZAACZCAg0CQ44oXJEACJEACJEACJOCCQCLCEhPxf9G/LmIwiASSEwgQ/V+AhukffGW2JI1JjMfsFdMW/ZMVbcrelqQsjUZBSiYM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)

      # Message Delivery and Retries

      Any 2xx response code from your endpoint is treated as a successful
      delivery. Any non-2xx status code (or a timeout) is treated as a failure
      and will be retried. HostedScan will attempt to deliver messages to your
      endpoint for up to 12 hours, with exponential backoff.

      # Securing Your Webhooks

      When you register an endpoint, HostedScan creates a signing secret for
      that endpoint. HostedScan uses this secret to send a signature in the
      header of each Event message. The signature can be validated using the
      signing secret to verify that an event was sent by HostedScan.

      ## Validating the Webhook Signature

      Each webhook message request includes an http header
      `X-HOSTEDSCAN-SIGNATURE`. The `X-HOSTEDSCAN-SIGNATURE` is a hash-based
      message authentication code (HMAC) generated with SHA-256. To validate
      this signature an application will first recreate the signature using the
      signing secret for that endpoint and then check that the signature sent in
      the `X-HOSTEDSCAN-SIGNATURE` header matches the recreated signature. To do
      this, follow the steps below:

      1. Prepare the data to be signed. The data is: the message timestamp (sent
      in the `X-HOSTEDSCAN-TIMESTAMP` header), the character . , and the JSON
      payload sent in the request body.

      2. Compute the expected signature. HMAC with SHA256.

      3. Compare the signature your application computed to ensure it matches
      the value sent in the `X-HOSTEDSCAN-SIGNATURE` header.

      # Sample Code

      The [hostedscan-api-examples Github
      repository](https://github.com/hostedscan/hostedscan-api-examples) has
      sample code for receiving webhooks with an AWS Lambda function.


      # Deprecated Events

      The API has deprecated a couple of events you will see at your webhook
      endpoint. Our policy is to generally preserve API behavior to prevent
      unnecessary rework. The following events have been deprecated:


      - `scan.succeeded`

      - `risk.opened`

      - `risk.closed`

       Our recommendation is to ignore these. Instead, the API uses `created` and `updated` events to denote changes to scans and risks.
  - name: Scans
    description: >
      Run scanners such as OpenVas, Nmap, and ZAP against your Targets. Creating
      a scan starts the scanner for the given target(s). Fetching a Scan object
      gives the results from the specific scanner.

      ## Scan lifecycle

      New Scans are created in the `QUEUED` state and will transition to
      `RUNNING` while they are in progress and then to `SUCCEEDED` when
      finished. To check if a Scan is finished, either periodically [GET the
      Scan](#tag/Scans/operation/getScanById) or integrate with the HostedScan
      webhooks and listen for the [scan updated
      event](#tag/Scan-Events/operation/scanUpdated).

      ## Scan output

      The discovered vulnerabilities and output files are available once a scan
      has `SUCCEEDED`. In the HostedScan API, the vulnerabilities are called
      Risks and there are management features, such as tracking Risks over time
      and accepting Risks that are false positives or by design. 

      ### Risks (vulnerabilities)

      On the Scan object, there is a property `risks`, which breaks the Risks
      into 3 categories:


      * `new_open`: Risks that were detected for the first time on the Target
      and Risks that had closed and now, re-opened

      * `still_open`: Risks that were detected by a previous Scan of the Target
      and detected again by the current Scan

      * `closed`: Risks that were detected by a previous Scan of the Target and
      not detected by the current Scan


      To get all of the vulnerabilities found by the Scan, combine `new_open`
      and `still_open`. The Risks are given as an array of ids. Use the [Risks
      api](#tag/Risks) to get the full information for each id: `GET
      https://api.hostedscan.com/v1/risks/{risk_id}`

      ### Scanner output files

      Use the [scan result api](#tag/Scans/operation/getScanResultFile) to
      download the raw output files generated by the scanner software.

      ### Reports

      Use the [reports api](#tag/Reports) to programmatically generate the
      executive style PDF reports that are created in the HostedScan web
      application at
      [https://hostedscan.com/reports](https://hostedscan.com/reports).
  - name: Authenticated Scanning
    description: >
      This section explains how to run an authenticated scan with the API. For
      general info on HostedScan's authenticated scanning features see
      [https://hostedscan.com/authenticated-web-app-vulnerability-scan](https://hostedscan.com/authenticated-web-app-vulnerability-scan).

      ## Steps to run an authenticated scan

      1. Create a target using the create Target API

      2. Upload the recorded Selenium script to the Target (see details below)

      3. Start a scan with the create scan API, if there is a configuration for
      authenticated scanning, the scan will run the Selenium script

      ## Uploading the recorded Selenium script

      Make a POST request with `content-type: multipart/form-data` and one file
      to the endpoint
      `https://api.hostedscan.com/v1/targets/:target_id/auth/selenium`.

      ### Example using curl

      ```

      curl -H "X-HOSTEDSCAN-API-KEY: <<your api key>>" -F
      file=@YourSeleniumRecording.side
      https://api.hostedscan.com/v1/targets/your-target-id/auth/selenium

      ```
  - name: Risks
    description: >
      Risks are the vulnerability findings from scans. For example, a vulnerable
      javascript dependency or an open port.
  - name: Targets
    description: >-
      Targets are the servers and websites to be scanned for vulnerabilities. A
      target is defined by an IP address, URL, or Fully Qualified Domain Name.
  - name: Reports
    description: Generate PDF and HTML reports.
  - name: Upload Results From Your Own Scanners
    description: >
      HostedScan supports uploading results from your own installations of Nmap,
      OpenVAS, and ZAP. To do so, first create a Source, which is a group of
      related targets and scans. Then, upload the result files from your scans
      to the new Source. For more detailed instructions and examples see
      [https://hostedscan.com/internal-vulnerability-scanning](https://hostedscan.com/internal-vulnerability-scanning).
  - name: Sample Code
    description: >
      Sample code can be found on Github at
      [https://github.com/hostedscan/hostedscan-api-examples](https://github.com/hostedscan/hostedscan-api-examples)
x-tagGroups:
  - name: API
    tags:
      - API Overview
      - Scans
      - Authenticated Scanning
      - Risks
      - Targets
      - Reports
      - Upload Results From Your Own Scanners
  - name: Webhooks
    tags:
      - Webhooks Overview
      - Scan Events
      - Risk Events
  - name: Sample Code
    tags:
      - Sample Code
