tessl.io Generation API

Eval scenario generation runs.

OpenAPI Specification

tesslio-generation-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Tessl Admin Keys Generation API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Generation
  description: Eval scenario generation runs.
paths:
  /experimental/eval-scenarios/generate:
    post:
      tags:
      - Generation
      description: Starts an LLM-driven eval scenario generation run for a repo commit or tile upload.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - source
              properties:
                workspaceName:
                  type: string
                workspaceId:
                  format: uuid
                  type: string
                source:
                  anyOf:
                  - type: object
                    required:
                    - type
                    - orgName
                    - repoName
                    properties:
                      type:
                        type: string
                        enum:
                        - commit
                      orgName:
                        type: string
                      repoName:
                        type: string
                      commit:
                        minLength: 7
                        maxLength: 82
                        type: string
                      pullRequestNumber:
                        minimum: 1
                        type: integer
                      contextPatterns:
                        type: array
                        items:
                          type: string
                      repoArchiveUpload:
                        type: object
                        required:
                        - archiveUploadKey
                        - commitDetails
                        - repoCloneUrl
                        - defaultBranch
                        - parentCommitHash
                        properties:
                          archiveUploadKey:
                            description: S3 uploads key for repo archive at HEAD of default branch
                            type: string
                          commitDetails:
                            description: JSON string of pre-extracted commit details
                            type: string
                          repoCloneUrl:
                            description: Clone URL for fixture metadata
                            type: string
                          defaultBranch:
                            type: string
                          parentCommitHash:
                            description: Parent commit hash used as the fixture ref
                            type: string
                  - type: object
                    required:
                    - type
                    - uploadsS3Key
                    properties:
                      type:
                        type: string
                        enum:
                        - tile-upload
                      uploadsS3Key:
                        type: string
                      scenarioCount:
                        minimum: 1
                        maximum: 10
                        type: integer
      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
                - meta
                - data
                properties:
                  links:
                    type: object
                    required:
                    - self
                    properties:
                      self:
                        format: uri
                        type: string
                  meta:
                    type: object
                    required:
                    - generationId
                    - workflowId
                    properties:
                      generationId:
                        format: uuid
                        type: string
                      workflowId:
                        anyOf:
                        - type: string
                        - type: 'null'
                  data:
                    type: object
                    required:
                    - id
                    - type
                    - attributes
                    properties:
                      id:
                        format: uuid
                        type: string
                      type:
                        type: string
                        enum:
                        - eval-generation
                      attributes:
                        type: object
                        required:
                        - workflowId
                        - source
                        - metadata
                        - createdBy
                        - createdAt
                        - updatedAt
                        properties:
                          workflowId:
                            anyOf:
                            - type: string
                            - type: 'null'
                          source:
                            anyOf:
                            - type: object
                              required:
                              - type
                              - orgName
                              - repoName
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - commit
                                orgName:
                                  type: string
                                repoName:
                                  type: string
                                commit:
                                  minLength: 7
                                  maxLength: 82
                                  type: string
                                pullRequestNumber:
                                  minimum: 1
                                  type: integer
                                contextPatterns:
                                  type: array
                                  items:
                                    type: string
                                repoArchiveUpload:
                                  type: object
                                  required:
                                  - archiveUploadKey
                                  - commitDetails
                                  - repoCloneUrl
                                  - defaultBranch
                                  - parentCommitHash
                                  properties:
                                    archiveUploadKey:
                                      description: S3 uploads key for repo archive at HEAD of default branch
                                      type: string
                                    commitDetails:
                                      description: JSON string of pre-extracted commit details
                                      type: string
                                    repoCloneUrl:
                                      description: Clone URL for fixture metadata
                                      type: string
                                    defaultBranch:
                                      type: string
                                    parentCommitHash:
                                      description: Parent commit hash used as the fixture ref
                                      type: string
                            - type: object
                              required:
                              - type
                              - uploadsS3Key
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - tile-upload
                                uploadsS3Key:
                                  type: string
                                scenarioCount:
                                  minimum: 1
                                  maximum: 10
                                  type: integer
                          metadata:
                            type: object
                            additionalProperties: {}
                          createdBy:
                            format: uuid
                            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/generation-runs:
    get:
      tags:
      - Generation
      description: Lists eval scenario generation runs (v1) with mine-only/status filters.
      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:
          type: string
        in: query
        name: workspaceNameFilter
        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:
          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:
                          - generation-run
                        attributes:
                          type: object
                          required:
                          - status
                          - source
                          - metadata
                          - data
                          - createdBy
                          - workspaceName
                          - createdAt
                          - updatedAt
                          properties:
                            status:
                              anyOf:
                              - type: string
                                enum:
                                - pending
                              - type: string
                                enum:
                                - completed
                              - type: string
                                enum:
                                - failed
                            source:
                              type: object
                              additionalProperties: {}
                            metadata:
                              type: object
                              additionalProperties: {}
                            data:
                              type: object
                              required:
                              - type
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - eval-scenarios
                            createdBy:
                              type: object
                              required:
                              - id
                              - firstName
                              - lastName
                              properties:
                                id:
                                  format: uuid
                                  type: string
                                firstName:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                lastName:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                            workspaceName:
                              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/generation-runs/{id}:
    get:
      tags:
      - Generation
      description: Use `/experimental/generation-runs-v2/{id}` instead. The v2 endpoint returns a slim per-scenario index and is the path new clients should integrate against.
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: id
        required: true
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      deprecated: 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:
                        - generation-run
                      attributes:
                        type: object
                        required:
                        - status
                        - source
                        - metadata
                        - createdBy
                        - workflowId
                        - data
                        - createdAt
                        - updatedAt
                        properties:
                          status:
                            anyOf:
                            - type: string
                              enum:
                              - pending
                            - type: string
                              enum:
                              - completed
                            - type: string
                              enum:
                              - failed
                          source:
                            type: object
                            additionalProperties: {}
                          metadata:
                            type: object
                            additionalProperties: {}
                          createdBy:
                            type: object
                            required:
                            - id
                            - firstName
                            - lastName
                            properties:
                              id:
                                format: uuid
                                type: string
                              firstName:
                                anyOf:
                                - type: string
                                - type: 'null'
                              lastName:
                                anyOf:
                                - type: string
                                - type: 'null'
                          workflowId:
                            anyOf:
                            - type: string
                            - type: 'null'
                          data:
                            type: object
                            required:
                            - type
                            - scenarios
                            properties:
                              type:
                                type: string
                                enum:
                                - eval-scenarios
                              scenarios:
                                type: array
                                items:
                                  type: object
                                  required:
                                  - id
                                  - task
                                  - shortDescription
                                  - rubric
                                  - fixture
                                  - fixtures
                                  - createdAt
                                  - updatedAt
                                  properties:
                                    id:
                                      format: uuid
                                      type: string
                                    task:
                                      type: string
                                    shortDescription:
                                      anyOf:
                                      - type: string
                                      - type: 'null'
                                    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
                                    fixture:
                                      anyOf:
                                      - type: object
                                        additionalProperties: {}
                                      - type: 'null'
                                    fixtures:
                                      type: object
                                      additionalProperties: {}
                                    createdAt:
                                      format: date-time
                                      type: string
                                    updatedAt:
                                      format: date-time
                                      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:
           

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