Docyrus Account Settings
Two related settings surfaces, both under docyrus account:
- User profile (
account user-profile) — the signed-in user's own personal
details. Self-service: no admin rights needed, and it always acts on the current
user (there is no id/selector).
- Tenant preferences (
account tenant-preferences) — the whole workspace's
regional & formatting defaults (language, dates, numbers, currency, working
hours). Anyone can read them; updating requires tenant-admin.
Both are read + update only — there is no create or delete (each record exists
for the lifetime of the user / workspace).
For the complete field list (every flag, accepted values, and the snake_case key
to use inside --data) read references/fields.md.
Workflow
Confirm auth and the right workspace — preferences are workspace-wide, so
make sure the active tenant is the intended one.
docyrus auth who --json
No session → stop and ask the user to run docyrus auth login.
Read current values first, so an update only changes what's intended.
docyrus account user-profile get --json
docyrus account tenant-preferences get --json
Update only the fields that change. Updates are partial — unsent fields
keep their current value. An update with no fields is rejected.
Re-read to confirm the values landed.
Commands
Add --json for machine-readable output. Run docyrus account <group> <cmd> --help
for the live flag list.
User profile
docyrus account user-profile get --json
docyrus account user-profile update \
--firstname "Jane" \
--lastname "Doe" \
--mobile "+1 555 0100" \
--dateOfBirth "1990-04-15" \
--timeZone "America/New_York" \
--language "en_US" \
--json
Editable fields: --firstname, --lastname, --mobile, --dateOfBirth
(YYYY-MM-DD), --gender, --timeZone, --language. These are the only things a
user can change about themselves — email, photo, job title, roles, and
organization unit are managed elsewhere (admin tools), so they are not editable
here even though get may show them.
Tenant preferences
docyrus account tenant-preferences get --json
# Regional
docyrus account tenant-preferences update \
--language "en_US" --locale "en_GB" --timeZone "Europe/Istanbul" \
--startWeekOn 1 --fiscalYear 1 --json
# Date / time format strings (PHP-style, e.g. Y-m-d, d.m.Y H:i)
docyrus account tenant-preferences update \
--dateFormat "Y-m-d" --timeFormat "H:i" --dateTimeFormat "Y-m-d H:i" --json
# Working hours
docyrus account tenant-preferences update \
--businessHoursBegin "09:00:00" --businessHoursEnd "17:00:00" \
--dailyWorkingHours 28800 --weeklyWorkingCapacity 40 --json
# Currency & numbers
docyrus account tenant-preferences update \
--baseCurrency "EUR" --currencyAbbrPosition AFTER \
--decimalPrecision 2 --decimalSeparator "," --thousandSeparator "." --json
Bulk / scripted payloads
Both update commands also accept --data '<json>' / --from-file <file.json>
(JSON only). Convenience flags win over --data keys when both set the same
field. Inside --data, use the snake_case keys (e.g. time_zone,
date_format, business_hours_begin, currency_abbr_position,
decimal_precision) — the full mapping is in
references/fields.md.
docyrus account tenant-preferences update \
--from-file prefs.json --json
docyrus account user-profile update \
--data '{"firstname":"Jane","time_zone":"America/New_York"}' --json
Key rules
- Only
get and update — no create, no delete. An empty update (no fields
resolved) is rejected before any request is sent.
- Profile is self-only.
account user-profile always targets the signed-in
user; there is no selector and no way to edit another user here.
- Preference updates need tenant-admin. A non-admin caller gets a permission
error from the server.
- Time units matter:
--businessHoursBegin / --businessHoursEnd are
HH:mm:ss (end must be after begin); --dailyWorkingHours is in seconds
(8h = 28800); --weeklyWorkingCapacity is in hours.
- Value ranges:
--startWeekOn is 0 (Sunday) – 6 (Saturday); --fiscalYear
is the start month 1–12; --decimalPrecision is 0–8;
--decimalSeparator / --thousandSeparator are single characters;
--currencyAbbrPosition is BEFORE or AFTER.
- Reading preferences returns just the preferences record with camelCase keys
that line up with the flag names (e.g.
timeZone, dateFormat,
currencyAbbrPosition).
- Clearing a nullable field (
longDateFormat, timeRounding): pass null
via --data — an empty flag value is ignored, not cleared.
Related skills
- docyrus-cli-app — full
docyrus CLI command index and global conventions (--json, auth, environments).
- docyrus-tenant-brand-management — tenant brand identity (
account brands).
- docyrus-platform — Docyrus platform concepts and building blocks.
1---2name: docyrus-account-settings3description: Read and update a Docyrus user's own profile and the active tenant's (workspace's) regional & formatting preferences using the `docyrus account user-profile` and `docyrus account tenant-preferences` CLI commands. Use when the user wants to view or change their personal profile (first/last name, mobile, date of birth, gender, time zone, language) or the workspace-wide regional settings (default language, locale, time zone, date/time format strings, first day of week, fiscal year, business/working hours, base currency, currency position, decimal/thousand separators, decimal precision). Triggers on "update my profile", "change my name/phone/timezone/language", "set my date of birth", "view my account info", "change the workspace language/locale/timezone", "set the date or time format", "set business/working hours", "change base currency", "decimal/thousand separator", "first day of the week", "fiscal year", "regional settings", "tenant preferences", `docyrus account user-profile`, `docyrus account tenant-prefere4---5
6# Docyrus Account Settings
7
8Two related settings surfaces, both under `docyrus account`:
9
10- **User profile** (`account user-profile`) — the **signed-in user's own** personal
11 details. Self-service: no admin rights needed, and it always acts on the current
12 user (there is no id/selector).
13- **Tenant preferences** (`account tenant-preferences`) — the **whole workspace's**
14 regional & formatting defaults (language, dates, numbers, currency, working
15 hours). Anyone can read them; **updating requires tenant-admin**.
16
17Both are **read + update only** — there is no create or delete (each record exists
18for the lifetime of the user / workspace).
19
20For the complete field list (every flag, accepted values, and the snake_case key
21to use inside `--data`) read [references/fields.md](references/fields.md).
22
23## Workflow
24
251. **Confirm auth and the right workspace** — preferences are workspace-wide, so
26 make sure the active tenant is the intended one.
27 ```bash
28 docyrus auth who --json
29 ```
30 No session → stop and ask the user to run `docyrus auth login`.
31
322. **Read current values first**, so an update only changes what's intended.
33 ```bash
34 docyrus account user-profile get --json
35 docyrus account tenant-preferences get --json
36 ```
37
383. **Update only the fields that change.** Updates are partial — unsent fields
39 keep their current value. An update with no fields is rejected.
40
414. **Re-read** to confirm the values landed.
42
43## Commands
44
45Add `--json` for machine-readable output. Run `docyrus account <group> <cmd> --help`
46for the live flag list.
47
48### User profile
49
50```bash
51docyrus account user-profile get --json
52
53docyrus account user-profile update \
54 --firstname "Jane" \
55 --lastname "Doe" \
56 --mobile "+1 555 0100" \
57 --dateOfBirth "1990-04-15" \
58 --timeZone "America/New_York" \
59 --language "en_US" \
60 --json
61```
62
63Editable fields: `--firstname`, `--lastname`, `--mobile`, `--dateOfBirth`
64(`YYYY-MM-DD`), `--gender`, `--timeZone`, `--language`. These are the only things a
65user can change about themselves — email, photo, job title, roles, and
66organization unit are managed elsewhere (admin tools), so they are not editable
67here even though `get` may show them.
68
69### Tenant preferences
70
71```bash
72docyrus account tenant-preferences get --json
73
74# Regional
75docyrus account tenant-preferences update \
76 --language "en_US" --locale "en_GB" --timeZone "Europe/Istanbul" \
77 --startWeekOn 1 --fiscalYear 1 --json
78
79# Date / time format strings (PHP-style, e.g. Y-m-d, d.m.Y H:i)
80docyrus account tenant-preferences update \
81 --dateFormat "Y-m-d" --timeFormat "H:i" --dateTimeFormat "Y-m-d H:i" --json
82
83# Working hours
84docyrus account tenant-preferences update \
85 --businessHoursBegin "09:00:00" --businessHoursEnd "17:00:00" \
86 --dailyWorkingHours 28800 --weeklyWorkingCapacity 40 --json
87
88# Currency & numbers
89docyrus account tenant-preferences update \
90 --baseCurrency "EUR" --currencyAbbrPosition AFTER \
91 --decimalPrecision 2 --decimalSeparator "," --thousandSeparator "." --json
92```
93
94### Bulk / scripted payloads
95
96Both `update` commands also accept `--data '<json>'` / `--from-file <file.json>`
97(JSON only). Convenience flags win over `--data` keys when both set the same
98field. Inside `--data`, use the **snake_case** keys (e.g. `time_zone`,
99`date_format`, `business_hours_begin`, `currency_abbr_position`,
100`decimal_precision`) — the full mapping is in
101[references/fields.md](references/fields.md).
102
103```bash
104docyrus account tenant-preferences update \
105 --from-file prefs.json --json
106docyrus account user-profile update \
107 --data '{"firstname":"Jane","time_zone":"America/New_York"}' --json
108```
109
110## Key rules
111
112- **Only `get` and `update`** — no create, no delete. An empty update (no fields
113 resolved) is rejected before any request is sent.
114- **Profile is self-only.** `account user-profile` always targets the signed-in
115 user; there is no selector and no way to edit another user here.
116- **Preference updates need tenant-admin.** A non-admin caller gets a permission
117 error from the server.
118- **Time units matter:** `--businessHoursBegin` / `--businessHoursEnd` are
119 `HH:mm:ss` (end must be after begin); `--dailyWorkingHours` is in **seconds**
120 (8h = 28800); `--weeklyWorkingCapacity` is in **hours**.
121- **Value ranges:** `--startWeekOn` is 0 (Sunday) – 6 (Saturday); `--fiscalYear`
122 is the start month `1`–`12`; `--decimalPrecision` is 0–8;
123 `--decimalSeparator` / `--thousandSeparator` are single characters;
124 `--currencyAbbrPosition` is `BEFORE` or `AFTER`.
125- **Reading preferences returns just the preferences record** with camelCase keys
126 that line up with the flag names (e.g. `timeZone`, `dateFormat`,
127 `currencyAbbrPosition`).
128- **Clearing a nullable field** (`longDateFormat`, `timeRounding`): pass `null`
129 via `--data` — an empty flag value is ignored, not cleared.
130
131## Related skills
132
133- **docyrus-cli-app** — full `docyrus` CLI command index and global conventions (`--json`, auth, environments).
134- **docyrus-tenant-brand-management** — tenant brand identity (`account brands`).
135- **docyrus-platform** — Docyrus platform concepts and building blocks.