Escape Jobs API
Asynchronous jobs. Trigger export jobs and poll for completion and artefacts.
Asynchronous jobs. Trigger export jobs and poll for completion and artefacts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/escape-jobs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.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