Merge My Preferences
PATCH/api/me/preferences
Updates the authenticated user's preferences, merging object fields into what is already saved instead of replacing them. Scalar fields are written as sent.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Merge rules:
table_preferences— merged per list, then per setting. Sendingnullfor a list removes it;nullfor a setting removes that setting.page_versions— merged per page;nullremoves the page.recents— each list sent (destinations,searches,entities) replaces that list; lists not sent are kept.- Sending any object field itself as
nullclears it.
Authentication: Requires Bearer token. Any authenticated user can update their own preferences.
Body fields (all optional):
show_internal_ids,nav_rail_collapsed,supplier_message_notifications,pulse_enabled,pulse_collapsed(boolean)density(string) —compact(default) orcomfortable.landing_page(string) —dashboard,last_visitedorpath.landing_path(string|null) — required whenlanding_pageispath. Must start with/and contain only letters, digits,-,_and/(max 255).default_warehouse_id(integer|null) — an active (not archived) warehouse, ornullto clear.table_preferences(object|null) — up to 200 lists per request; each value is an object withper_page(integer 1–500),view_mode(table|grid) andcolumn_display(column →absolute|relative), ornull. Unknown settings are ignored.page_versions(object|null) — page key →v2|v3.recents.destinations[]—title(required, max 120),path(required, max 255),icon,badgeKey(max 10 items).recents.searches[]—query(required, max 200),timestamp(required, integer ms) (max 10 items).recents.entities[]—id(required, integer),type(required),name(required),detail,path(required),timestamp(required) (max 10 items).
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.