Escape Assets API
Manage every discovered Assets. The public API provide basic CRUDs operations for all available assets. See [our documentation](https://docs.escape.tech/documentation/asm/asset-management/) for more details.
Manage every discovered Assets. The public API provide basic CRUDs operations for all available assets. See [our documentation](https://docs.escape.tech/documentation/asm/asset-management/) for more details.
openapi: 3.1.0
info:
version: 3.0.0
title: Escape Public Asm Assets 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: Assets
description: 'Manage every discovered Assets.
The public API provide basic CRUDs operations for all available assets.
See [our documentation](https://docs.escape.tech/documentation/asm/asset-management/) for more details.'
paths:
/assets:
get:
tags:
- Assets
summary: List assets
operationId: listAssets
description: List and search assets 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:
- DOMAIN
- ENDPOINTS_COUNT
- FIRST_SEEN
- LAST_SEEN
- NAME
- PORTS
- SEVERITY
- TYPE
- USED_BY_COUNT
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
example: asset1
description: Search term to filter assets by name or description
required: false
description: Search term to filter assets by name or description
name: search
in: query
- schema:
type: array
items:
type: string
enum:
- AKAMAI_ACCOUNT
- AWS_ACCOUNT
- AWS_LAMBDA
- AZURE_TENANT
- BITBUCKET_ORGANIZATION
- BITBUCKET_REPOSITORY
- BURPSUITE_EXPORT
- CLOUDFLARE_ACCOUNT
- CODE_PROJECT
- DNS
- GCP_PROJECT
- GITHUB_ORGANIZATION
- GITHUB_REPOSITORY
- GITLAB_GROUP
- GITLAB_REPOSITORY
- GRAPHQL
- GRAPHQL_SCHEMA
- GRPC
- HAR_EXPORT
- INSOMNIA
- IPV4
- IPV4_RANGE
- IPV6
- KUBERNETES_CLUSTER
- MCP
- OPENAPI
- PACKAGE
- POSTMAN_COLLECTION
- POSTMAN_ENVIRONMENT
- POSTMAN_ORGANIZATION
- REST
- SOAP
- SOFTWARE
- WEBAPP
- WEBSOCKET
- WIZ_ACCOUNT
- WP_JSON
description: Filter by type
required: false
description: Filter by type
name: types
in: query
- schema:
type: array
items:
type: string
enum:
- DEPRECATED
- FALSE_POSITIVE
- MONITORED
- OUT_OF_SCOPE
- THIRD_PARTY
description: Filter by status
required: false
description: Filter by status
name: statuses
in: query
- schema:
type: string
enum:
- 'true'
- 'false'
example: 'true'
description: Filter by manually created
required: false
description: Filter by manually created
name: manuallyCreated
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 asset
class:
type: string
enum:
- API_SERVICE
- CDN
- CLOUD_COMPONENT
- CLOUD_HOSTING
- CODE_PROJECT
- CSPM
- DEV_TOOLS
- FRONTEND
- HOST
- NETWORK
- REPOSITORY
- SCHEMA
- SOURCE_CODE_MANAGEMENT
- TECHNOLOGY
description: The class of the asset
type:
type: string
enum:
- AKAMAI_ACCOUNT
- AWS_ACCOUNT
- AWS_LAMBDA
- AZURE_TENANT
- BITBUCKET_ORGANIZATION
- BITBUCKET_REPOSITORY
- BURPSUITE_EXPORT
- CLOUDFLARE_ACCOUNT
- CODE_PROJECT
- DNS
- GCP_PROJECT
- GITHUB_ORGANIZATION
- GITHUB_REPOSITORY
- GITLAB_GROUP
- GITLAB_REPOSITORY
- GRAPHQL
- GRAPHQL_SCHEMA
- GRPC
- HAR_EXPORT
- INSOMNIA
- IPV4
- IPV4_RANGE
- IPV6
- KUBERNETES_CLUSTER
- MCP
- OPENAPI
- PACKAGE
- POSTMAN_COLLECTION
- POSTMAN_ENVIRONMENT
- POSTMAN_ORGANIZATION
- REST
- SOAP
- SOFTWARE
- WEBAPP
- WEBSOCKET
- WIZ_ACCOUNT
- WP_JSON
description: The type of the asset
name:
type: string
description: The name of the asset
externalUrl:
type:
- string
- 'null'
description: The external url of the asset
faviconUrl:
type:
- string
- 'null'
description: The favicon url of the asset
createdAt:
type: string
description: The date and time the asset was created
lastSeenAt:
type: string
description: The date and time the asset was last seen
scheduledForDeletionAt:
type:
- string
- 'null'
description: The date and time the asset is scheduled for deletion
status:
type: string
enum:
- DEPRECATED
- FALSE_POSITIVE
- MONITORED
- OUT_OF_SCOPE
- THIRD_PARTY
description: The status of the asset
tags:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the tag
name:
type: string
description: The name of the tag
color:
type: string
description: The color of the tag
required:
- id
- name
- color
title: Tag
description: Information about a tag
description: The tags of the asset
risks:
type: array
items:
type: string
enum:
- CRITICAL_FINDING
- EXPOSED
- OPEN_SCHEMA
- PRIVATE
- PROD_ONLY_MODE
- SENSITIVE_DATA
- UNAUTHENTICATED
description: The risks of the asset
owners:
type: array
items:
type: string
format: email
description: Email addresses of the owners of this asset.
service:
type:
- object
- 'null'
properties:
url:
type: string
description: The url of the asset service
type:
type: string
enum:
- GRAPHQL
- GRPC
- MCP
- REST
- SOAP
- WEBSOCKET
description: The type of the asset service
required:
- url
- type
title: AssetServiceSummarized
description: The service of the asset
frontend:
type:
- object
- 'null'
properties:
url:
type: string
description: The url of the asset frontend
type:
type: string
enum:
- WEBAPP
description: The type of the asset frontend
required:
- url
- type
title: AssetFrontendSummarized
description: The frontend of the asset
host:
type:
- object
- 'null'
properties:
address:
type: string
description: The address of the asset host
type:
type: string
enum:
- DNS
- IPV4
- IPV6
description: The type of the asset host
required:
- address
- type
title: AssetHostSummarized
description: The host of the asset
links:
type: object
properties:
assetOverview:
type: string
description: The url to view the asset overview in the platform
required:
- assetOverview
description: The links of the asset
required:
- id
- class
- type
- name
- externalUrl
- faviconUrl
- createdAt
- lastSeenAt
- scheduledForDeletionAt
- status
- tags
- risks
- service
- frontend
- host
- links
title: AssetSummarized
description: Summarized information about an asset
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
/assets/bulk-update:
post:
tags:
- Assets
summary: Bulk update assets
operationId: bulkUpdateAssets
description: Update tags, projects, or status of multiple assets matching a filter predicate.
requestBody:
content:
application/json:
schema:
type: object
properties:
where:
type: object
properties:
assetIds:
type: array
items:
type: string
description: Filter by asset IDs
types:
type: array
items:
type: string
enum:
- AKAMAI_ACCOUNT
- AWS_ACCOUNT
- AWS_LAMBDA
- AZURE_TENANT
- BITBUCKET_ORGANIZATION
- BITBUCKET_REPOSITORY
- BURPSUITE_EXPORT
- CLOUDFLARE_ACCOUNT
- CODE_PROJECT
- DNS
- GCP_PROJECT
- GITHUB_ORGANIZATION
- GITHUB_REPOSITORY
- GITLAB_GROUP
- GITLAB_REPOSITORY
- GRAPHQL
- GRAPHQL_SCHEMA
- GRPC
- HAR_EXPORT
- INSOMNIA
- IPV4
- IPV4_RANGE
- IPV6
- KUBERNETES_CLUSTER
- MCP
- OPENAPI
- PACKAGE
- POSTMAN_COLLECTION
- POSTMAN_ENVIRONMENT
- POSTMAN_ORGANIZATION
- REST
- SOAP
- SOFTWARE
- WEBAPP
- WEBSOCKET
- WIZ_ACCOUNT
- WP_JSON
description: Filter by asset types
statuses:
type: array
items:
type: string
enum:
- DEPRECATED
- FALSE_POSITIVE
- MONITORED
- OUT_OF_SCOPE
- THIRD_PARTY
description: Filter by asset statuses
tagIds:
type: array
items:
type: string
description: Tag IDs to assign
projectIds:
type: array
items:
type: string
description: Project IDs to assign
status:
type: string
enum:
- DEPRECATED
- FALSE_POSITIVE
- MONITORED
- OUT_OF_SCOPE
- THIRD_PARTY
description: New status to apply
required:
- where
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
required:
- success
'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
/assets/bulk-delete:
post:
tags:
- Assets
summary: Bulk delete assets
operationId: bulkDeleteAssets
description: Schedule multiple assets matching a filter predicate for deletion.
requestBody:
content:
application/json:
schema:
type: object
properties:
where:
type: object
properties:
assetIds:
type: array
items:
type: string
description: Filter by asset IDs
types:
type: array
items:
type: string
enum:
- AKAMAI_ACCOUNT
- AWS_ACCOUNT
- AWS_LAMBDA
- AZURE_TENANT
- BITBUCKET_ORGANIZATION
- BITBUCKET_REPOSITORY
- BURPSUITE_EXPORT
- CLOUDFLARE_ACCOUNT
- CODE_PROJECT
- DNS
- GCP_PROJECT
- GITHUB_ORGANIZATION
- GITHUB_REPOSITORY
- GITLAB_GROUP
- GITLAB_REPOSITORY
- GRAPHQL
- GRAPHQL_SCHEMA
- GRPC
- HAR_EXPORT
- INSOMNIA
- IPV4
- IPV4_RANGE
- IPV6
- KUBERNETES_CLUSTER
- MCP
- OPENAPI
- PACKAGE
- POSTMAN_COLLECTION
- POSTMAN_ENVIRONMENT
- POSTMAN_ORGANIZATION
- REST
- SOAP
- SOFTWARE
- WEBAPP
- WEBSOCKET
- WIZ_ACCOUNT
- WP_JSON
description: Filter by asset types
statuses:
type: array
items:
type: string
enum:
- DEPRECATED
- FALSE_POSITIVE
- MONITORED
- OUT_OF_SCOPE
- THIRD_PARTY
description: Filter by asset statuses
required:
- where
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
required:
- success
'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
/assets/{assetId}:
get:
tags:
- Assets
summary: Get an asset
operationId: getAsset
description: Get an asset by ID
parameters:
- schema:
type: string
description: The asset ID
example: 00000000-0000-0000-0000-000000000000
required: true
description: The asset ID
name: assetId
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
id:
type: string
format: uuid
description: The id of the asset
class:
type: string
enum:
- API_SERVICE
- CDN
- CLOUD_COMPONENT
- CLOUD_HOSTING
- CODE_PROJECT
- CSPM
- DEV_TOOLS
- FRONTEND
- HOST
- NETWORK
- REPOSITORY
- SCHEMA
- SOURCE_CODE_MANAGEMENT
- TECHNOLOGY
type:
type: string
enum:
- AKAMAI_ACCOUNT
- AWS_ACCOUNT
- AWS_LAMBDA
- AZURE_TENANT
- BITBUCKET_ORGANIZATION
- BITBUCKET_REPOSITORY
- BURPSUITE_EXPORT
- CLOUDFLARE_ACCOUNT
- CODE_PROJECT
- DNS
- GCP_PROJECT
- GITHUB_ORGANIZATION
- GITHUB_REPOSITORY
- GITLAB_GROUP
- GITLAB_REPOSITORY
- GRAPHQL
- GRAPHQL_SCHEMA
- GRPC
- HAR_EXPORT
- INSOMNIA
- IPV4
- IPV4_RANGE
- IPV6
- KUBERNETES_CLUSTER
- MCP
- OPENAPI
- PACKAGE
- POSTMAN_COLLECTION
- POSTMAN_ENVIRONMENT
- POSTMAN_ORGANIZATION
- REST
- SOAP
- SOFTWARE
- WEBAPP
- WEBSOCKET
- WIZ_ACCOUNT
- WP_JSON
name:
type: string
description: The name of the asset
externalUrl:
type:
- string
- 'null'
description: The external url of the asset
faviconUrl:
type:
- string
- 'null'
description: The favicon url of the asset
description:
type:
- string
- 'null'
description: The description of the asset
createdAt:
type: string
description: The date and time the asset was created
lastSeenAt:
type: string
description: The date and time the asset was last seen
scheduledForDeletionAt:
type:
- string
- 'null'
description: The date and time the asset is scheduled for deletion
status:
type: string
enum:
- DEPRECATED
- FALSE_POSITIVE
- MONITORED
- OUT_OF_SCOPE
- THIRD_PARTY
description: The status of the asset
owners:
type: array
items:
type: string
description: The owners of the asset
tags:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the tag
name:
type: string
description: The name of the tag
color:
type: string
description: The color of the tag
required:
- id
- name
- color
title: Tag
description: Information about a tag
description: The tags of the asset
risks:
type: array
items:
type: string
enum:
- CRITICAL_FINDING
- EXPOSED
- OPEN_SCHEMA
- PRIVATE
- PROD_ONLY_MODE
- SENSITIVE_DATA
- UNAUTHENTICATED
description: The risks of the asset
firstSeenScan:
type:
- object
- 'null'
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: The first seen scan of the asset
lastSeenScan:
type:
- object
- 'null'
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
# --- truncated at 32 KB (1258 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/escape/refs/heads/main/openapi/escape-assets-api-openapi.yml