tessl.io Tasks API

The Tasks API from tessl.io — 8 operation(s) for tasks.

OpenAPI Specification

tesslio-tasks-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Tessl Admin Keys Tasks API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Tasks
paths:
  /experimental/tasks:
    post:
      tags:
      - Tasks
      description: Create-or-get a task by `idempotencyKey`. Emits `task.created`; when `startImmediately` (default true) and inputs are supplied, kicks off the first run.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - workspaceName
              - idempotencyKey
              - definition
              - inputs
              properties:
                workspaceName:
                  minLength: 1
                  type: string
                idempotencyKey:
                  minLength: 1
                  type: string
                definition:
                  type: object
                  required:
                  - skillRef
                  - repoUrl
                  - agent
                  properties:
                    skillRef:
                      minLength: 1
                      type: string
                    repoUrl:
                      minLength: 1
                      type: string
                    baseBranch:
                      minLength: 1
                      type: string
                    agent:
                      minLength: 1
                      type: string
                    model:
                      minLength: 1
                      type: string
                    environmentId:
                      format: uuid
                      type: string
                inputs:
                  type: object
                  additionalProperties: {}
                links:
                  type: array
                  items:
                    type: object
                    required:
                    - type
                    - value
                    properties:
                      type:
                        minLength: 1
                        type: string
                      value:
                        minLength: 1
                        type: string
                      displayLabel:
                        minLength: 1
                        maxLength: 256
                        type: string
                      displayTitle:
                        minLength: 1
                        maxLength: 1024
                        type: string
                      displayUrl:
                        minLength: 1
                        maxLength: 2048
                        pattern: ^https?://
                        type: string
                initialUserInput:
                  type: object
                  required:
                  - text
                  properties:
                    text:
                      minLength: 1
                      type: string
                startImmediately:
                  type: boolean
      parameters:
      - 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:
                        - task
                      attributes:
                        type: object
                        required:
                        - status
                        - definition
                        - inputs
                        - currentRunId
                        - links
                        - createdBy
                        - createdAt
                        - updatedAt
                        properties:
                          status:
                            anyOf:
                            - type: string
                              enum:
                              - running
                            - type: string
                              enum:
                              - waiting_for_input
                            - type: string
                              enum:
                              - cancelled
                          definition:
                            type: object
                            required:
                            - skillRef
                            - repoUrl
                            - agent
                            properties:
                              skillRef:
                                minLength: 1
                                type: string
                              repoUrl:
                                minLength: 1
                                type: string
                              baseBranch:
                                minLength: 1
                                type: string
                              agent:
                                minLength: 1
                                type: string
                              model:
                                minLength: 1
                                type: string
                              environmentId:
                                format: uuid
                                type: string
                          inputs:
                            type: object
                            additionalProperties: {}
                          currentRunId:
                            anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                          links:
                            type: array
                            items:
                              type: object
                              required:
                              - type
                              - value
                              - eventId
                              properties:
                                type:
                                  type: string
                                value:
                                  type: string
                                eventId:
                                  anyOf:
                                  - format: uuid
                                    type: string
                                  - type: 'null'
                                displayLabel:
                                  type: string
                                displayTitle:
                                  type: string
                                displayUrl:
                                  type: string
                          createdBy:
                            anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                          createdAt:
                            format: date-time
                            type: string
                          updatedAt:
                            format: date-time
                            type: string
        '201':
          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:
                        - task
                      attributes:
                        type: object
                        required:
                        - status
                        - definition
                        - inputs
                        - currentRunId
                        - links
                        - createdBy
                        - createdAt
                        - updatedAt
                        properties:
                          status:
                            anyOf:
                            - type: string
                              enum:
                              - running
                            - type: string
                              enum:
                              - waiting_for_input
                            - type: string
                              enum:
                              - cancelled
                          definition:
                            type: object
                            required:
                            - skillRef
                            - repoUrl
                            - agent
                            properties:
                              skillRef:
                                minLength: 1
                                type: string
                              repoUrl:
                                minLength: 1
                                type: string
                              baseBranch:
                                minLength: 1
                                type: string
                              agent:
                                minLength: 1
                                type: string
                              model:
                                minLength: 1
                                type: string
                              environmentId:
                                format: uuid
                                type: string
                          inputs:
                            type: object
                            additionalProperties: {}
                          currentRunId:
                            anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                          links:
                            type: array
                            items:
                              type: object
                              required:
                              - type
                              - value
                              - eventId
                              properties:
                                type:
                                  type: string
                                value:
                                  type: string
                                eventId:
                                  anyOf:
                                  - format: uuid
                                    type: string
                                  - type: 'null'
                                displayLabel:
                                  type: string
                                displayTitle:
                                  type: string
                                displayUrl:
                                  type: string
                          createdBy:
                            anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                          createdAt:
                            format: date-time
                            type: string
                          updatedAt:
                            format: date-time
                            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
    get:
      tags:
      - Tasks
      description: List tasks in a workspace, optionally filtered by status.
      parameters:
      - schema:
          default: -id
          anyOf:
          - type: array
            items:
              anyOf:
              - type: string
                enum:
                - id
              - type: string
                enum:
                - -id
          - anyOf:
            - type: string
              enum:
              - id
            - type: string
              enum:
              - -id
        in: query
        name: sort
        required: false
      - schema:
          minimum: 1
          maximum: 100
          default: 100
          type: integer
        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:
          minLength: 1
          type: string
        in: query
        name: filter[workspaceName]
        required: true
      - schema:
          anyOf:
          - type: string
            enum:
            - running
          - type: string
            enum:
            - waiting_for_input
          - type: string
            enum:
            - cancelled
        in: query
        name: filter[status]
        required: false
      - schema:
          anyOf:
          - type: string
            enum:
            - running
          - type: string
            enum:
            - waiting_for_input
          - type: string
            enum:
            - cancelled
        in: query
        name: filter[status][eq]
        required: false
      - 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:
                          - task
                        attributes:
                          type: object
                          required:
                          - status
                          - definition
                          - currentRunId
                          - linkCount
                          - createdAt
                          - updatedAt
                          properties:
                            status:
                              anyOf:
                              - type: string
                                enum:
                                - running
                              - type: string
                                enum:
                                - waiting_for_input
                              - type: string
                                enum:
                                - cancelled
                            definition:
                              type: object
                              required:
                              - skillRef
                              - repoUrl
                              - agent
                              properties:
                                skillRef:
                                  minLength: 1
                                  type: string
                                repoUrl:
                                  minLength: 1
                                  type: string
                                baseBranch:
                                  minLength: 1
                                  type: string
                                agent:
                                  minLength: 1
                                  type: string
                                model:
                                  minLength: 1
                                  type: string
                                environmentId:
                                  format: uuid
                                  type: string
                            currentRunId:
                              anyOf:
                              - format: uuid
                                type: string
                              - type: 'null'
                            linkCount:
                              minimum: 0
                              type: integer
                            createdAt:
                              format: date-time
                              type: string
                            updatedAt:
                              format: date-time
                              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/tasks/by-link:
    get:
      tags:
      - Tasks
      description: Find a task by its (workspace, link type, link value) triple. 404 when no match exists.
      parameters:
      - schema:
          minLength: 1
          type: string
        in: query
        name: workspaceName
        required: true
      - schema:
          minLength: 1
          type: string
        in: query
        name: type
        required: true
      - schema:
          minLength: 1
          type: string
        in: query
        name: value
        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:
                        - task
                      attributes:
                        type: object
                        required:
                        - status
                        - definition
                        - inputs
                        - currentRun
                        - pendingInputCount
                        - links
                        - latestEvents
                        - workspaceName
                        - createdAt
                        - updatedAt
                        properties:
                          status:
                            anyOf:
                            - type: string
                              enum:
                              - running
                            - type: string
                              enum:
                              - waiting_for_input
                            - type: string
                              enum:
                              - cancelled
                          definition:
                            type: object
                            required:
                            - skillRef
                            - repoUrl
                            - agent
                            properties:
                              skillRef:
                                minLength: 1
                                type: string
                              repoUrl:
                                minLength: 1
                                type: string
                              baseBranch:
                                minLength: 1
                                type: string
                              agent:
                                minLength: 1
                                type: string
                              model:
                                minLength: 1
                                type: string
                              environmentId:
                                format: uuid
                                type: string
                          inputs:
                            type: object
                            additionalProperties: {}
                          currentRun:
                            anyOf:
                            - type: object
                              required:
                              - id
                              - status
                              properties:
                                id:
                                  format: uuid
                                  type: string
                                status:
                                  type: string
                                progress:
                                  type: object
                                  additionalProperties: {}
                            - type: 'null'
                          pendingInputCount:
                            minimum: 0
                            type: integer
                          links:
                            type: array
                            items:
                              type: object
                              required:
                              - type
                              - value
                              - eventId
                              properties:
                                type:
                                  type: string
                                value:
                                  type: string
                                eventId:
                                  anyOf:
                                  - format: uuid
                                    type: string
                                  - type: 'null'
                                displayLabel:
                                  type: string
                                displayTitle:
                                  type: string
                                displayUrl:
                                  type: string
                          latestEvents:
                            type: array
                            items:
                              type: object
                              required:
                              - id
                              - type
                              - attributes
                              properties:
                                id:
                                  format: uuid
                                  type: string
                                type:
                                  type: string
                                  enum:
                                  - task-event
                                attributes:
                                  anyOf:
                                  - type: object
                                    required:
                                    - taskId
                                    - runId
                                    - actor
                                    - createdAt
                                    - type
                                    - payload
                                    properties:
                                      taskId:
                                        format: uuid
                                        type: string
                                      runId:
                                        anyOf:
                                        - format: uuid
                                          type: string
                                        - type: 'null'
                                      actor:
                                        type: object
                                        required:
                                        - kind
                                        properties:
                                          kind:
                                            anyOf:
                                            - type: string
                                              enum:
              

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