tessl.io Fix Runs API

The Fix Runs API from tessl.io — 4 operation(s) for fix runs.

OpenAPI Specification

tesslio-fix-runs-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Tessl Admin Keys Fix Runs API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Fix Runs
paths:
  /experimental/fix-runs:
    post:
      tags:
      - Fix Runs
      description: Creates a new fix run and starts the iterative improve→review workflow.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - uploadKey
              - workspaceId
              properties:
                uploadKey:
                  minLength: 1
                  type: string
                workspaceId:
                  format: uuid
                  type: string
                threshold:
                  minimum: 0
                  maximum: 100
                  default: 100
                  description: Stop iterating once a review scores at or above this value (0–100).
                  type: number
                maxIterations:
                  minimum: 1
                  maximum: 10
                  default: 3
                  description: Maximum improve→review iterations to attempt.
                  type: integer
                agent:
                  type: string
                model:
                  type: string
                subject:
                  anyOf:
                  - type: object
                    required:
                    - type
                    - name
                    - path
                    - tileRef
                    - registryUrl
                    properties:
                      type:
                        type: string
                        enum:
                        - tile_skill
                      name:
                        type: string
                      path:
                        type: string
                      tileRef:
                        type: string
                      registryUrl:
                        type: string
                  - type: object
                    required:
                    - type
                    - name
                    properties:
                      type:
                        type: string
                        enum:
                        - skill
                      name:
                        type: string
                      path:
                        type: string
                pluginRef:
                  minLength: 1
                  description: Registry reference to a custom review plugin (workspace/plugin[@version]).
                  type: string
                pluginUploadKey:
                  minLength: 1
                  description: S3 upload key of a locally-packed review plugin tarball.
                  type: string
      parameters:
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      responses:
        '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:
                        - fix-run
                      attributes:
                        type: object
                        required:
                        - status
                        - workflowId
                        - config
                        - createdAt
                        - updatedAt
                        properties:
                          status:
                            anyOf:
                            - type: string
                              enum:
                              - pending
                            - type: string
                              enum:
                              - completed
                            - type: string
                              enum:
                              - failed
                            - type: string
                              enum:
                              - cancelled
                          workflowId:
                            anyOf:
                            - type: string
                            - type: 'null'
                          config:
                            type: object
                            required:
                            - threshold
                            - maxIterations
                            - agent
                            - model
                            properties:
                              threshold:
                                type: number
                              maxIterations:
                                type: integer
                              agent:
                                type: string
                              model:
                                type: string
                          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/fix-runs/{id}:
    get:
      tags:
      - Fix Runs
      description: Gets a fix run by ID, including baseline and final scores, the applied summary of changes, and progress while pending.
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: id
        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:
                        - fix-run
                      attributes:
                        type: object
                        required:
                        - status
                        - workflowId
                        - workspaceId
                        - createdBy
                        - config
                        - baselineScore
                        - finalScore
                        - summaryOfChanges
                        - createdAt
                        - updatedAt
                        properties:
                          status:
                            anyOf:
                            - type: string
                              enum:
                              - pending
                            - type: string
                              enum:
                              - completed
                            - type: string
                              enum:
                              - failed
                            - type: string
                              enum:
                              - cancelled
                          workflowId:
                            anyOf:
                            - type: string
                            - type: 'null'
                          workspaceId:
                            anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                          createdBy:
                            anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                          config:
                            type: object
                            required:
                            - threshold
                            - maxIterations
                            - agent
                            - model
                            properties:
                              threshold:
                                type: number
                              maxIterations:
                                type: integer
                              agent:
                                type: string
                              model:
                                type: string
                          baselineScore:
                            anyOf:
                            - minimum: 0
                              maximum: 100
                              type: integer
                            - type: 'null'
                          finalScore:
                            anyOf:
                            - minimum: 0
                              maximum: 100
                              type: integer
                            - type: 'null'
                          summaryOfChanges:
                            anyOf:
                            - type: string
                            - type: 'null'
                          createdAt:
                            format: date-time
                            type: string
                          updatedAt:
                            format: date-time
                            type: string
                          progress:
                            type: object
                            required:
                            - queue
                            - recipes
                            properties:
                              queue:
                                anyOf:
                                - type: string
                                  enum:
                                  - preparing
                                - type: string
                                  enum:
                                  - queued
                                - type: string
                                  enum:
                                  - active
                                - type: string
                                  enum:
                                  - finishing
                              recipes:
                                type: array
                                items:
                                  type: object
                                  required:
                                  - name
                                  - waiting
                                  - running
                                  - completed
                                  properties:
                                    name:
                                      type: string
                                    waiting:
                                      minimum: 0
                                      type: integer
                                    running:
                                      minimum: 0
                                      type: integer
                                    completed:
                                      minimum: 0
                                      type: integer
                              summary:
                                type: object
                                required:
                                - label
                                - completed
                                - failed
                                properties:
                                  label:
                                    type: string
                                  total:
                                    minimum: 0
                                    type: integer
                                  completed:
                                    minimum: 0
                                    type: integer
                                  failed:
                                    minimum: 0
                                    type: integer
                              units:
                                type: array
                                items:
                                  type: object
                                  required:
                                  - name
                                  - percent
                                  - waiting
                                  properties:
                                    name:
                                      type: string
                                    percent:
                                      minimum: 0
                                      maximum: 100
                                      type: integer
                                    waiting:
                                      type: boolean
        '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/fix-runs/{id}/cancel:
    post:
      tags:
      - Fix Runs
      description: 'Requests cancellation of a fix run: cancels its Temporal workflow so in-flight sandbox work stops. Idempotent – a no-op for a run that has already finished.'
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: id
        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:
                        - fix-run
                      attributes:
                        type: object
                        required:
                        - status
                        properties:
                          status:
                            anyOf:
                            - type: string
                              enum:
                              - pending
                            - type: string
                              enum:
                              - completed
                            - type: string
                              enum:
                              - failed
                            - type: string
                              enum:
                              - cancelled
        '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/fix-runs/{id}/bundle:
    get:
      tags:
      - Fix Runs
      description: Returns a presigned URL for downloading the applied fix bundle produced by a fix run.
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: id
        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:
                        - fix-run
                      attributes:
                        type: object
                        required:
                        - presignedUrl
                        - expiresAt
                        properties:
                          presignedUrl:
                            format: uri
                            type: string
                          expiresAt:
                            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