Escape Jobs API

Asynchronous jobs. Trigger export jobs and poll for completion and artefacts.

OpenAPI Specification

escape-jobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 3.0.0
  title: Escape Public Asm Jobs 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: Jobs
  description: 'Asynchronous jobs.


    Trigger export jobs and poll for completion and artefacts.'
paths:
  /jobs:
    post:
      tags:
      - Jobs
      summary: Trigger a template export job
      operationId: triggerExport
      description: 'Schedules the same export job as the product UI (SAAS_EXPORT_TEMPLATE): PDF/report blocks, optional scan and issue scope. Use GET /jobs/{jobId} to read status and artefact download URLs when completed.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                blocks:
                  type: array
                  items:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                        - AI_ANALYSIS
                        - ASSETS_SUMMARY
                        - COMPLIANCE_COVERAGE
                        - COMPLIANCE_CRA
                        - COMPLIANCE_CWE
                        - COMPLIANCE_DORA
                        - COMPLIANCE_FEDRAMP
                        - COMPLIANCE_GDPR
                        - COMPLIANCE_HIPAA
                        - COMPLIANCE_HITRUST_CSF
                        - COMPLIANCE_IEC62443
                        - COMPLIANCE_ISO27001
                        - COMPLIANCE_MITRE_ATTACK
                        - COMPLIANCE_NIS2
                        - COMPLIANCE_NIST
                        - COMPLIANCE_OWASP
                        - COMPLIANCE_OWASP_ASVS
                        - COMPLIANCE_OWASP_LLM
                        - COMPLIANCE_PCI_DSS
                        - COMPLIANCE_PSD2
                        - COMPLIANCE_SOC2
                        - COMPLIANCE_WASC
                        - ISSUE_DETAIL
                        - ISSUE_LIST
                        - ISSUE_SUMMARY
                        - SCAN_HISTORY_TREND
                        - SCAN_SUMMARY
                      params:
                        description: Block-specific JSON parameters (optional).
                    required:
                    - kind
                  minItems: 1
                  description: Report blocks to include, in order.
                scanId:
                  type: string
                  format: uuid
                  description: Restrict scope to a scan (optional).
                dry:
                  type: boolean
                  description: If true, validates selection only and does not schedule a job.
                assetWhere:
                  description: GraphQL AssetWhereInput JSON (optional); narrows assets like the internal API.
                profileWhere:
                  description: GraphQL ProfilesWhereInput JSON (optional).
                issueWhere:
                  description: GraphQL IssueWhereInput JSON (optional); defaults if omitted when using scan/profile scope.
              required:
              - blocks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the scheduled export job (template generation).
                required:
                - id
        '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
  /jobs/{jobId}:
    get:
      tags:
      - Jobs
      summary: Get a job
      operationId: getJob
      description: Returns job status, parameters, and artefacts (including signedUrl download links for completed export outputs).
      parameters:
      - schema:
          type: string
          format: uuid
          description: The job ID
          example: 00000000-0000-0000-0000-000000000000
        required: true
        description: The job ID
        name: jobId
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                    - COMPLETED
                    - FAILED
                    - PENDING
                    - RUNNING
                  kind:
                    type: string
                    enum:
                    - INTEGRATION_WIZ_RESEND_ISSUES
                    - MAINTENANCE_MIGRATE_PROFILE
                    - MAINTENANCE_RECOMPUTE_ISSUES_FULLNAME
                    - SAAS_AI_FALSE_POSITIVE_DETECTION
                    - SAAS_AI_FALSE_POSITIVE_DETECTION_ON_ISSUE
                    - SAAS_ARCHIVE_SCAN
                    - SAAS_ARTEFACTS_S3_MIGRATION
                    - SAAS_ASSET_FILES_S3_MIGRATION
                    - SAAS_ASSET_SCHEMA_S3_MIGRATION
                    - SAAS_ATTACHMENTS_S3_MIGRATION
                    - SAAS_BATCHED_SCHEDULE_ASM_SCANS
                    - SAAS_BATCHED_UPDATE_CACHED_DATA
                    - SAAS_BATCHED_UPDATE_ISSUE_COUNTS
                    - SAAS_BULK_CREATE_ASSETS
                    - SAAS_CANCEL_RUNNING_SCANS
                    - SAAS_CHECK_LOCATION_DOWN
                    - SAAS_DELETE_APPLICATION
                    - SAAS_DELETE_ASSETS
                    - SAAS_DELETE_INTEGRATION
                    - SAAS_DELETE_ORGANIZATION
                    - SAAS_DELETE_PROJECT
                    - SAAS_END_SCAN_ROUTINE
                    - SAAS_EVENTS_ARCHIVE_GENERATION
                    - SAAS_EXCHANGES_ARCHIVE_GENERATION
                    - SAAS_EXECUTE_WORKFLOW
                    - SAAS_EXPORT_TEMPLATE
                    - SAAS_GENERATE_ISSUE_REMEDIATION
                    - SAAS_MIGRATE_WORKFLOWS_FILTERS
                    - SAAS_POPULATE_ISSUE_SCAN_MTM
                    - SAAS_PROCESS_AGENTIC_LOGS
                    - SAAS_PROCESS_FILE_UPLOAD
                    - SAAS_REBUILD_ASSET_LINKS
                    - SAAS_RECOMPUTE_ASSET_RISKS
                    - SAAS_SCHEDULE_DEFAULT_VIEWS_SEED
                    - SAAS_SCHEDULE_ISSUE_SCAN_MTM_POPULATION
                    - SAAS_SCHEDULE_WORKFLOWS
                    - SAAS_SCHEDULE_WORKFLOWS_FILTERS_MIGRATION
                    - SAAS_SEED_DEFAULT_VIEWS
                    - SAAS_START_ASM_SCAN
                    - SAAS_TEMPORARY_SYNC_SCHEMAS_AND_SERVICES
                    - SAAS_UPSERT_ASM_PROFILES
                    - SEND_JOB_ARTEFACTS_BY_EMAIL
                    - TEST_KIND
                  createdAt:
                    type: string
                  scheduledAt:
                    type:
                    - string
                    - 'null'
                  triggeredAt:
                    type:
                    - string
                    - 'null'
                  completedAt:
                    type:
                    - string
                    - 'null'
                  parameters: {}
                  artefacts:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        kind:
                          type: string
                          enum:
                          - AUDITOR_REPORT
                          - EVENTS_ARCHIVE
                          - EXCHANGES_ARCHIVE
                          - EXECUTIVE_REPORT
                          - EXPORT_JOB_RESULT
                        name:
                          type: string
                        signedUrl:
                          type: string
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                      required:
                      - id
                      - kind
                      - name
                      - signedUrl
                      - createdAt
                      - updatedAt
                      title: JobArtefact
                      description: An artefact produced by a job; signedUrl is a time-limited download link.
                required:
                - id
                - status
                - kind
                - createdAt
                - scheduledAt
                - triggeredAt
                - completedAt
                - artefacts
        '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
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    enum:
                    - Not found
                required:
                - message
                title: NotFound
                description: Returned when the requested resource does not exist
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-ESCAPE-API-KEY