Skip to content

Change settings

PUT
/v1/settings
curl --request PUT \
--url https://your-machine.your-tailnet.ts.net/v1/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "geminiApiKey": "example", "geminiModel": "example", "publicUrl": "https://example.com", "webhookUrl": "https://example.com", "docsUrl": "https://example.com", "incomingStreamUrl": "example", "incomingStreamFormat": "raw" }'

Send only the fields to change. An empty string clears a value (back to the .env default).

Media typeapplication/json
object
geminiApiKey
string
geminiModel
string
publicUrl
string format: uri
webhookUrl

Receives every call event.

string format: uri
docsUrl
string format: uri
incomingStreamUrl

ws:// or wss://. Every incoming call is answered and streamed here.

string
incomingStreamFormat

raw: 16 kHz s16le binary frames. twilio: Twilio Media Streams JSON with 8 kHz mu-law, compatible with Twilio integrations such as Pipecat’s.

string
default: raw
Allowed values: raw twilio

Saved settings.

Media typeapplication/json
object
settings
object
publicUrl
string | null
webhookUrl
string | null
docsUrl
string | null
incomingStreamUrl
string | null
incomingStreamFormat

raw: 16 kHz s16le binary frames. twilio: Twilio Media Streams JSON with 8 kHz mu-law, compatible with Twilio integrations such as Pipecat’s.

string
default: raw
Allowed values: raw twilio
geminiModel
string | null
geminiApiKey
object
configured
boolean
hint
string | null
source
string | null
Allowed values: console env

Example

{
"settings": {
"incomingStreamFormat": "raw",
"geminiApiKey": {
"hint": "…PEXg",
"source": "console"
}
}
}

The request didn’t validate.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
issues

Validation details

Array

Example

{
"error": {
"code": "VALIDATION_ERROR",
"message": "invalid request",
"issues": []
}
}