ai_profiles
Get Ai Profile Capabilities
What the backend will accept: which providers this deployment can run and
their voices, every enabled model per kind, and each configuration class
with the fields and bounds a component of it carries. Use before building a
profile or a component, to know what values are valid. Not
organization-scoped — actor is required only so every route on this
surface carries the same authentication, not to select what comes back.
Get Ai Profile Capabilities › Responses
Successful Response
Every registry row, per kind, disabled rows included with
enabled=false: a picker offers the enabled ones by display name, and a
component already on a disabled one can still say what it is on and that
it is no longer offered. The client filters; the server does not guess
which rows a caller already has written.
What the reader reads at most, every value filled in: the platform's own
(PLATFORM_READER_CEILINGS) or a profile's lower one, as ReaderLimits.ceilings
resolves them. What the text channel holds an attachment to.
List Live Settings
List the Live (speech-to-speech) components this organization can use: its own and the shared templates, each with the count of profiles pointing at it.
List Live Settings › Responses
Successful Response
idlanguagemodelnameproviderWho runs a live (speech-to-speech) model. ai-profiles.md, "The providers are an enumerated list, and the list grows by adding to it": Google first, OpenAI next (R11) -- a further provider is one more member here and the classes its models were measured into, never a new kind of component.
voiceCreate Live Settings
Create a Live component: one speech-to-speech model that hears, decides the turn, thinks and speaks by itself -- an enabled live model, one of its provider's live voices, the language it listens and speaks in, and its thinker where its class offers one. Use when a profile's voice section should run as one live model instead of separate STT/LLM/TTS/VAD components. It names no standby: its fallback is the next arrangement of a profile's voice section.
Create Live Settings › Request Body
languagemodelnameproviderWho runs a live (speech-to-speech) model. ai-profiles.md, "The providers are an enumerated list, and the list grows by adding to it": Google first, OpenAI next (R11) -- a further provider is one more member here and the classes its models were measured into, never a new kind of component.
voiceCreate Live Settings › Responses
Successful Response
idlanguagemodelnameproviderWho runs a live (speech-to-speech) model. ai-profiles.md, "The providers are an enumerated list, and the list grows by adding to it": Google first, OpenAI next (R11) -- a further provider is one more member here and the classes its models were measured into, never a new kind of component.
voiceUpdate Live Settings
Edit a Live component; only the fields sent change. If more than one profile uses
it, send apply_to=all to change it for all of them, or apply_to=copy with
profile_id to change a copy for that profile only.
path Parameters
settings_idquery Parameters
apply_toprofile_idUpdate Live Settings › Responses
Successful Response
idlanguagemodelnameproviderWho runs a live (speech-to-speech) model. ai-profiles.md, "The providers are an enumerated list, and the list grows by adding to it": Google first, OpenAI next (R11) -- a further provider is one more member here and the classes its models were measured into, never a new kind of component.
voiceList Llm Settings
List the language model components this organization can use: its own and the
shared templates. Each carries in_use_by (profiles pointing at it) and
standby_for (components naming it as their standby).
List Llm Settings › Responses
Successful Response
idmodelnameprovidertemperatureCreate Llm Settings
Create a language model component: a provider, an enabled model and the
settings its class carries. Use when a profile needs a new LLM ingredient
instead of reusing an existing one. max_tool_rounds is how many rounds of tools
one turn may chain before it is cut; omitted, it starts at the bounded
default. null means no ceiling -- a turn chains rounds until the
model answers and is never cut for looping. Write that only on purpose:
an agent that runs twenty tools without a word to the person is usually
looping, so a client agent should keep a bound.
Create Llm Settings › Request Body
modelnameprovidertemperatureCreate Llm Settings › Responses
Successful Response
idmodelnameprovidertemperatureUpdate Llm Settings
Edit a language model component; only the fields sent change. Use when an
existing LLM component's settings need to change. Sending
max_tool_rounds: null lifts the ceiling on rounds of tools per turn (see
the create operation for what that means and why a client agent should
keep a bound); leaving it out keeps the ceiling as it is.
path Parameters
settings_idquery Parameters
apply_toprofile_idUpdate Llm Settings › Responses
Successful Response
idmodelnameprovidertemperatureList Profiles
List the AI profiles this organization can use: its own and the shared
templates, each with its voice arrangements and text section resolved inline and
in_use_by, the number of agents with a version on it.
List Profiles › Responses
Successful Response
descriptionidkindnameCreate Profile
Create an AI profile — the bundle of model settings an agent pins. Use when an agent needs a new combination of voice/text components instead of reusing an existing profile.
Create Profile › Request Body
Create Profile › Responses
Successful Response
descriptionidkindnameGet Profile
Read one AI profile, own or shared template, with its voice arrangements (in the
order a call tries them), its text section and in_use_by, the number of agents
with a version on it. Another organization's profile is not found.
path Parameters
profile_idGet Profile › Responses
Successful Response
descriptionidkindnameUpdate Profile
Change which settings an AI profile points at. Use when an existing profile's name or pinned components need to change.
path Parameters
profile_idUpdate Profile › Request Body
Update Profile › Responses
Successful Response
descriptionidkindnameCopy Profile
Duplicate an AI profile as a new one. Use when starting a new profile from an existing one instead of from scratch — a route of its own, never a side effect of saving an edit.
path Parameters
profile_idCopy Profile › Request Body
nameCopy Profile › Responses
Successful Response
descriptionidkindnameSet Text Section
Write a profile's text section: the model every written conversation is
held by, the recognizer that reads a voice note -- or none, which
announces voice notes instead of transcribing them -- and the language
model that reads images and documents, with its ceilings. A reader or
ceilings left out are kept as they are; reader_id: null removes the
reader. Use when setting up or changing how this profile handles written
conversations.
path Parameters
profile_idSet Text Section › Request Body
llm_settings_idThe reader's ceilings as a profile writes them (ai-profiles.md rule 77): each
one the platform's, or lower -- None is "the platform's", which is what every
profile starts with. The smallest image runs the other way: a profile may ask
for a larger one, never a smaller. Unknown fields are refused, so a ceiling
misspelled is a 422 rather than the platform's silently.
Set Text Section › Responses
Successful Response
descriptionidkindnameSet Voice Section
Write a profile's voice section whole: its arrangements, in the order a
call tries them. Use when setting up or changing how this profile handles
calls, including its fallback order. The first that can open takes the call; each is either a
pipeline (recognizer, model, voice, detector) or a speech_to_speech
arrangement (one Live component). An empty list is a profile that takes no
calls.
path Parameters
profile_idSet Voice Section › Request Body
Set Voice Section › Responses
Successful Response
descriptionidkindnameList Stt Settings
List the speech-to-text components this organization can use: its own and the
shared templates, each with in_use_by and standby_for counts.
List Stt Settings › Responses
Successful Response
eot_thresholdeot_timeout_msfiller_wordsidkeytermslanguagemodelnamenumeralsprofanity_filterproviderpunctuateredactCreate Stt Settings
Create a speech-to-text component: a provider, an enabled model, the language it
listens in and how it decides the caller has finished speaking. Values are checked
against GET /ai-profiles/capabilities; standby_id names the component a text
profile's transcriber falls back to -- on a call the standby is the recognizer in
its place in the voice profile's next arrangement below.
Create Stt Settings › Request Body
modelnameprovidereot_thresholdeot_timeout_msfiller_wordskeytermsnumeralsprofanity_filterpunctuateredactCreate Stt Settings › Responses
Successful Response
eot_thresholdeot_timeout_msfiller_wordsidkeytermslanguagemodelnamenumeralsprofanity_filterproviderpunctuateredactUpdate Stt Settings
Edit a speech-to-text component; only the fields sent change. If more than one
profile uses it, send apply_to=all to change it for all of them, or
apply_to=copy with profile_id to change a copy for that profile only.
path Parameters
settings_idquery Parameters
apply_toprofile_idUpdate Stt Settings › Responses
Successful Response
eot_thresholdeot_timeout_msfiller_wordsidkeytermslanguagemodelnamenumeralsprofanity_filterproviderpunctuateredactList Tts Settings
List the text-to-speech components this organization can use: its own and the
shared templates, each with in_use_by and standby_for counts.
List Tts Settings › Responses
Successful Response
emotionemotion_intensityidlanguagemodelnameproviderspeedvoicevolumeCreate Tts Settings
Create a text-to-speech component: a provider, an enabled model and one of its
voices, with language, speed, volume, emotion and an optional pronunciation
dictionary. A pronunciation_dict_id the provider says does not exist is refused,
and so is a standby_id: a voice's standby on a call is the voice in its place in
the profile's next arrangement below, so set it there.
Create Tts Settings › Request Body
modelnameprovidervoiceemotionemotion_intensityspeedvolumeCreate Tts Settings › Responses
Successful Response
emotionemotion_intensityidlanguagemodelnameproviderspeedvoicevolumeDelete Tts Settings
Delete one of this organization's text-to-speech components. Refused with the count while any profile points at it; a voice naming it as a standby no longer counts, and that standby is cleared.
path Parameters
settings_idDelete Tts Settings › Responses
Successful Response
Update Tts Settings
Edit a text-to-speech component; only the fields sent change. If more than one
profile uses it, send apply_to=all to change it for all of them, or
apply_to=copy with profile_id to change a copy for that profile only. A
standby_id other than null is refused: add a row below in the profile instead.
path Parameters
settings_idquery Parameters
apply_toprofile_idUpdate Tts Settings › Responses
Successful Response
emotionemotion_intensityidlanguagemodelnameproviderspeedvoicevolumeList Vad Settings
List the voice activity detection components this organization can use: its own
and the shared templates, each with in_use_by and standby_for counts.
List Vad Settings › Responses
Successful Response
allow_interruptionsdeactivation_gapidmin_silence_msmin_speech_msnameprefix_padding_msproviderthresholdCreate Vad Settings
Create a voice activity detection component: how loud and how long sound must be
to count as speech, how much silence ends it, and whether the caller may interrupt
the agent. Every field has a default. A standby_id is refused: a detector's
standby on a call is the detector in its place in the profile's next arrangement
below, so set it there.
Create Vad Settings › Request Body
nameallow_interruptionsdeactivation_gapmin_silence_msmin_speech_msprefix_padding_msproviderthresholdCreate Vad Settings › Responses
Successful Response
allow_interruptionsdeactivation_gapidmin_silence_msmin_speech_msnameprefix_padding_msproviderthresholdDelete Vad Settings
Delete one of this organization's voice activity detection components. Refused with the count while any profile points at it; a detector naming it as a standby no longer counts, and that standby is cleared.
path Parameters
settings_idDelete Vad Settings › Responses
Successful Response
Update Vad Settings
Edit a voice activity detection component; only the fields sent change. If more
than one profile uses it, send apply_to=all to change it for all of them, or
apply_to=copy with profile_id to change a copy for that profile only. A
standby_id other than null is refused: add a row below in the profile instead.
path Parameters
settings_idquery Parameters
apply_toprofile_idUpdate Vad Settings › Responses
Successful Response
allow_interruptionsdeactivation_gapidmin_silence_msmin_speech_msnameprefix_padding_msproviderthreshold