tessl.io LLM API

The LLM API from tessl.io — 2 operation(s) for llm.

OpenAPI Specification

tesslio-llm-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Tessl Admin Keys LLM API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: LLM
paths:
  /v1/llm/keys:
    post:
      tags:
      - LLM
      description: Issues a LiteLLM API key scoped to the requested models. The key may only call the listed model names (calls to anything else are rejected) and the real underlying models stay hidden behind aliases. Expires after `duration` (1-99 hours or minutes, e.g. `72h` or `30m`; default 72h).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              required:
              - models
              properties:
                models:
                  minItems: 1
                  type: array
                  items:
                    minLength: 1
                    type: string
                duration:
                  pattern: ^[1-9][0-9]?(h|m)$
                  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:
                        type: string
                      type:
                        type: string
                        enum:
                        - llm-key
                      attributes:
                        type: object
                        required:
                        - key
                        - expiresAt
                        properties:
                          key:
                            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
  /v1/llm/available:
    get:
      tags:
      - LLM
      description: Lists the model names the authenticated caller may scope a LiteLLM key to via `POST /v1/llm/keys` — the same actor-scoped catalogue that endpoint validates against. Tessl-only models are included only for Tessl members.
      parameters:
      - 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:
                        type: string
                        enum:
                        - llm-available-models
                      type:
                        type: string
                        enum:
                        - llm-available-models
                      attributes:
                        type: object
                        required:
                        - models
                        properties:
                          models:
                            type: array
                            items:
                              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