tessl.io Evals API
Eval runs, scenarios, and solution scoring.
Eval runs, scenarios, and solution scoring.
openapi: 3.1.1
info:
title: Tessl Admin Keys Evals API
version: 1.0.0
description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Evals
description: Eval runs, scenarios, and solution scoring.
paths:
/v1/tiles/{workspaceName}/{tileName}/versions/{version}/eval-suite:
get:
tags:
- Evals
description: Returns the eval suite (scenarios + latest run status) for a tile version.
parameters:
- schema:
type: string
in: path
name: workspaceName
required: true
- schema:
type: string
in: path
name: tileName
required: true
- schema:
type: string
in: path
name: version
required: true
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:
- eval-suite
attributes:
type: object
required:
- status
- evalRunId
- scenarios
- createdAt
- updatedAt
- expectedVariants
- lastScoredAt
properties:
status:
anyOf:
- type: string
enum:
- pending
- type: string
enum:
- completed
- type: string
enum:
- failed
evalRunId:
format: uuid
type: string
scenarios:
type: array
items:
type: object
required:
- id
- fingerprint
- task
- rubric
- createdAt
- updatedAt
- solutions
properties:
id:
format: uuid
type: string
fingerprint:
pattern: ^[a-f0-9]{64}$
type: string
task:
type: string
path:
type: string
shortDescription:
type: string
rubric:
type: object
required:
- context
- type
- checklist
properties:
context:
minLength: 1
type: string
type:
type: string
enum:
- weighted_checklist
checklist:
minItems: 1
type: array
items:
type: object
required:
- name
- description
- max_score
properties:
name:
minLength: 1
type: string
description:
minLength: 1
type: string
max_score:
minimum: 0
type: number
qualityAssessment:
type: object
required:
- feasibility
- feasibility_notes
- leakage
- leakage_evidence
- scenario_value
- scenario_value_notes
- assessed_at
- model
properties:
feasibility:
anyOf:
- type: string
enum:
- FEASIBLE
- type: string
enum:
- NOT_FEASIBLE
feasibility_notes:
type: string
leakage:
anyOf:
- type: string
enum:
- NO_LEAKAGE
- type: string
enum:
- LOW_LEAKAGE
- type: string
enum:
- MEDIUM_LEAKAGE
- type: string
enum:
- HIGH_LEAKAGE
leakage_evidence:
type: array
items:
type: object
required:
- scenario_statement
- criteria_rubric
properties:
scenario_statement:
type: string
criteria_rubric:
type: string
scenario_value:
anyOf:
- type: string
enum:
- LOW
- type: string
enum:
- MEDIUM
- type: string
enum:
- HIGH
scenario_value_notes:
type: string
assessed_at:
format: date-time
type: string
model:
type: string
qualityFilterStatus:
anyOf:
- type: string
enum:
- included
- type: string
enum:
- rejected
createdAt:
format: date-time
type: string
updatedAt:
format: date-time
type: string
solutions:
type: array
items:
type: object
required:
- id
- variant
- solutionTarGZS3Key
- solutionMetadata
- assessmentResults
- assessmentMetadata
- createdAt
- updatedAt
properties:
id:
format: uuid
type: string
variant:
anyOf:
- type: string
enum:
- baseline
- type: string
enum:
- usage-spec
solutionTarGZS3Key:
anyOf:
- type: string
- type: 'null'
solutionMetadata:
anyOf:
- type: object
additionalProperties: {}
- type: 'null'
assessmentResults:
anyOf:
- type: array
items:
type: object
required:
- name
- score
- reasoning
properties:
name:
minLength: 1
type: string
score:
minimum: 0
type: number
max_score:
minimum: 0
type: number
reasoning:
minLength: 1
type: string
- type: 'null'
assessmentMetadata:
anyOf:
- type: object
additionalProperties: {}
- type: 'null'
createdAt:
format: date-time
type: string
updatedAt:
format: date-time
type: string
runs:
type: array
items:
anyOf:
- type: object
required:
- status
- solutionId
- score
- createdAt
properties:
status:
type: string
enum:
- completed
solutionId:
format: uuid
type: string
score:
anyOf:
- type: number
- type: 'null'
createdAt:
format: date-time
type: string
- type: object
required:
- status
properties:
status:
type: string
enum:
- pending
activation:
type: object
required:
- activatedSkills
properties:
activatedSkills:
type: array
items:
type: string
createdAt:
format: date-time
type: string
updatedAt:
format: date-time
type: string
expectedVariants:
type: array
items:
anyOf:
- type: string
enum:
- baseline
- type: string
enum:
- usage-spec
lastScoredAt:
anyOf:
- format: date-time
type: string
- type: 'null'
'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/eval-runs:
get:
tags:
- Evals
description: Lists eval runs filtered by context-fixture type, status, visibility, and creator.
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:
default: true
type: boolean
in: query
name: mineOnly
required: false
- schema:
format: uuid
type: string
in: query
name: projectId
required: false
- schema:
type: string
in: query
name: workspaceNameFilter
required: false
- schema:
type: string
in: query
name: tileNameFilter
required: false
- schema:
anyOf:
- type: string
enum:
- commit
- type: string
enum:
- directory
- type: string
enum:
- plugin
- type: string
enum:
- plugin-directory
- type: string
enum:
- no-context
in: query
name: contextType
required: false
- schema:
deprecated: true
anyOf:
- type: string
enum:
- tile
- type: string
enum:
- skill
- type: string
enum:
- project
in: query
name: subjectType
required: false
- schema:
anyOf:
- type: string
enum:
- pending
- type: string
enum:
- in_progress
- type: string
enum:
- completed
- type: string
enum:
- failed
in: query
name: status
required: false
- schema:
anyOf:
- type: string
enum:
- private
- type: string
enum:
- public_view
- type: string
enum:
- public_download
in: query
name: visibility
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:
- eval-run
attributes:
type: object
required:
- status
- metadata
- createdBy
- label
- createdAt
- updatedAt
- visibility
- scenarioSummary
properties:
status:
anyOf:
- type: string
enum:
- pending
- type: string
enum:
- completed
- type: string
enum:
- failed
metadata:
additionalProperties: true
type: object
properties:
originRemoteUrl:
type: string
branchName:
type: string
commitHash:
type: string
dirty:
type: boolean
cwd:
type: string
cliInvocation:
type: string
tileName:
type: string
tileVersion:
type: string
tileSummary:
type: string
tileIsPrivate:
type: boolean
skillName:
type: string
sourceUrl:
type: string
blobSha:
type: string
createdBy:
type: object
required:
- type
- id
- firstName
- lastName
properties:
type:
anyOf:
- type: string
enum:
- user
- type: string
enum:
- api_key
id:
format: uuid
type: string
firstName:
anyOf:
- type: string
- type: 'null'
lastName:
anyOf:
- type: string
- type: 'null'
runCount:
minimum: 1
type: integer
label:
anyOf:
- type: string
- type: 'null'
createdAt:
format: date-time
type: string
updatedAt:
format: date-time
type: string
visibility:
anyOf:
- type: string
enum:
- private
- type: string
enum:
- public_view
- type: string
enum:
- public_download
agent:
type: string
model:
type: string
scorerAgent:
type: string
scorerModel:
type: string
skipForcedContextActivation:
type: boolean
skipScoring:
type: boolean
runQualityCheck:
type: boolean
evalRunFixtures:
type: object
additionalProperties:
anyOf:
- type: object
required:
- type
- repoUrl
- ref
properties:
type:
type: string
enum:
- commit
repoUrl:
type: string
ref:
type: string
installPath:
type: string
include:
type: array
items:
type: string
exclude:
type: array
items:
type: string
- type: object
required:
- type
- path
- installPath
properties:
type:
type: string
enum:
- directory
path:
type: string
installPath:
type: string
include:
type: array
items:
type: string
exclude:
type: array
items:
type: string
- type: object
required:
- type
- name
- version
properties:
type:
type: string
enum:
- plugin
name:
type: string
version:
type: string
- type: object
required:
- type
- path
properties:
type:
type: string
enum:
- plugin-directory
path:
type: string
skills:
type: array
items:
type: string
scenarioSummary:
type: object
required:
- count
properties:
count:
minimum: 0
type: integer
commonBasePath:
type: string
relationships:
type: object
properties:
tile:
type: object
required:
- data
properties:
data:
# --- truncated at 32 KB (156 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tesslio/refs/heads/main/openapi/tesslio-evals-api-openapi.yml