tessl.io Review Runs API
The Review Runs API from tessl.io — 3 operation(s) for review runs.
The Review Runs API from tessl.io — 3 operation(s) for review runs.
openapi: 3.1.1
info:
title: Tessl Admin Keys Review Runs API
version: 1.0.0
description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Review Runs
paths:
/experimental/review-runs:
post:
tags:
- Review Runs
description: Creates a new review run and starts the review workflow.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- uploadKey
- metadata
- workspaceId
properties:
uploadKey:
type: string
metadata:
type: object
required:
- tier
properties:
tier:
type: string
enum:
- authed_free
pathLabel:
type: string
source:
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
config:
type: object
properties:
agent:
type: string
model:
type: string
workspaceId:
format: uuid
type: string
force:
type: boolean
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:
- review-run
attributes:
type: object
required:
- workflowId
- status
- metadata
- createdAt
- updatedAt
properties:
workflowId:
anyOf:
- type: string
- type: 'null'
status:
anyOf:
- type: string
enum:
- pending
- type: string
enum:
- completed
- type: string
enum:
- failed
metadata:
additionalProperties: true
type: object
required:
- tier
properties:
tier:
anyOf:
- type: string
enum:
- anonymous
- type: string
enum:
- authed_free
pathLabel:
type: string
source:
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
reusedFromReviewRunId:
format: uuid
type: string
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
get:
tags:
- Review Runs
description: Lists review runs, optionally filtered by workspace.
parameters:
- schema:
default: -createdAt
anyOf:
- type: array
items:
anyOf:
- type: string
enum:
- createdAt
- type: string
enum:
- -createdAt
- type: string
enum:
- updatedAt
- type: string
enum:
- -updatedAt
- type: string
enum:
- id
- type: string
enum:
- -id
- anyOf:
- type: string
enum:
- createdAt
- type: string
enum:
- -createdAt
- type: string
enum:
- updatedAt
- type: string
enum:
- -updatedAt
- type: string
enum:
- id
- type: string
enum:
- -id
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:
format: uuid
type: string
in: query
name: workspaceId
required: false
- schema:
anyOf:
- type: string
enum:
- pending
- type: string
enum:
- completed
- type: string
enum:
- failed
in: query
name: status
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:
- review-run
attributes:
type: object
required:
- status
- workflowId
- workspaceId
- createdBy
- score
- results
- metadata
- config
- createdAt
- updatedAt
properties:
status:
anyOf:
- type: string
enum:
- pending
- type: string
enum:
- completed
- type: string
enum:
- failed
workflowId:
anyOf:
- type: string
- type: 'null'
workspaceId:
anyOf:
- format: uuid
type: string
- type: 'null'
createdBy:
anyOf:
- format: uuid
type: string
- type: 'null'
score:
anyOf:
- minimum: 0
maximum: 100
type: integer
- type: 'null'
results:
anyOf:
- {}
- type: 'null'
metadata:
additionalProperties: true
type: object
required:
- tier
properties:
tier:
anyOf:
- type: string
enum:
- anonymous
- type: string
enum:
- authed_free
pathLabel:
type: string
source:
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
reusedFromReviewRunId:
format: uuid
type: string
config:
additionalProperties: true
type: object
required:
- agent
- model
properties:
agent:
type: string
model:
type: string
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/review-runs/{id}:
get:
tags:
- Review Runs
description: Gets a review run by ID, including optional progress when 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:
- review-run
attributes:
type: object
required:
- status
- workflowId
- workspaceId
- createdBy
- score
- results
- metadata
- config
- createdAt
- updatedAt
properties:
status:
anyOf:
- type: string
enum:
- pending
- type: string
enum:
- completed
- type: string
enum:
- failed
workflowId:
anyOf:
- type: string
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tesslio/refs/heads/main/openapi/tesslio-review-runs-api-openapi.yml