Skip to content

Change some of this user's console preferences

PUT
/api/v1/profile/console
curl --request PUT \
--url http://localhost:11044/api/v1/profile/console \
--header 'Content-Type: application/json' \
--header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>' \
--data '{ "entries": { "additionalProperty": { "at": 1, "value": "example" } } }'

Merges entry by entry: each named setting replaces the stored one unless the stored one was set later (at), so the last change wins whichever browser sends it first. Settings not named are kept. Answers the whole document as stored afterwards, which is what a browser should now show.

The settings to change in entries, each {value, at}: value is any JSON, null to remove the setting; at is when it was changed, epoch milliseconds

Media typeapplication/json

Settings to change, each with the time it was changed; settings not named are left as they are

object
entries
required

The settings to change, by key. A key is 1-64 letters, digits, ‘.’, ‘_’ or ‘-’, starting with a letter or digit

object
key
additional properties

One console setting and when it was set

object
at
required

When the change was made, epoch milliseconds. A write older than the stored entry is ignored; a time ahead of the server’s clock is taken as now

integer format: int64
value

The setting’s value as the console wrote it, any JSON; null removes the setting

Example generated

{
"entries": {
"additionalProperty": {
"at": 1,
"value": "example"
}
}
}

The preferences as stored after the change

Media type*/*

The acting user’s console preferences in their active world: theme, wallpaper, window layout, dock pins and the like, keyed by setting

object
entries
required

Each setting by key. An entry whose value is null was removed, and is kept so an older write cannot bring it back

object
key
additional properties

One console setting and when it was set

object
at
required

When the change was made, epoch milliseconds. A write older than the stored entry is ignored; a time ahead of the server’s clock is taken as now

integer format: int64
value

The setting’s value as the console wrote it, any JSON; null removes the setting

schema
required

Format of this document; 1

integer format: int32
updatedAt

When a write last changed something, by the server’s clock; null when nothing has been stored

string format: date-time
version
required

Increases by one on every write that changed something; 0 when nothing has been stored

integer format: int64

A setting name that is not 1-64 letters, digits, ‘.’, ‘_’ or ‘-’, or more than 64 settings

Media type*/*

The body the servlet error dispatch answers for a status raised by an exception rather than written by the endpoint. Every failure except 404, which answers the not-found HTML page

object
error
required

The status’s standard reason phrase, such as Bad Request or Forbidden

string
path
required

The request path that failed

string
status
required

The HTTP status code, repeated from the status line

integer format: int32

Not authenticated

The preferences would be larger than 6 MiB; nothing was changed

Media type*/*

The body the servlet error dispatch answers for a status raised by an exception rather than written by the endpoint. Every failure except 404, which answers the not-found HTML page

object
error
required

The status’s standard reason phrase, such as Bad Request or Forbidden

string
path
required

The request path that failed

string
status
required

The HTTP status code, repeated from the status line

integer format: int32