Replace the caller's desktop home layout
Overwrites the caller's saved home dashboard widget layout for this workspace. Requires `workspace:read`. This is a full replacement rather than a patch, so sending the same layout twice is a no-op.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/workspaces/string/preferences/home-layout" \ -H "Content-Type: application/json" \ -d '{ "widgets": [ { "id": "string", "kind": "string", "x": 0, "y": 0, "w": 0, "h": 0 } ] }'{ "data": { "homeLayout": { "widgets": [ { "id": "string", "kind": "string", "x": 0, "y": 0, "w": 0, "h": 0, "config": {} } ] } }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Set the caller's custom order for an item
Stores the caller's custom sort position for one workspace item in their sidebar, creating the preference row if needed. Requires `workspace:read`. Naturally idempotent: writing the same order again leaves the row unchanged.
Replace the caller's mobile home layout
Overwrites the caller's saved mobile home layout for this workspace, and clears a stored desktop layout that was only ever a legacy mobile stand-in. Requires `workspace:read`. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.