Skip to content

Change some settings

PATCH
/settings
curl --request PATCH \
--url http://127.0.0.1:7700/api/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "approvalThresholdCents": 2000, "networkDefault": "allowlist", "defaultHosts": [ "example.com" ] }'

Owner only. Changes only the keys you send; quietHours and appearance merge one level deep. An unknown key or a bad value is a 400 that names the field, and nothing changes. Each change is a note event in the log with the old and the new value. The settings are saved in BOX_HOME/settings.json.

Media typeapplication/json
object
approvalThresholdCents

A single spend above this, in US cents, always asks for an OK, even inside the task’s budget.

integer
default: 10000
defaultBudgetCents

The budget of a task that names none. 0 means every spend asks.

integer
0
networkDefault

With allowlist, a task that names no hosts gets defaultHosts.

string
default: none
Allowed values: none allowlist
defaultHosts
Array<string>
default: <= 100 items
agentFolders

Personal. Folders agents may be given besides the owner’s home. Never the system or the box’s own state.

Array<string>
default: <= 50 items
quietHours
object
enabled
boolean
from
string
default: 22:00
to
string
default: 07:00
logRetentionDays
integer
default: 365 >= 1 <= 3650
updateChannel
string
default: stable
Allowed values: stable beta
autoUpdate
boolean
default: true
appearance
object
theme
string
default: system
Allowed values: light dark system
accent

A color like #5b8cff, or empty for the default.

string

Example

{
"approvalThresholdCents": 2000,
"networkDefault": "allowlist",
"defaultHosts": [
"example.com"
]
}

Every setting, after the change.

Media typeapplication/json
object
approvalThresholdCents

A single spend above this, in US cents, always asks for an OK, even inside the task’s budget.

integer
default: 10000
defaultBudgetCents

The budget of a task that names none. 0 means every spend asks.

integer
0
networkDefault

With allowlist, a task that names no hosts gets defaultHosts.

string
default: none
Allowed values: none allowlist
defaultHosts
Array<string>
default: <= 100 items
agentFolders

Personal. Folders agents may be given besides the owner’s home. Never the system or the box’s own state.

Array<string>
default: <= 50 items
quietHours
object
enabled
boolean
from
string
default: 22:00
to
string
default: 07:00
logRetentionDays
integer
default: 365 >= 1 <= 3650
updateChannel
string
default: stable
Allowed values: stable beta
autoUpdate
boolean
default: true
appearance
object
theme
string
default: system
Allowed values: light dark system
accent

A color like #5b8cff, or empty for the default.

string

Example

{
"approvalThresholdCents": 10000,
"defaultBudgetCents": 0,
"networkDefault": "none",
"defaultHosts": [],
"agentFolders": [],
"quietHours": {
"enabled": false,
"from": "22:00",
"to": "07:00"
},
"logRetentionDays": 365,
"updateChannel": "stable",
"autoUpdate": true,
"appearance": {
"theme": "light"
}
}

An unknown setting or a bad value.

Media typeapplication/json
object
error
required

What went wrong

string

Example

{
"error": "settings.defaultBudgetCents: must be a whole number from 0 to 100000000"
}

The owner’s route, called by someone who is not the box’s own screen or a device paired as the owner.

Media typeapplication/json
object
error
required

What went wrong

string

Example

{
"error": "only the box's own screen or the owner's paired device can do this"
}

GurtOS is open source under the Apache License 2.0.Source code on GitHub.