Skip to content
GurtOS

Change Business settings

PUT
/business
curl --request PUT \
--url http://127.0.0.1:7700/api/business \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "on": true, "company": "Fogline", "policy": "Over $10,000 goes to the Controller.\nEverything else goes to any approver." }'

Preview. For an admin or the owner. Only the owner turns Business on or off, or maps a work-account group to the owner role. Send only what changes. A policy line the box cannot read is a 400 that names it. Turning Business off keeps the people and the policy for next time. On a Business box, only people answer in SpacetimeDB.

Media typeapplication/json
object
on
boolean
company
string
<= 80 characters
policy

One rule per line, such as Over $10,000 goes to the Controller. The first match decides. # starts a comment.

string
<= 8000 characters
seats
Array<object>
<= 20 items
object
name
required
string
<= 60 characters
about
string
<= 120 characters
may
string
<= 80 characters
shadow

Names of seats to run in shadow mode.

Array<string>
sso

Work-account sign-in: {name, issuer, clientId, secretKey, domain?, groups}. null turns it off. secretKey is a vault key that starts with SSO_.

object | null

Example

{
"on": true,
"company": "Fogline",
"policy": "Over $10,000 goes to the Controller.\nEverything else goes to any approver."
}

The settings after the change.

Media typeapplication/json
object
on
boolean
company
string
policy
string
rules
Array<object>
object
line
string
to
string
any
boolean
overCents
integer
phrase
string
app
string
blocked
boolean
approvers

Names of the people who approve under it.

Array<string>
changed

Who last changed the line, and when: {by, at}.

object | null
warnings
Array<string>
seats
Array<object>
object
sso

The sign-in settings. Never the secret.

object | null
shadow
Array<string>
pilot

The one-week pilot record.

object
paused
One of:
null

Example generated

{
"on": true,
"company": "example",
"policy": "example",
"rules": [
{
"line": "example",
"to": "example",
"any": true,
"overCents": 1,
"phrase": "example",
"app": "example",
"blocked": true,
"approvers": [
"example"
],
"changed": "example"
}
],
"warnings": [
"example"
],
"seats": [
{}
],
"sso": "example",
"shadow": [
"example"
],
"pilot": {},
"paused": {
"by": "example",
"at": "2026-04-15T12:00:00Z",
"via": "example"
}
}

An unknown field or a bad value, with the reason.

Media typeapplication/json
object
error
required

What went wrong

string

Example generated

{
"error": "example"
}

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 this computer's own screen or the owner's paired device can do this"
}