tessl.io LLM API
The LLM API from tessl.io — 2 operation(s) for llm.
The LLM API from tessl.io — 2 operation(s) for llm.
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