Skip to content

Update AI configuration

PUT
/api/ai/config
curl --request PUT \
--url https://gateway.example.com/api/ai/config \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "enabled": true, "providerType": "openai_compatible", "providerUrl": "", "endpointMode": "auto", "supportsImages": true, "apiKey": "example", "model": "example", "gatewayInferenceModel": "example", "gatewayInferenceAllowUserModelSelection": true, "allowUserReasoningEffortSelection": true, "customSystemPrompt": "example", "rateLimitMax": 1, "rateLimitWindowSeconds": 1, "maxToolRounds": 1, "maxContextTokens": 1, "maxCompletionTokens": 1, "maxTokensField": "max_tokens", "reasoningEffort": "low", "disabledTools": [ "example" ], "webSearchApiKey": "example", "webSearchProvider": "tavily", "webSearchBaseUrl": "", "sandboxEnabled": true, "sandboxDefaultTier": "low" }'

JSON request body

Media typeapplication/json
object
enabled
boolean
providerType
string
Allowed values: openai_compatible gateway_inference
providerUrl
Any of:
string format: uri
endpointMode
string
Allowed values: auto chat_completions responses
supportsImages
boolean
apiKey
string
model
string
gatewayInferenceModel
string
<= 255 characters
gatewayInferenceAllowUserModelSelection
boolean
allowUserReasoningEffortSelection
boolean
customSystemPrompt
string
rateLimitMax
integer
>= 1 <= 1000
rateLimitWindowSeconds
integer
>= 10 <= 3600
maxToolRounds
integer
>= 1 <= 50
maxContextTokens
integer
>= 4000 <= 1000000
maxCompletionTokens
integer
>= 256 <= 128000
maxTokensField
string
Allowed values: max_tokens max_completion_tokens
reasoningEffort
string
Allowed values: low medium high none
disabledTools
Array<string>
webSearchApiKey
string
webSearchProvider
string
Allowed values: tavily brave serper searxng exa
webSearchBaseUrl
Any of:
string format: uri
sandboxEnabled
boolean
sandboxDefaultTier
string
Allowed values: low medium high

Successful response

Media typeapplication/json
object
data
required

Resource object. Exact fields depend on the endpoint.

object
id
string
name
string
key
additional properties
Example
{
"data": {
"enabled": true,
"providerUrl": "https://api.openai.com/v1",
"model": "gpt-4.1"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}