Skip to main content

Get all preferences for the authenticated user

GET 

/api/v1/user/preferences

The store is an open key -> JSON map: any syntactically valid key is accepted, and this endpoint returns whatever the user has set. The list below is not a whitelist, it is the set Codex's own clients read and write. A client that wants a user's settings to follow them between devices has to use these exact keys and value shapes.

KeyValue
ui.theme"light", "dark", or "system" (default "system")
library.show_deleted_booksboolean (default false)
want_to_read.sort"newest", "oldest", or "custom" (default "newest")
release_tracking.muted_series_idsarray of series id strings (default [])

Keys are snake_case, matching the server settings store rather than the camelCase of the JSON fields around them: a key is a value in a database column, not a field name.

Global reader settings are deliberately not here. A client's default fit mode, zoom and background are device-local state, held by that client and never synced, because a phone and a desktop legitimately want different ones.

Per-series reader overrides are a different thing and do sync, through /api/v1/user/series/{series_id}/reader-settings. They describe how one book is made rather than how one device is used: a manga is right to left on every screen the user owns, and the stored series value is routinely absent or wrong, so a reader needs that correction to follow them.

Responses

User preferences retrieved