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.

OpenAPI Specification

escape-integrations-api-openapi.yml Raw ↑
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