---
title: "Update the caller's stored app preferences"
method: POST
path: "/compat/v2/users/updatePreferences"
tags: ["users"]
---

# Update the caller's stored app preferences

`POST /compat/v2/users/updatePreferences`

## Request body

- object
  - `preferencesVersion` number
  - `global.enableSplitPane` boolean
  - `global.language` 'en-us' | 'it-it' | 'de-de' | 'uk-ua' | 'he' | 'es-es' | 'fr-fr' | 'ru-ru' | 'hu-hu' | 'da-dk' | 'zh-cn' | 'pt-pt' | 'pt-br' | 'nl' | 'pl' | 'ja' | 'lt' | 'eu' | 'el' | 'fi' | 'sv' | 'ro' | 'cs' | 'ar-sa' | 'hi' | 'es-mx' | 'ko' | 'nb-no' | 'tr' | 'zh-hant', nullable
  - `global.fontSize` '1rem' | '14px' | '16px' | '18px' | '20px' | '22px' | '24px'
  - `global.theme` 'default' | 'light' | 'dark' | 'black' | 'midnight'
  - `global.preferencesSync` 'enabled' | 'disabled'
  - `global.startPage` 'myRecipes' | 'manageLabels' | 'mealPlans' | 'shoppingLists'
  - `global.offlineModePrompt` 'ask' | 'never'
  - `myRecipes.enableLabelIntersection` boolean
  - `myRecipes.showLabels` boolean
  - `myRecipes.showLabelChips` boolean
  - `myRecipes.showImages` boolean
  - `myRecipes.showSource` boolean
  - `myRecipes.showRecipeDescription` boolean
  - `myRecipes.showRating` boolean
  - `myRecipes.viewType` 'tiles' | 'list' | 'compact'
  - `myRecipes.sortBy` 'title' | '-createdAt' | 'createdAt' | '-updatedAt' | 'updatedAt' | '-lastMadeAt' | 'lastMadeAt'
  - `myRecipes.includeFriends` 'yes' | 'no' | 'search' | 'browse'
  - `recipeDetails.enableWakeLock` boolean
  - `recipeDetails.autoExpandNutrition` boolean
  - `cookMode.fontSize` '1rem' | '14px' | '16px' | '18px' | '20px' | '22px' | '24px'
  - `manageLabels.showCreatedAt` boolean
  - `measurementConverter.enabledUnits` string[]
  - `MealPlan.showAddedBy` boolean
  - `MealPlan.showAddedOn` boolean
  - `MealPlan.startOfWeek` 'monday' | 'sunday'
  - `MealPlan.viewType` 'calendar' | 'list'
  - `ShoppingList.sortBy` 'title' | '-title' | 'createdAt' | '-createdAt'
  - `ShoppingList.showAddedBy` boolean
  - `ShoppingList.showAddedOn` boolean
  - `ShoppingList.showRecipeTitle` boolean
  - `ShoppingList.preferDelete` boolean
  - `ShoppingList.groupSimilar` boolean
  - `ShoppingList.groupCategories` boolean
  - `ShoppingList.ignoreItemTitles` string

## Response `200`

Successful response

- string

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `500` — Internal server error

---

[API](https://skmtc.dev/recipesage/apis/recipesage-api.md) · [All operations](https://skmtc.dev/recipesage/apis/recipesage-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/recipesage/recipesage-api/revisions/08ef517bf108/schema)
