tessl.io Integrations API

Third-party integrations (GitHub, GitLab, etc).

OpenAPI Specification

tesslio-integrations-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Tessl Admin Keys Integrations API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Integrations
  description: Third-party integrations (GitHub, GitLab, etc).
paths:
  /experimental/workspaces/{workspaceId}/integrations:
    get:
      tags:
      - Integrations
      description: Lists integrations (GitHub, GitLab, Linear) configured for a workspace.
      parameters:
      - schema:
          default: -updatedAt
          anyOf:
          - type: array
            items:
              anyOf:
              - type: string
                enum:
                - updatedAt
              - type: string
                enum:
                - -updatedAt
          - anyOf:
            - type: string
              enum:
              - updatedAt
            - type: string
              enum:
              - -updatedAt
        in: query
        name: sort
        required: false
      - schema:
          minimum: 1
          maximum: 100
          default: 100
          type: number
        in: query
        name: page[size]
        required: false
      - schema:
          type: string
        in: query
        name: page[after]
        required: false
      - schema:
          type: string
        in: query
        name: page[before]
        required: false
      - schema:
          type: string
        in: path
        name: workspaceId
        required: true
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - links
                - meta
                - data
                properties:
                  links:
                    type: object
                    required:
                    - self
                    - next
                    - prev
                    properties:
                      self:
                        format: uri
                        type: string
                      next:
                        anyOf:
                        - format: uri
                          type: string
                        - type: 'null'
                      prev:
                        anyOf:
                        - format: uri
                          type: string
                        - type: 'null'
                  meta:
                    type: object
                    required:
                    - count
                    properties:
                      count:
                        type: number
                  data:
                    type: array
                    items:
                      type: object
                      required:
                      - id
                      - type
                      - attributes
                      properties:
                        id:
                          format: uuid
                          type: string
                        type:
                          type: string
                          enum:
                          - integration
                        attributes:
                          anyOf:
                          - type: object
                            required:
                            - type
                            - installedBy
                            - connectionData
                            - metadata
                            - createdAt
                            - updatedAt
                            properties:
                              type:
                                type: string
                                enum:
                                - github-app
                              installedBy:
                                format: uuid
                                type: string
                              connectionData:
                                type: object
                                required:
                                - installationId
                                - installationTarget
                                properties:
                                  installationId:
                                    type: number
                                  installationTarget:
                                    type: string
                              metadata:
                                type: object
                                required:
                                - installedByGitHubUser
                                - installedIntoAccountName
                                - installedIntoAccountType
                                properties:
                                  installedByGitHubUser:
                                    type: number
                                  installedIntoAccountName:
                                    type: string
                                  installedIntoAccountType:
                                    anyOf:
                                    - type: string
                                      enum:
                                      - organization
                                    - type: string
                                      enum:
                                      - user
                                    - type: string
                                      enum:
                                      - enterprise
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                          - type: object
                            required:
                            - type
                            - installedBy
                            - connectionData
                            - metadata
                            - createdAt
                            - updatedAt
                            properties:
                              type:
                                type: string
                                enum:
                                - github-app-agent
                              installedBy:
                                format: uuid
                                type: string
                              connectionData:
                                type: object
                                required:
                                - installationId
                                - installationTarget
                                properties:
                                  installationId:
                                    type: number
                                  installationTarget:
                                    type: string
                              metadata:
                                type: object
                                required:
                                - installedByGitHubUser
                                - installedIntoAccountName
                                - installedIntoAccountType
                                properties:
                                  installedByGitHubUser:
                                    type: number
                                  installedIntoAccountName:
                                    type: string
                                  installedIntoAccountType:
                                    anyOf:
                                    - type: string
                                      enum:
                                      - organization
                                    - type: string
                                      enum:
                                      - user
                                    - type: string
                                      enum:
                                      - enterprise
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                          - type: object
                            required:
                            - type
                            - installedBy
                            - connectionData
                            - metadata
                            - createdAt
                            - updatedAt
                            properties:
                              type:
                                type: string
                                enum:
                                - gitlab-token
                              installedBy:
                                format: uuid
                                type: string
                              connectionData:
                                anyOf:
                                - type: object
                                  required:
                                  - scopeType
                                  - host
                                  - groupPath
                                  - secretId
                                  properties:
                                    scopeType:
                                      type: string
                                      enum:
                                      - group
                                    host:
                                      type: string
                                    groupPath:
                                      type: string
                                    secretId:
                                      type: string
                                - type: object
                                  required:
                                  - scopeType
                                  - host
                                  - projectPath
                                  - secretId
                                  properties:
                                    scopeType:
                                      type: string
                                      enum:
                                      - project
                                    host:
                                      type: string
                                    projectPath:
                                      type: string
                                    secretId:
                                      type: string
                              metadata:
                                type: object
                                properties: {}
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                          - type: object
                            required:
                            - type
                            - installedBy
                            - connectionData
                            - metadata
                            - createdAt
                            - updatedAt
                            properties:
                              type:
                                type: string
                                enum:
                                - linear
                              installedBy:
                                format: uuid
                                type: string
                              connectionData:
                                type: object
                                required:
                                - linearOrganizationId
                                - agentAppUserId
                                properties:
                                  linearOrganizationId:
                                    type: string
                                  agentAppUserId:
                                    type: string
                                  targetRepo:
                                    type: string
                                  taskDelegation:
                                    additionalProperties: false
                                    type: object
                                    required:
                                    - entrypoint
                                    properties:
                                      entrypoint:
                                        additionalProperties: false
                                        type: object
                                        required:
                                        - plugin
                                        - skill
                                        properties:
                                          plugin:
                                            type: string
                                          skill:
                                            type: string
                                      delegationStateName:
                                        type: string
                                      environmentName:
                                        minLength: 1
                                        type: string
                                  scope:
                                    type: string
                                  reconnectRequired:
                                    type: boolean
                              metadata:
                                type: object
                                properties:
                                  linearOrganizationName:
                                    type: string
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                          - type: object
                            required:
                            - type
                            - installedBy
                            - connectionData
                            - metadata
                            - createdAt
                            - updatedAt
                            properties:
                              type:
                                type: string
                                enum:
                                - bitbucket-cloud-oauth
                              installedBy:
                                format: uuid
                                type: string
                              connectionData:
                                type: object
                                required:
                                - workspaceSlug
                                - accountId
                                properties:
                                  workspaceSlug:
                                    type: string
                                  accountId:
                                    type: string
                                  scope:
                                    type: string
                                  reconnectRequired:
                                    type: boolean
                              metadata:
                                type: object
                                properties:
                                  workspaceName:
                                    type: string
                                  installedByDisplayName:
                                    type: string
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                          - type: object
                            required:
                            - type
                            - installedBy
                            - connectionData
                            - metadata
                            - createdAt
                            - updatedAt
                            properties:
                              type:
                                type: string
                                enum:
                                - mockhub
                              installedBy:
                                format: uuid
                                type: string
                              connectionData:
                                type: object
                                required:
                                - seed
                                - org
                                - config
                                properties:
                                  seed:
                                    type: number
                                  org:
                                    type: string
                                  config:
                                    type: object
                                    required:
                                    - repoCount
                                    - skillRepoFraction
                                    - minSkillsPerRepo
                                    - maxSkillsPerRepo
                                    - manifestCount
                                    - minSkillSentences
                                    - maxSkillSentences
                                    - duplicateClusterFraction
                                    properties:
                                      repoCount:
                                        type: number
                                      skillRepoFraction:
                                        type: number
                                      minSkillsPerRepo:
                                        type: number
                                      maxSkillsPerRepo:
                                        type: number
                                      manifestCount:
                                        type: number
                                      minSkillSentences:
                                        type: number
                                      maxSkillSentences:
                                        type: number
                                      duplicateClusterFraction:
                                        type: number
                              metadata:
                                type: object
                                properties: {}
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Unauthorized
                      status:
                        type: number
                        enum:
                        - 401
                      message:
                        type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Forbidden
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Forbidden
                      status:
                        type: number
                        enum:
                        - 403
                      message:
                        type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                description: Not Found
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Not Found
                      status:
                        type: number
                        enum:
                        - 404
                      message:
                        type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                description: Internal Server Error
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Internal Server Error
                      status:
                        type: number
                        enum:
                        - 500
                      message:
                        type: string
  /experimental/workspaces/{workspaceId}/integrations/{integrationId}:
    delete:
      tags:
      - Integrations
      description: Removes an integration from a workspace.
      parameters:
      - schema:
          type: string
        in: path
        name: workspaceId
        required: true
      - schema:
          type: string
        in: path
        name: integrationId
        required: true
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      responses:
        '204':
          description: Default Response
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Unauthorized
                      status:
                        type: number
                        enum:
                        - 401
                      message:
                        type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Forbidden
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Forbidden
                      status:
                        type: number
                        enum:
                        - 403
                      message:
                        type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                description: Not Found
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Not Found
                      status:
                        type: number
                        enum:
                        - 404
                      message:
                        type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                description: Internal Server Error
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Internal Server Error
                      status:
                        type: number
                        enum:
                        - 500
                      message:
                        type: string
    patch:
      tags:
      - Integrations
      description: Updates the connectionData on a Linear integration. `targetRepo` and `taskDelegation` are independently editable; pass `null` to clear either. Writing `taskDelegation` requires the `linear-task-mirroring` feature flag.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              minProperties: 1
              type: object
              properties:
                targetRepo:
                  anyOf:
                  - minLength: 1
                    type: string
                  - type: 'null'
                taskDelegation:
                  anyOf:
                  - additionalProperties: false
                    type: object
                    required:
                    - entrypoint
                    properties:
                      entrypoint:
                        additionalProperties: false
                        type: object
                        required:
                        - plugin
                        - skill
                        properties:
                          plugin:
                            type: string
                          skill:
                            type: string
                      delegationStateName:
                        type: string
                      environmentName:
                        minLength: 1
                        type: string
                  - type: 'null'
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: workspaceId
        required: true
      - schema:
          format: uuid
          type: string
        in: path
        name: integrationId
        required: true
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - links
                - data
                properties:
                  links:
                    type: object
                    required:
                    - self
                    properties:
                      self:
                        format: uri
                        type: string
                  data:
                    type: object
                    required:
                    - id
                    - type
                    - attributes
                    properties:
                      id:
                        format: uuid
                        type: string
                      type:
                        type: string
                        enum:
                        - integration
                      attributes:
                        type: object
                        required:
                        - type
                        - installedBy
                        - connectionData
                        - metadata
                        - createdAt
                        - updatedAt
                        properties:
                          type:
                            type: string
                            enum:
                            - linear
                          installedBy:
                            format: uuid
                            type: string
                          connectionData:
                            type: object
                            required:
                            - linearOrganizationId
                            - agentAppUserId
                            properties:
                              linearOrganizationId:
                                type: string
                              agentAppUserId:
                                type: string
                              targetRepo:
                                type: string
                              taskDelegation:
                                additionalProperties: false
                                type: object
                                required:
                                - entrypoint
                                properties:
                                  entrypoint:
                                    additionalProperties: false
                                    type: object
                                    required:
                                    - plugin
                                    - skill
                                    properties:
                                      plugin:
                                        type: string
                                      skill:
                                        type: string
                                  delegationStateName:
                                    type: string
                                  environmentName:
                                    minLength: 1
                                    type: string
                              scope:
                                type: string
                              reconnectRequired:
                                type: boolean
                          metadata:
                            type: object
                            properties:
                              linearOrganizationName:
                                type: string
                          createdAt:
                            type: string
                          updatedAt:
                            type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                description: Bad Request
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Bad Request
                      status:
                        type: number
                        enum:
                        - 400
                      message:
                        type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
            

# --- truncated at 32 KB (126 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tesslio/refs/heads/main/openapi/tesslio-integrations-api-openapi.yml