tessl.io Fix Runs API
The Fix Runs API from tessl.io — 4 operation(s) for fix runs.
The Fix Runs API from tessl.io — 4 operation(s) for fix runs.
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