pet.trezy.setPreferences

trezy.pet

Documentation

Save a text style, either for the whole account or for one device. ⚠ `scope` IS REQUIRED AND HAS NO DEFAULT. Guessing it is the one mistake that cannot be undone by guessing again: silently defaulting to `account` changes the typeface on every device somebody owns when they meant to change one, and silently defaulting to `device` leaves them wondering why their laptop never followed. The client always knows which the player asked for, because the player was asked.

main procedure

Save a text style, either for the whole account or for one device. ⚠ `scope` IS REQUIRED AND HAS NO DEFAULT. Guessing it is the one mistake that cannot be undone by guessing again: silently defaulting to `account` changes the typeface on every device somebody owns when they meant to change one, and silently defaulting to `device` leaves them wondering why their laptop never followed. The client always knows which the player asked for, because the player was asked.

Input

Encodingapplication/json
deviceId string Optional

Required for `device` scope; optional for `account`, where supplying it clears this device's override. Opaque — the client generates it and it must carry nothing about the device or the person.

maxLength: 64 bytes
fingerprint string Optional

No description available.

maxLength: 64 bytes
label string Optional

No description available.

maxLength: 60 bytes
scope string Required

`account` writes the account-wide default AND deletes this device's override, so the device the player is holding actually follows the choice they just made. `device` writes an override for `deviceId` alone and leaves the account default untouched.

typeMode string Optional

No description available.

typeOffered boolean Optional

Account-scope only. Refused with `device`, because being told about pixel type is a fact about a person and storing it per-device would re-arm the notice on every new device.

Output

Encodingapplication/json
error string Optional

A stable machine code the client branches on — add codes, never rename them.

Known values: not-authenticated, invalid-scope, invalid-mode, device-required, offered-is-account-scope, nothing-to-do, save-failed
message string Optional

No description available.

typeMode string Optional

No description available.

Known values: pixel, softer, system
typeOffered 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.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "type": "procedure",
  "input": {
    "schema": {
      "type": "object",
      "required": [
        "scope"
      ],
      "properties": {
        "label": {
          "type": "string",
          "maxLength": 60
        },
        "scope": {
          "type": "string",
          "description": "`account` writes the account-wide default AND deletes this device's override, so the device the player is holding actually follows the choice they just made. `device` writes an override for `deviceId` alone and leaves the account default untouched.",
          "knownValues": [
            "account",
            "device"
          ]
        },
        "deviceId": {
          "type": "string",
          "maxLength": 64,
          "description": "Required for `device` scope; optional for `account`, where supplying it clears this device's override. Opaque — the client generates it and it must carry nothing about the device or the person."
        },
        "typeMode": {
          "type": "string",
          "knownValues": [
            "pixel",
            "softer",
            "system"
          ]
        },
        "fingerprint": {
          "type": "string",
          "maxLength": 64
        },
        "typeOffered": {
          "type": "boolean",
          "description": "Account-scope only. Refused with `device`, because being told about pixel type is a fact about a person and storing it per-device would re-arm the notice on every new device."
        }
      }
    },
    "encoding": "application/json"
  },
  "output": {
    "schema": {
      "type": "object",
      "required": [],
      "properties": {
        "error": {
          "type": "string",
          "description": "A stable machine code the client branches on — add codes, never rename them.",
          "knownValues": [
            "not-authenticated",
            "invalid-scope",
            "invalid-mode",
            "device-required",
            "offered-is-account-scope",
            "nothing-to-do",
            "save-failed"
          ]
        },
        "message": {
          "type": "string"
        },
        "typeMode": {
          "type": "string",
          "knownValues": [
            "pixel",
            "softer",
            "system"
          ]
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime"
        },
        "typeOffered": {
          "type": "boolean"
        }
      }
    },
    "encoding": "application/json"
  },
  "description": "Save a text style, either for the whole account or for one device. ⚠ `scope` IS REQUIRED AND HAS NO DEFAULT. Guessing it is the one mistake that cannot be undone by guessing again: silently defaulting to `account` changes the typeface on every device somebody owns when they meant to change one, and silently defaulting to `device` leaves them wondering why their laptop never followed. The client always knows which the player asked for, because the player was asked."
}

Lexicon Garden

@