Everything the caller's account knows about how to present the game: the account-wide default, and every device that has been given its own text style. Takes no DID — it answers for whoever is authenticated and nobody else. ⚠ IT RETURNS THE WHOLE PICTURE RATHER THAN AN ANSWER, deliberately: which of these applies depends on which device is asking and what its browser still remembers, and that reconciliation lives in one tested place on the client (src/lib/preferences.ts) instead of being half here and half there.
Output
application/jsondevices
array
Optional
Every device with its own text style. Empty for almost everybody: a row exists only where the player deliberately chose one.
error
string
Optional
Present instead of the preferences when there are none to send. A stable machine code the client branches on — add codes, never rename them. `unavailable` means the read failed and the answer is UNKNOWN, which a client must not treat as 'no preferences': pushing over state it could not read is how an outage destroys a real setting. `no-space` means this player has never saved anything, which is an ordinary empty answer.
not-authenticated, unavailablemessage
string
Optional
No description available.
typeMode
string
Optional
The account-wide default. Absent when the player has never set one — which is NOT the same as the default mode, and is what tells a new device to keep its own.
pixel, softer, systemtypeOffered
boolean
Optional
No description available.
updatedAt
stringdatetime
Optional
An RFC 3339 formatted timestamp.
Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"type": "query",
"output": {
"schema": {
"type": "object",
"required": [],
"properties": {
"error": {
"type": "string",
"description": "Present instead of the preferences when there are none to send. A stable machine code the client branches on — add codes, never rename them. `unavailable` means the read failed and the answer is UNKNOWN, which a client must not treat as 'no preferences': pushing over state it could not read is how an outage destroys a real setting. `no-space` means this player has never saved anything, which is an ordinary empty answer.",
"knownValues": [
"not-authenticated",
"unavailable"
]
},
"devices": {
"type": "array",
"items": {
"ref": "#device",
"type": "ref"
},
"description": "Every device with its own text style. Empty for almost everybody: a row exists only where the player deliberately chose one."
},
"message": {
"type": "string"
},
"typeMode": {
"type": "string",
"description": "The account-wide default. Absent when the player has never set one — which is NOT the same as the default mode, and is what tells a new device to keep its own.",
"knownValues": [
"pixel",
"softer",
"system"
]
},
"updatedAt": {
"type": "string",
"format": "datetime"
},
"typeOffered": {
"type": "boolean"
}
}
},
"encoding": "application/json"
},
"description": "Everything the caller's account knows about how to present the game: the account-wide default, and every device that has been given its own text style. Takes no DID — it answers for whoever is authenticated and nobody else. ⚠ IT RETURNS THE WHOLE PICTURE RATHER THAN AN ANSWER, deliberately: which of these applies depends on which device is asking and what its browser still remembers, and that reconciliation lives in one tested place on the client (src/lib/preferences.ts) instead of being half here and half there."
}