Escape Scans API

A Scan is a run of the DAST or ASM scanning feature on an profile (DAST/ASM). With the public API, you can trigger scans, track their status, and retrieve their results. See [our documentation](https://docs.escape.tech/documentation/dast/) for more details.

OpenAPI Specification

escape-scans-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 3.0.0
  title: Escape Public Asm Scans API
  description: 'This API enables you to operate [Escape](https://escape.tech/) programmatically.


    All requests must be authenticated with a valid API key, provided in the `X-ESCAPE-API-KEY` header.

    For example: `X-ESCAPE-API-KEY: YOUR_API_KEY`.


    You can find your API key in the [Escape dashboard](https://app.escape.tech/user/).'
servers:
- url: https://public.escape.tech/v3
security:
- apiKey: []
tags:
- name: Scans
  description: 'A Scan is a run of the DAST or ASM scanning feature on an profile (DAST/ASM).


    With the public API, you can trigger scans, track their status, and retrieve their results.


    See [our documentation](https://docs.escape.tech/documentation/dast/) for more details.'
paths:
  /scans:
    get:
      tags:
      - Scans
      summary: List scans
      operationId: listScans
      description: List and search scans of the organization.
      parameters:
      - schema:
          type: string
          description: The cursor to start the pagination from. Returned by the previous page response. If not provided, the first page will be returned.
          example: R1BDOlM6NTEwMzk4NTYtNGIyOS00NTlkLTg0ZDYtMWJhYjM0NWMzZjU5
        required: false
        description: The cursor to start the pagination from. Returned by the previous page response. If not provided, the first page will be returned.
        name: cursor
        in: query
      - schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 50
          description: The number of items to return per page
          example: 50
        required: false
        description: The number of items to return per page
        name: size
        in: query
      - schema:
          type: string
          enum:
          - SEVERITY
          - createdAt
          description: The type to sort by
        required: false
        description: The type to sort by
        name: sortType
        in: query
      - schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
          description: The direction to sort by
        required: false
        description: The direction to sort by
        name: sortDirection
        in: query
      - schema:
          type: string
          description: Filter by after date
          example: '2025-03-15T09:00:00Z'
        required: false
        description: Filter by after date
        name: after
        in: query
      - schema:
          type: string
          description: Filter by before date
          example: '2025-03-15T09:00:00Z'
        required: false
        description: Filter by before date
        name: before
        in: query
      - schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
          description: Filter by asset IDs
          example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
        required: false
        description: Filter by asset IDs
        name: assetIds
        in: query
      - schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
          description: Filter by profile IDs
          example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
        required: false
        description: Filter by profile IDs
        name: profileIds
        in: query
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          example: 'true'
          description: Filter by ignored status
        required: false
        description: Filter by ignored status
        name: ignored
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - APPLICATION_CREATION
            - CI
            - INVENTORY
            - MANUAL
            - SCHEDULED
            - UNKNOWN
          description: Filter by initiator
        required: false
        description: Filter by initiator
        name: initiator
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - ASM_AKAMAI_ACCOUNT
            - ASM_AWS_ACCOUNT
            - ASM_AWS_LAMBDA
            - ASM_AZURE_TENANT
            - ASM_BITBUCKET_ORGANIZATION
            - ASM_BITBUCKET_REPOSITORY
            - ASM_BURPSUITE_EXPORT
            - ASM_CLOUDFLARE_ACCOUNT
            - ASM_CODE_PROJECT
            - ASM_DNS
            - ASM_GCP_PROJECT
            - ASM_GITHUB_ORGANIZATION
            - ASM_GITHUB_REPOSITORY
            - ASM_GITLAB_GROUP
            - ASM_GITLAB_REPOSITORY
            - ASM_GRAPHQL
            - ASM_GRAPHQL_SCHEMA
            - ASM_GRPC
            - ASM_HAR_EXPORT
            - ASM_INSOMNIA
            - ASM_IPV4
            - ASM_IPV4_RANGE
            - ASM_IPV6
            - ASM_KUBERNETES_CLUSTER
            - ASM_MCP
            - ASM_OPENAPI
            - ASM_PACKAGE
            - ASM_POSTMAN_COLLECTION
            - ASM_POSTMAN_ENVIRONMENT
            - ASM_POSTMAN_ORGANIZATION
            - ASM_REST
            - ASM_SOAP
            - ASM_SOFTWARE
            - ASM_WEBAPP
            - ASM_WEBSOCKET
            - ASM_WIZ_ACCOUNT
            - ASM_WP_JSON
            - AUTOMATED_PENTEST_GRAPHQL
            - AUTOMATED_PENTEST_REST
            - AUTOMATED_PENTEST_WEBAPP
            - BLST_GRAPHQL
            - BLST_REST
            - FRONTEND_DAST
          description: Filter by kind
        required: false
        description: Filter by kind
        name: kinds
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - CANCELED
            - FAILED
            - FINISHED
            - RUNNING
            - STARTING
          description: Filter by status
        required: false
        description: Filter by status
        name: status
        in: query
      - schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
          description: Filter by project IDs
          example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
        required: false
        description: Filter by project IDs
        name: projectIds
        in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  nextCursor:
                    type:
                    - string
                    - 'null'
                  totalCount:
                    type: integer
                    default: 100
                    example: 20
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: The id of the scan
                        status:
                          type: string
                          description: The status of the scan
                        createdAt:
                          type: string
                          description: The date and time the scan was created
                        finishedAt:
                          type:
                          - string
                          - 'null'
                          description: The date and time the scan was finished
                        score:
                          type:
                          - number
                          - 'null'
                          description: The score of the scan
                        coverage:
                          type:
                          - number
                          - 'null'
                          description: Aggregate API coverage ratio for this scan (0–1), when the scan has finished with coverage data
                        duration:
                          type: number
                          description: The duration of the scan
                        progressRatio:
                          type: number
                          description: The progress ratio of the scan
                        initiator:
                          type: string
                          description: The initiator of the scan
                        kind:
                          type: string
                          description: The kind of the scan
                        commitHash:
                          type:
                          - string
                          - 'null'
                          description: The commit hash of the scan
                        commitBranch:
                          type:
                          - string
                          - 'null'
                          description: The commit branch of the scan
                        links:
                          type: object
                          properties:
                            scanIssues:
                              type: string
                              description: The url to view the scan issues in the platform
                          required:
                          - scanIssues
                          description: The links of the scan
                      required:
                      - id
                      - status
                      - createdAt
                      - finishedAt
                      - score
                      - coverage
                      - duration
                      - progressRatio
                      - initiator
                      - kind
                      - commitHash
                      - commitBranch
                      - links
                      title: ScanSummarized
                      description: Summarized information about a scan
                required:
                - nextCursor
                - data
        '400':
          description: Pagination error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    enum:
                    - Invalid cursor
                  details:
                    type: string
                required:
                - message
                - details
                title: PaginationError
                description: Returned when an invalid pagination cursor is supplied
    post:
      tags:
      - Scans
      summary: Start a new scan
      operationId: startScan
      description: Start a new scan
      requestBody:
        description: Body of the request to start a new scan
        content:
          application/json:
            schema:
              type: object
              properties:
                profileId:
                  type: string
                  description: The profile ID to use
                  example: 00000000-0000-0000-0000-000000000000
                commitHash:
                  type: string
                  description: The commit hash to scan
                  example: abc123
                commitLink:
                  type: string
                  description: The commit link to scan
                  example: https://example.com/example
                commitBranch:
                  type: string
                  description: The commit branch to scan
                  example: master
                commitAuthor:
                  type: string
                  description: The commit author to scan
                  example: alice
                commitAuthorProfilePictureLink:
                  type: string
                  description: The commit author profile picture link to scan
                  example: https://example.com/example.png
                configurationOverride:
                  description: The configuration override to use
                  examples:
                  - mode: read_write
                  - '{"mode":"read_write"}'
                initiator:
                  type:
                  - string
                  - 'null'
                  enum:
                  - CI
                  - MANUAL
                  - SCHEDULED
                  - null
                  default: CI
                  description: The initiator of the scan
              required:
              - profileId
            example:
              profileId: 00000000-0000-0000-0000-000000000000
              initiator: MANUAL
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: The id of the scan
                  status:
                    type: string
                    description: The status of the scan
                  createdAt:
                    type: string
                    description: The date and time the scan was created
                  updatedAt:
                    type: string
                    description: The date and time the scan was updated
                  finishedAt:
                    type:
                    - string
                    - 'null'
                    description: The date and time the scan was finished
                  score:
                    type:
                    - number
                    - 'null'
                    description: The score of the scan
                  coverage:
                    type:
                    - number
                    - 'null'
                    description: Aggregate API coverage ratio for this scan (0–1), when the scan has finished with coverage data
                  duration:
                    type: number
                    description: The duration of the scan
                  progressRatio:
                    type: number
                    description: The progress ratio of the scan
                  initiator:
                    type: string
                    description: The initiator of the scan
                  kind:
                    type: string
                    description: The kind of the scan
                  profileId:
                    type: string
                    description: The id of the profile of the scan
                  organizationId:
                    type: string
                    description: The id of the organization of the scan
                  commitHash:
                    type:
                    - string
                    - 'null'
                  commitBranch:
                    type:
                    - string
                    - 'null'
                  commitAuthor:
                    type:
                    - string
                    - 'null'
                  commitLink:
                    type:
                    - string
                    - 'null'
                  commitAuthorProfilePictureLink:
                    type:
                    - string
                    - 'null'
                  links:
                    type: object
                    properties:
                      scanIssues:
                        type: string
                        description: URL to view the scan issues in the platform
                    required:
                    - scanIssues
                required:
                - id
                - status
                - createdAt
                - updatedAt
                - finishedAt
                - score
                - coverage
                - duration
                - progressRatio
                - initiator
                - kind
                - profileId
                - organizationId
                - commitHash
                - commitBranch
                - commitAuthor
                - commitLink
                - commitAuthorProfilePictureLink
                - links
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    enum:
                    - Bad Request
                  details:
                    type: string
                required:
                - message
                - details
                title: BadRequest
                description: Returned when the request payload fails validation
  /scans/problems:
    get:
      tags:
      - Scans
      summary: List scans with their problems
      operationId: scansProblems
      description: List scans together with the validation problems surfaced by the scanner during execution. Diagnostic counterpart of GET /v3/profiles/problems, but indexed by scan instead of profile.
      parameters:
      - schema:
          type: string
          description: The cursor to start the pagination from. Returned by the previous page response. If not provided, the first page will be returned.
          example: R1BDOlM6NTEwMzk4NTYtNGIyOS00NTlkLTg0ZDYtMWJhYjM0NWMzZjU5
        required: false
        description: The cursor to start the pagination from. Returned by the previous page response. If not provided, the first page will be returned.
        name: cursor
        in: query
      - schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 50
          description: The number of items to return per page
          example: 50
        required: false
        description: The number of items to return per page
        name: size
        in: query
      - schema:
          type: string
          enum:
          - SEVERITY
          - createdAt
          description: The type to sort by
        required: false
        description: The type to sort by
        name: sortType
        in: query
      - schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
          description: The direction to sort by
        required: false
        description: The direction to sort by
        name: sortDirection
        in: query
      - schema:
          type: string
          description: Filter by after date
          example: '2025-03-15T09:00:00Z'
        required: false
        description: Filter by after date
        name: after
        in: query
      - schema:
          type: string
          description: Filter by before date
          example: '2025-03-15T09:00:00Z'
        required: false
        description: Filter by before date
        name: before
        in: query
      - schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
          description: Filter by asset IDs
          example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
        required: false
        description: Filter by asset IDs
        name: assetIds
        in: query
      - schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
          description: Filter by profile IDs
          example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
        required: false
        description: Filter by profile IDs
        name: profileIds
        in: query
      - schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
          description: Filter by project IDs
          example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
        required: false
        description: Filter by project IDs
        name: projectIds
        in: query
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          example: 'true'
          description: Filter by ignored status
        required: false
        description: Filter by ignored status
        name: ignored
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - APPLICATION_CREATION
            - CI
            - INVENTORY
            - MANUAL
            - SCHEDULED
            - UNKNOWN
          description: Filter by initiator
        required: false
        description: Filter by initiator
        name: initiator
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - ASM_AKAMAI_ACCOUNT
            - ASM_AWS_ACCOUNT
            - ASM_AWS_LAMBDA
            - ASM_AZURE_TENANT
            - ASM_BITBUCKET_ORGANIZATION
            - ASM_BITBUCKET_REPOSITORY
            - ASM_BURPSUITE_EXPORT
            - ASM_CLOUDFLARE_ACCOUNT
            - ASM_CODE_PROJECT
            - ASM_DNS
            - ASM_GCP_PROJECT
            - ASM_GITHUB_ORGANIZATION
            - ASM_GITHUB_REPOSITORY
            - ASM_GITLAB_GROUP
            - ASM_GITLAB_REPOSITORY
            - ASM_GRAPHQL
            - ASM_GRAPHQL_SCHEMA
            - ASM_GRPC
            - ASM_HAR_EXPORT
            - ASM_INSOMNIA
            - ASM_IPV4
            - ASM_IPV4_RANGE
            - ASM_IPV6
            - ASM_KUBERNETES_CLUSTER
            - ASM_MCP
            - ASM_OPENAPI
            - ASM_PACKAGE
            - ASM_POSTMAN_COLLECTION
            - ASM_POSTMAN_ENVIRONMENT
            - ASM_POSTMAN_ORGANIZATION
            - ASM_REST
            - ASM_SOAP
            - ASM_SOFTWARE
            - ASM_WEBAPP
            - ASM_WEBSOCKET
            - ASM_WIZ_ACCOUNT
            - ASM_WP_JSON
            - AUTOMATED_PENTEST_GRAPHQL
            - AUTOMATED_PENTEST_REST
            - AUTOMATED_PENTEST_WEBAPP
            - BLST_GRAPHQL
            - BLST_REST
            - FRONTEND_DAST
          description: Filter by kind
        required: false
        description: Filter by kind
        name: kinds
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - CANCELED
            - FAILED
            - FINISHED
            - RUNNING
            - STARTING
          description: Filter by status
        required: false
        description: Filter by status
        name: status
        in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  nextCursor:
                    type:
                    - string
                    - 'null'
                  totalCount:
                    type: integer
                    default: 100
                    example: 20
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: The id of the scan
                        status:
                          type: string
                          description: The status of the scan
                        createdAt:
                          type: string
                          description: The date and time the scan was created
                        finishedAt:
                          type:
                          - string
                          - 'null'
                          description: The date and time the scan was finished
                        score:
                          type:
                          - number
                          - 'null'
                          description: The score of the scan
                        coverage:
                          type:
                          - number
                          - 'null'
                          description: Aggregate API coverage ratio for this scan (0–1), when the scan has finished with coverage data
                        duration:
                          type: number
                          description: The duration of the scan
                        progressRatio:
                          type: number
                          description: The progress ratio of the scan
                        initiator:
                          type: string
                          description: The initiator of the scan
                        kind:
                          type: string
                          description: The kind of the scan
                        commitHash:
                          type:
                          - string
                          - 'null'
                          description: The commit hash of the scan
                        commitBranch:
                          type:
                          - string
                          - 'null'
                          description: The commit branch of the scan
                        links:
                          type: object
                          properties:
                            scanIssues:
                              type: string
                              description: The url to view the scan issues in the platform
                          required:
                          - scanIssues
                          description: The links of the scan
                        problems:
                          type: array
                          items:
                            type: object
                            properties:
                              code:
                                type: string
                                description: The problem code
                              message:
                                type: string
                                description: The problem message
                              severity:
                                type: string
                                description: The problem severity
                            required:
                            - code
                            - message
                            - severity
                          description: The problems found in the scan
                      required:
                      - id
                      - status
                      - createdAt
                      - finishedAt
                      - score
                      - coverage
                      - duration
                      - progressRatio
                      - initiator
                      - kind
                      - commitHash
                      - commitBranch
                      - links
                      - problems
                      title: ScanSummarizedWithProblems
                      description: Summarized scan information including validation problems
                required:
                - nextCursor
                - data
        '400':
          description: Pagination error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    enum:
                    - Invalid cursor
                  details:
                    type: string
                required:
                - message
                - details
                title: PaginationError
                description: Returned when an invalid pagination cursor is supplied
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    enum:
                    - Internal Server Error
                  details:
                    type: string
                required:
                - message
                - details
                title: InternalServerError
                description: Returned when the server fails to fulfil the request
  /scans/{scanId}:
    get:
      tags:
      - Scans
      summary: Get a scan
      operationId: getScan
      description: Get a scan by ID
      parameters:
      - schema:
          type: string
          description: The scan ID
          example: 00000000-0000-0000-0000-000000000000
        required: true
        description: The scan ID
        name: scanId
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: The id of the scan
                  status:
                    type: string
                    description: The status of the scan
                  createdAt:
                    type: string
                    description: The date and time the scan was created
                  updatedAt:
                    type: string
                    description: The date and time the scan was updated
                  finishedAt:
                    type:
                    - string
                    - 'null'
                    description: The date and time the scan was finished
                  score:
                    type:
                    - number
                    - 'null'
                    description: The score of the scan
                  coverage:
                    type:
                    - number
                    - 'null'
                    description: Aggregate API coverage ratio for this scan (0–1), when the scan has finished with coverage data
                  duration:
                    type: number
                    description: The duration of the scan
                  progressRatio:
                    type: number
                    description: The progress ratio of the scan
                  initiator:
                    type: string
                    description: The initiator of the scan
                  kind:
                    type: string
                    description: The kind of the scan
                  profileId:
                    type: string
                    description: The id of the profile of the scan
                  organizationId:
                    type: string
                    description: The id of the organization of the scan
                  commitHash:
                    type:
                    - string
                    - 'null'
                  commitBranch:
                    type:
                    - string
                    - 'null'
                  commitAuthor:
                    type:
                    - string
                    - 'null'
                  commitLink:
                    type:
                    - string
                    - 'null'
                  commitAuthorProfilePictureLink:
                    type:
                    - string
                    - 'null'
                  links:
                    type: object
                    properties:
                      scanIssues:
                        type: string
                        description: URL to view the scan issues in the platform
                    required:
                    - scanIssues
                required:
                - id
                - status
                - createdAt
                - updatedAt
                - finishedAt
                - score
                - coverage
                - duration
                - progressRatio
                - initiator
                - kind
                - profileId
                - organizationId
                - commitHash
                - commitBranch
                - commitAuthor
                - commitLink
                - commitAuthorProfilePictureLink
                - links
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    enum:
                    - Not found
                required:
                - mes

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