Skip to content

updateAiSettings

PATCH
/settings/ai
curl --request PATCH \
--url http://localhost:8080/api/v1/settings/ai \
--header 'Content-Type: application/json' \
--cookie hs_session=<hs_session> \
--data '{ "provider": "openrouter", "apiKey": "example", "model": "example", "fallbackModels": [ "example" ], "extractEnabled": true, "summariesEnabled": true, "maxImagesPerRequest": 1, "concurrency": 1 }'

Coming in 1.0. Defined in the contract, not implemented on main yet (task S-17); the server answers 501 with code not_implemented.

Media typeapplication/json
object
provider
string
Allowed values: openrouter none
apiKey

Null removes the key.

string | null
model
string
<= 120 characters
fallbackModels
Array<string>
<= 3 items
extractEnabled
boolean
summariesEnabled
boolean
maxImagesPerRequest
integer
<= 80
concurrency
integer
>= 1 <= 8

Updated. A new key is verified with OpenRouter before saving.

Media typeapplication/json
object
provider
required
string
Allowed values: openrouter none
apiKeySet
required
boolean
model
required
string
fallbackModels
required
Array<string>
<= 3 items
dataCollection
required

OpenRouter provider routing; fixed in v1.

string
Allowed values: deny
extractEnabled
required
boolean
summariesEnabled
required
boolean
maxImagesPerRequest
required
integer
concurrency
required
integer
spentUsdThisMonth
required

From OpenRouter usage accounting; informational only.

number
promptOverrides
required

Prompt files found in /data/prompts (names only).

Array<string>

Examples

Exampleseed

Derived from fixtures/seed.json.

{
"apiKeySet": true,
"concurrency": 2,
"dataCollection": "deny",
"extractEnabled": true,
"fallbackModels": [],
"maxImagesPerRequest": 40,
"model": "xiaomi/mimo-v2.6-pro",
"promptOverrides": [],
"provider": "openrouter",
"spentUsdThisMonth": 3.42,
"summariesEnabled": true
}

Invalid request.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
code
required
string
i18nKey
string
detail
string
fields
Array<object>
object
path
required
string
code
required
string
i18nKey
string

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"i18nKey": "example",
"detail": "example",
"fields": [
{
"path": "example",
"code": "example",
"i18nKey": "example"
}
]
}

A remote server did not answer.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
code
required
string
i18nKey
string
detail
string
fields
Array<object>
object
path
required
string
code
required
string
i18nKey
string

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"i18nKey": "example",
"detail": "example",
"fields": [
{
"path": "example",
"code": "example",
"i18nKey": "example"
}
]
}