Skip to main content
PATCH
Update BYOK Key Model

Authorizations

Authorization
string
header
required

Your API key (ta_live_…) from Settings → API keys, sent as Authorization: Bearer <key>. Keep it on a server: it can message every customer you have. A key is full, build or read-only; a request its level does not allow is refused with 403.

Headers

Thinnest-Workspace
string

Developers only: the customer workspace this request acts in — its org_… id from POST /customers. Leave it out to act in your own workspace.

Example:

"org_3fKq9TzQ1mN8vB2xR7cLpA"

Path Parameters

kind
enum<string>
required

Which key: stt (speech-to-text), llm or tts (voice).

Available options:
stt,
llm,
tts

Body

application/json

model, refreshModels, or both. No other field is accepted.

model
string

A model on the key's models (after the refresh, when both are sent). An OpenAI-compatible URL with no list takes any model id.

refreshModels
enum<boolean>

Pull the provider's model list for this key again.

Available options:
true

Response

The key after the change, masked.

One of your own provider keys, masked.

kind
enum<string>
required

Its job: speech-to-text, LLM or voice.

Available options:
stt,
llm,
tts
provider
string
required

The provider's id, e.g. deepgram.

label
string
required

The provider's name as the console shows it.

key
string
required

The key's last four characters after … — never more.

Example:

"…k9z2"

fields
object
required

The key's other settings, as stored: model, region, endpoint or baseUrl. The secret is never among them.

model
string | null
required

The model this key runs, or null while one is still to be chosen (or for a provider with no model to choose, such as Azure Speech).

models
string[]
required

What the provider offered this key when it was added or last refreshed.

verifiedAt
string<date-time> | null
required

When the provider last accepted the key.

updatedAt
string<date-time>
required

When the key or its model last changed.