Escape Integrations API
Manage 3rd party integrations. The public API provide basic CRUDs operations for all available integrations. See [our documentation](https://https://docs.escape.tech/documentation/asm/integrations/) for more details.
Manage 3rd party integrations. The public API provide basic CRUDs operations for all available integrations. See [our documentation](https://https://docs.escape.tech/documentation/asm/integrations/) for more details.
openapi: 3.1.0
info:
version: 3.0.0
title: Escape Public Asm Integrations 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: Integrations
description: 'Manage 3rd party integrations.
The public API provide basic CRUDs operations for all available integrations.
See [our documentation](https://https://docs.escape.tech/documentation/asm/integrations/) for more details.'
paths:
/integrations/akamai:
get:
tags:
- Integrations
summary: List Akamai integrations.
operationId: listakamaiIntegrations
description: List and search Akamai integrations 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:
- NAME
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: array
items:
type: string
format: uuid
description: Filter by project IDs
required: false
description: Filter by project IDs
name: projectIds
in: query
- schema:
type: array
items:
type: string
format: uuid
description: Filter by integration IDs
required: false
description: Filter by integration IDs
name: ids
in: query
- schema:
anyOf:
- type: string
- type: array
items:
type: string
description: Filter by location IDs
required: false
description: Filter by location IDs
name: locationIds
in: query
- schema:
type: string
description: Search term to filter integrations by name or description
example: my integration
required: false
description: Search term to filter integrations by name or description
name: search
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 integration
name:
type: string
description: The name of the integration
createdAt:
type: string
format: date-time
description: The date and time the integration was created
updatedAt:
type: string
format: date-time
description: The date and time the integration was last updated
scheduledForDeletionAt:
type:
- string
- 'null'
format: date-time
description: The date and time the integration is scheduled for deletion
lastPullWorkflowAt:
type:
- string
- 'null'
format: date-time
description: The date and time the last pull workflow was executed
projects:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the project
name:
type: string
description: The name of the project
createdAt:
type: string
format: date-time
description: The date and time the project was created
bindings:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the role binding
createdAt:
type: string
format: date-time
description: The date and time the role binding was created
roleId:
type: string
format: uuid
description: The id of the role bound by the role binding
projectId:
type:
- string
- 'null'
format: uuid
description: The id of the project bound by the role binding
userId:
type: string
format: uuid
description: The id of the user bound by the role binding
required:
- id
- createdAt
- roleId
- userId
description: The bindings of the project
required:
- id
- name
- createdAt
- bindings
description: The projects of the integration
location:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
description: The location ID.
name:
type: string
description: The name of the location.
type:
type: string
description: The type of the location.
enabled:
type: boolean
description: Whether the location is enabled.
lastSeenAt:
type:
- string
- 'null'
description: The date and time the location agent last connected.
links:
type: object
properties:
locationOverview:
type: string
description: The URL of the location overview.
required:
- locationOverview
required:
- id
- name
- type
- enabled
- links
title: LocationSummarized
description: The location of the integration
kind:
type: string
enum:
- AKAMAI
- AWS
- AZURE
- BITBUCKET_REPO
- CLOUDFLARE
- CUSTOM
- DISCORD_WEBHOOK
- DNS
- EMAIL
- GCP
- GITHUB_API_KEY
- GITLAB_API_KEY
- JIRA
- KUBERNETES
- POSTMAN_API_KEY
- SLACK_WEBHOOK
- TEAMS_WEBHOOK
- WEBHOOK
- WIZ
description: The kind of the integration
valid:
type: boolean
description: Whether the integration is valid
validationErrors:
type: array
items:
type: string
description: The validation errors of the integration
required:
- id
- name
- createdAt
- updatedAt
- scheduledForDeletionAt
- lastPullWorkflowAt
- projects
- location
- kind
- valid
- validationErrors
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:
- Integrations
summary: Create Akamai integrations.
operationId: createakamaiIntegration
description: Create a Akamai integration.
requestBody:
content:
application/json:
schema:
type: object
properties:
organizationId:
type: string
format: uuid
description: The organization ID to create the integration for
name:
type: string
description: The name of the integration
parameters:
type: object
properties:
client_secret:
type: string
host:
type: string
access_token:
type: string
client_token:
type: string
required:
- client_secret
- host
- access_token
- client_token
description: The parameters of the integration
proxyId:
type: string
format: uuid
description: Optional proxy ID to create the integration for
example: 00000000-0000-0000-0000-000000000000
projectIds:
type: array
items:
type: string
format: uuid
description: Optional list of project IDs to create the integration for
example:
- 00000000-0000-0000-0000-000000000000
- 00000000-0000-0000-0000-000000000001
required:
- name
- parameters
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
id:
type: string
format: uuid
description: The id of the integration
name:
type: string
description: The name of the integration
createdAt:
type: string
format: date-time
description: The date and time the integration was created
updatedAt:
type: string
format: date-time
description: The date and time the integration was last updated
scheduledForDeletionAt:
type:
- string
- 'null'
format: date-time
description: The date and time the integration is scheduled for deletion
lastPullWorkflowAt:
type:
- string
- 'null'
format: date-time
description: The date and time the last pull workflow was executed
kind:
type: string
enum:
- AKAMAI
- AWS
- AZURE
- BITBUCKET_REPO
- CLOUDFLARE
- CUSTOM
- DISCORD_WEBHOOK
- DNS
- EMAIL
- GCP
- GITHUB_API_KEY
- GITLAB_API_KEY
- JIRA
- KUBERNETES
- POSTMAN_API_KEY
- SLACK_WEBHOOK
- TEAMS_WEBHOOK
- WEBHOOK
- WIZ
description: The kind of the integration
valid:
type: boolean
description: Whether the integration is valid
validationErrors:
type: array
items:
type: string
description: The validation errors of the integration
organizationId:
type: string
format: uuid
description: The id of the organization the integration belongs to
projects:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the project
name:
type: string
description: The name of the project
createdAt:
type: string
format: date-time
description: The date and time the project was created
bindings:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the role binding
createdAt:
type: string
format: date-time
description: The date and time the role binding was created
roleId:
type: string
format: uuid
description: The id of the role bound by the role binding
projectId:
type:
- string
- 'null'
format: uuid
description: The id of the project bound by the role binding
userId:
type: string
format: uuid
description: The id of the user bound by the role binding
required:
- id
- createdAt
- roleId
- userId
description: The bindings of the project
required:
- id
- name
- createdAt
- bindings
description: The projects of the integration
parameters:
type: object
properties:
client_secret:
type: string
host:
type: string
access_token:
type: string
client_token:
type: string
required:
- client_secret
- host
- access_token
- client_token
description: The parameters of the integration
location:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
default: 00000000-0000-0000-0000-000000000000
description: The location ID.
name:
type: string
default: Location Name
description: The name of the location.
type:
type: string
default: Location Type
description: The type of the location.
enabled:
type: boolean
default: true
description: Whether the location is enabled.
createdAt:
type: string
default: '2021-01-01T00:00:00Z'
description: The date and time the location was created.
lastSeenAt:
type:
- string
- 'null'
default: '2021-01-01T00:00:00Z'
description: The date and time the location was last seen.
links:
type: object
properties:
locationOverview:
type: string
description: The URL of the location overview.
required:
- locationOverview
required:
- links
title: LocationDetailed
description: The location of the integration
required:
- id
- name
- createdAt
- updatedAt
- scheduledForDeletionAt
- lastPullWorkflowAt
- kind
- valid
- validationErrors
- organizationId
- projects
- parameters
- location
'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
/integrations/akamai/{id}:
get:
tags:
- Integrations
summary: Get Akamai integration.
operationId: getakamaiIntegration
description: Get a Akamai integration.
parameters:
- schema:
type: string
description: The integration ID
example: 00000000-0000-0000-0000-000000000000
required: true
description: The integration ID
name: id
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
id:
type: string
format: uuid
description: The id of the integration
name:
type: string
description: The name of the integration
createdAt:
type: string
format: date-time
description: The date and time the integration was created
updatedAt:
type: string
format: date-time
description: The date and time the integration was last updated
scheduledForDeletionAt:
type:
- string
- 'null'
format: date-time
description: The date and time the integration is scheduled for deletion
lastPullWorkflowAt:
type:
- string
- 'null'
format: date-time
description: The date and time the last pull workflow was executed
kind:
type: string
enum:
- AKAMAI
- AWS
- AZURE
- BITBUCKET_REPO
- CLOUDFLARE
- CUSTOM
- DISCORD_WEBHOOK
- DNS
- EMAIL
- GCP
- GITHUB_API_KEY
- GITLAB_API_KEY
- JIRA
- KUBERNETES
- POSTMAN_API_KEY
- SLACK_WEBHOOK
- TEAMS_WEBHOOK
- WEBHOOK
- WIZ
description: The kind of the integration
valid:
type: boolean
description: Whether the integration is valid
validationErrors:
type: array
items:
type: string
description: The validation errors of the integration
organizationId:
type: string
format: uuid
description: The id of the organization the integration belongs to
projects:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the project
name:
type: string
description: The name of the project
createdAt:
type: string
format: date-time
description: The date and time the project was created
bindings:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: The id of the role binding
createdAt:
type: string
format: date-time
description: The date and time the role binding was created
roleId:
type: string
format: uuid
description: The id of the role bound by the role binding
projectId:
type:
- string
- 'null'
format: uuid
description: The id of the project bound by the role binding
userId:
type: string
format: uuid
description: The id of the user bound by the role binding
required:
- id
- createdAt
- roleId
- userId
description: The bindings of the project
required:
- id
- name
- createdAt
- bindings
description: The projects of the integration
parameters:
type: object
properties:
client_secret:
type: string
host:
type: string
access_token:
type: string
client_token:
type: string
required:
- client_secret
- host
- access_token
- client_token
description: The parameters of the integration
location:
type:
- object
- 'null'
properties:
id:
type: string
format: uuid
default: 00000000-0000-0000-0000-000000000000
description: The location ID.
name:
type: string
default: Location Name
description: The name of the location.
type:
type: string
default: Location Type
description: The type of the location.
enabled:
type: boolean
default: true
description: Whether the location is enabled.
createdAt:
type: string
default: '2021-01-01T00:00:00Z'
description: The date and time the location was created.
lastSeenAt:
type:
- string
- 'null'
default: '2021-01-01T00:00:00Z'
description: The date and time the location was last seen.
links:
type: object
properties:
locationOverview:
type: string
description: The URL of the location overview.
required:
- locationOverview
required:
- links
title: LocationDetailed
description: The location of the integration
required:
- id
- name
- createdAt
- updatedAt
- scheduledForDeletionAt
- lastPullWorkflowAt
- kind
- valid
- validationErrors
- organizationId
- projects
- parameters
- location
'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
put:
tags:
- Integrations
summary: Update Akamai integration.
operationId: updateakamaiIntegration
description: Update a Akamai integration.
parameters:
- schema:
type: string
format: uuid
description: The integration ID
example: 00000000-0000-0000-0000-000000000000
required: true
description: The integration ID
name: id
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The new name of the integration
parameters:
type: object
properties:
client_secret:
type: string
host:
type: string
access_token:
type: string
client_token:
type: string
required:
- client_secret
- host
- access_token
- client_token
description: The new parameters of the integration
proxyId:
# --- truncated at 32 KB (659 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/escape/refs/heads/main/openapi/escape-integrations-api-openapi.yml