Escape Events API
Manage events. The public API provides basic CRUDs operations to manage events.
Manage events. The public API provides basic CRUDs operations to manage events.
openapi: 3.1.0
info:
version: 3.0.0
title: Escape Public Asm Events 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: Events
description: 'Manage events.
The public API provides basic CRUDs operations to manage events.'
paths:
/events:
get:
tags:
- Events
summary: List events
operationId: listEvents
description: List and search events 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:
- DATE
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: Search term to filter events by name or description
example: event1
required: false
description: Search term to filter events by name or description
name: search
in: query
- schema:
anyOf:
- type: string
- type: array
items:
type: string
description: Filter by scan IDs
example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
required: false
description: Filter by scan IDs
name: scanIds
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 issue IDs
example: 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001
required: false
description: Filter by issue IDs
name: issueIds
in: query
- schema:
type: array
items:
type: string
enum:
- DEBUG
- ERROR
- INFO
- WARNING
description: Filter by level
required: false
description: Filter by level
name: levels
in: query
- schema:
type: array
items:
type: string
enum:
- AGENT_ACTION
- AGENT_REASONING
- CONFIGURATION
- EXECUTION
description: Filter by stage
required: false
description: Filter by stage
name: stages
in: query
- schema:
type: string
enum:
- 'true'
- 'false'
example: 'true'
description: Filter by attachments
required: false
description: Filter by attachments
name: hasAttachments
in: query
- schema:
type: array
items:
type: string
enum:
- ANY
- EXCHANGE
- GRAPH
- OPENAPI_SPEC
- SCREENSHOT
- SNIPPET
description: Filter by attachments
required: false
description: Filter by attachments
name: attachments
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 event
createdAt:
type: string
description: The date and time the event was created
title:
type: string
description: The title of the event
level:
type: string
enum:
- DEBUG
- ERROR
- INFO
- WARNING
description: The level of the event
stage:
type: string
enum:
- AGENT_ACTION
- AGENT_REASONING
- CONFIGURATION
- EXECUTION
description: The stage of the event
attachments:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the attachment
createdAt:
type: string
description: The date and time the attachment was created
target:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the target
createdAt:
type: string
description: The date and time the target was created
apiRoute:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the api route
createdAt:
type: string
description: The date and time the api route was created
name:
type: string
description: The name of the api route
displayName:
type: string
description: The display name of the api route
required:
- id
- createdAt
- name
- displayName
description: The api route of the target
codeFile:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the code file
language:
type: string
description: The language of the code file
path:
type: string
description: The path of the code file
required:
- id
- language
- path
description: The code file of the target
graphqlResolver:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the graphql resolver
displayName:
type: string
description: The display name of the graphql resolver
name:
type: string
description: The name of the graphql resolver
required:
- id
- displayName
- name
description: The graphql resolver of the target
port:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the port
port:
type: number
description: The port number
protocol:
type: string
description: The protocol
required:
- id
- port
- protocol
description: The port of the target
required:
- id
- createdAt
- apiRoute
- codeFile
- graphqlResolver
- port
description: The target of the attachment
required:
- id
- createdAt
- target
description: The attachments of the event
required:
- id
- createdAt
- title
- level
- stage
title: EventSummarized
description: Summarized information about an event
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
/events/{eventId}:
get:
tags:
- Events
summary: Get an event
operationId: getEvent
description: Get an event by ID (including attachments)
parameters:
- schema:
type: string
description: The event ID
example: 00000000-0000-0000-0000-000000000000
required: true
description: The event ID
name: eventId
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
id:
type: string
format: uuid
description: The id of the event
createdAt:
type: string
description: The date and time the event was created
description:
type: string
description: The description of the event
attachments:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the attachment
createdAt:
type: string
description: The date and time the attachment was created
exchange:
type:
- object
- 'null'
properties:
createdAt:
type: string
description: The date and time the exchange was created
curl:
type: string
description: The curl of the exchange
duration:
type: number
description: The duration of the exchange
id:
type: string
format: uuid
description: The id of the exchange
inferredScalars:
type: array
items:
type: object
properties:
confidence:
type: number
description: The confidence of the inferred scalar
kind:
type: string
description: The kind of the inferred scalar
name:
type: string
description: The name of the inferred scalar
required:
- confidence
- kind
- name
title: InferredScalarDetailed
description: Detailed information about an inferred scalar
description: The inferred scalars of the exchange
responseBody:
type: string
description: The response body of the exchange
responseHeaders:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the http header
values:
type: array
items:
type: string
description: The values of the http header
required:
- name
- values
title: HttpHeaderDetailed
description: Detailed information about a http header
description: The response headers of the exchange
responseStatusCode:
type: number
description: The response status code of the exchange
url:
type: string
description: The url of the exchange
required:
- createdAt
- curl
- duration
- id
- inferredScalars
- responseBody
- responseHeaders
- responseStatusCode
- url
title: ExchangeDetailed
description: The exchange of the attachment
generatedOpenapiSpec:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the generated openapi spec
createdAt:
type: string
description: The date and time the generated openapi spec was created
temporarySignedUrl:
type: string
description: The temporary signed url of the generated openapi spec
required:
- id
- createdAt
- temporarySignedUrl
title: GeneratedOpenapiSpecDetailed
description: The generated openapi spec of the attachment
graph:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the graph
createdAt:
type: string
description: The date and time the graph was created
temporarySignedUrl:
type: string
description: The temporary signed url of the graph
required:
- id
- createdAt
- temporarySignedUrl
title: GraphDetailed
description: The graph of the attachment
screenshot:
type:
- object
- 'null'
properties:
alt:
type:
- string
- 'null'
description: The alt of the screenshot
createdAt:
type: string
description: The date and time the screenshot was created
id:
type: string
format: uuid
description: The id of the screenshot
temporarySignedUrl:
type: string
description: The temporary signed url of the screenshot
required:
- alt
- createdAt
- id
- temporarySignedUrl
title: ScreenshotDetailed
description: The screenshot of the attachment
snippet:
type:
- object
- 'null'
properties:
createdAt:
type: string
description: The date and time the snippet was created
id:
type: string
format: uuid
description: The id of the snippet
language:
type: string
description: The language of the snippet
name:
type: string
description: The name of the snippet
snippet:
type: string
description: The snippet of the snippet
url:
type:
- string
- 'null'
description: The url of the snippet
required:
- createdAt
- id
- language
- name
- snippet
- url
title: SnippetDetailed
description: The snippet of the attachment
target:
type:
- object
- 'null'
properties:
createdAt:
type: string
description: The date and time the target was created
apiRoute:
type:
- object
- 'null'
properties:
blacklisted:
type: boolean
description: Whether the api route is blacklisted
createdAt:
type: string
description: The date and time the api route was created
displayName:
type: string
description: The display name of the api route
id:
type: string
format: uuid
description: The id of the api route
name:
type: string
description: The name of the api route
operation:
type: string
description: The operation of the api route
parameters:
type:
- object
- 'null'
additionalProperties:
type: string
description: The parameters of the api route
requestCount:
type: number
description: The request count of the api route
meanDuration:
type:
- number
- 'null'
description: Mean HTTP duration for this route in milliseconds, when available
coverage:
type:
- string
- 'null'
enum:
- BROKEN_PIPE
- NOT_FOUND
- OK
- RATE_LIMIT
- REDIRECTION
- REPEATER_ERROR
- SERVER_ERROR
- TIMEOUT
- UNAUTHORIZED
- UNKNOWN
- VALIDATION_ERROR
- null
description: Coverage status for this REST endpoint (e.g. OK, UNAUTHORIZED, BLOCKLISTED)
coverageByUser:
type:
- array
- 'null'
items:
type: object
properties:
name:
type: string
description: User or session label associated with this target entry
coverage:
type: string
enum:
- BROKEN_PIPE
- NOT_FOUND
- OK
- RATE_LIMIT
- REDIRECTION
- REPEATER_ERROR
- SERVER_ERROR
- TIMEOUT
- UNAUTHORIZED
- UNKNOWN
- VALIDATION_ERROR
description: Coverage status for that user/session
required:
- name
- coverage
title: CoverageByUserEntry
description: Per-user or per-session coverage breakdown when available
returnType:
type:
- string
- 'null'
description: The return type of the api route
source:
type: string
enum:
- SOURCE_INFERRED
- SOURCE_SPECIFICATION
description: The source of the api route
required:
- blacklisted
- createdAt
- displayName
- id
- name
- operation
- requestCount
- coverage
- source
title: ApiRouteDetailed
description: The api route of the target
codeFile:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The id of the code file
language:
type: string
description: The language of the code file
path:
type: string
description: The path of the code file
required:
- id
- language
- path
title: CodeFileDetailed
description: The code file of the target
graphqlResolver:
type:
- object
- 'null'
properties:
blacklisted:
type: boolean
description: Whether the graphql resolver is blacklisted
createdAt:
type: string
description: The date and time the graphql resolver was created
displayName:
type: string
description: The display name of the graphql resolver
id:
type: string
format: uuid
description: The id of the graphql resolver
name:
type: string
description: The name of the graphql resolver
parameters:
type:
- object
- 'null'
additionalProperties:
type: string
description: The parameters of the graphql resolver
requestCount:
type: number
description: The request count for this resolver
meanDuration:
type:
- number
- 'null'
# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/escape/refs/heads/main/openapi/escape-events-api-openapi.yml