بنقرة واحدة
umbraco-member
Front-office member operations (login, profile, groups)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Front-office member operations (login, profile, groups)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use csv-update to batch-modify a property across multiple documents.
Search for a data type, inspect it, and update its configuration.
Walk the content tree to find a document, update a property, and publish.
Search for documents matching a query and publish them.
Call an authenticated raw Umbraco Management API endpoint
Persistent authentication helpers
| name | umbraco-member |
| description | Front-office member operations (login, profile, groups) |
| metadata | {"version":"0.4.8","requires":{"bins":["umbraco"],"skills":["umbraco-shared"]}} |
PREREQUISITE: Read
../umbraco-shared/SKILL.mdfor auth, global flags, and security rules.
umbraco member <command> [flags]
| Command | Description |
|---|---|
member get <id> | Get a member by ID |
member list | List members (paginated; use --filter for substring search) |
member search <query> | Search members by username/email substring (shorthand for 'member list --filter') |
umbraco member get <id>
| Flag | Type | Default | Description |
|---|---|---|---|
--fields | string | — | Limit response fields |
umbraco member list
| Flag | Type | Default | Description |
|---|---|---|---|
--fields | string | — | Limit response fields (defaults to all; pass id,username,email,... for agent-friendly summaries) |
--filter | string | — | Substring filter against member username/email |
--first-n | int | 0 | Return only the first N items from item collections |
--ids-only | bool | false | Return only item IDs for item collections |
--skip | int | -1 | Skip count (passes through as ?skip=N; lets you walk past the server page size on large children/root collections) |
--summarize | bool | false | Return only id/name/alias fields for item collections |
--take | int | -1 | Take count (passes through as ?take=N; combine with --skip to page) |
umbraco member search <query>
| Flag | Type | Default | Description |
|---|---|---|---|
--fields | string | id,username,email,isApproved,isLockedOut,isTwoFactorEnabled,failedPasswordAttempts,groups | Limit response fields (default surfaces login-diagnosis fields; pass empty string for full payload) |
--first-n | int | 0 | Return only the first N items from item collections |
--ids-only | bool | false | Return only item IDs for item collections |
--summarize | bool | false | Return only id/name/alias fields for item collections |
--take | int | -1 | Maximum results (passes through as ?take=N) |
Safety: Always use
--dry-runfirst. Remove the flag only after verifying the dry-run output.
| Command | Description |
|---|---|
member create | Create a member |
member delete <id> | Permanently delete a member |
member set-groups <id> | Replace or modify a member's group memberships |
member update <id> | Update a member |
member update-properties <id> | Update member custom property values (merges into values[] by alias) |
umbraco member create
POST /member. Use --print-template to see the accepted payload shape. The 'id' field is generated by the CLI if omitted.
Known API limitation (Umbraco 17.x): these fields appear on the GET response but are NOT accepted by POST /member — including them returns 2xx but the server value does not change:
These are managed by the auth subsystem (login flow / backoffice action), not by the create endpoint. They are omitted from --print-template for that reason.
| Flag | Type | Default | Description |
|---|---|---|---|
--dry-run | bool | false | Print the planned request without executing |
--json | string | — | Create payload as JSON |
--print-template | bool | false | Print an annotated JSON skeleton; substitute placeholders before passing to --json |
Safe pattern:
# 1. Dry run first
umbraco member create --dry-run
# 2. Execute
umbraco member create
umbraco member delete <id>
| Flag | Type | Default | Description |
|---|---|---|---|
--dry-run | bool | false | Print the planned request without executing |
--force | bool | false | Confirm permanent deletion |
Safe pattern:
# 1. Dry run first
umbraco member delete <id> --dry-run
# 2. Execute
umbraco member delete <id> --force
umbraco member set-groups <id>
Mutates the member's groups[] array. Pick one mode:
--groups <guid,guid,…> Replace the member's groups with this exact set --add-groups <guid,guid,…> Append (idempotent — no PUT if all groups already present) --remove-groups <guid,guid,…> Remove (idempotent — no PUT if none of the groups are present)
Group GUIDs come from 'member-group list'. The PUT preserves every other field on the member.
| Flag | Type | Default | Description |
|---|---|---|---|
--add-groups | string | — | Comma-separated group GUIDs to add (idempotent) |
--dry-run | bool | false | Print the planned request without executing |
--groups | string | — | Comma-separated group GUIDs; replaces the member's groups[] with this exact set |
--remove-groups | string | — | Comma-separated group GUIDs to remove (idempotent) |
Safe pattern:
# 1. Dry run first
umbraco member set-groups <id> --dry-run
# 2. Execute
umbraco member set-groups <id>
umbraco member update <id>
Updates a member with the uniform CLI update contract:
--json full replacement; the server resets any field not mentioned --merge-json fetches the current member, deep-merges the patch, and PUTs the result; fields not mentioned are preserved
Before v0.4.0 --json silently behaved like --merge-json on this resource. Pass --merge-json for partial edits.
Known API limitation (Umbraco 17.x): the Management API's UpdateMemberRequestModel does NOT accept the following fields, even though they appear on the read model. The CLI rejects input that includes them up front — letting the request through would silently return 204 with the server value unchanged, producing a false-positive {"updated": true}:
These are managed by the auth subsystem (login flow / backoffice action), not by PUT /member/{id}.
| Flag | Type | Default | Description |
|---|---|---|---|
--dry-run | bool | false | Print the planned request without executing |
--json | string | — | Full replacement payload as JSON (fields not mentioned are reset by the server) |
--merge-json | string | — | Partial JSON deep-merged into the current member before update (fields not mentioned are preserved) |
Safe pattern:
# 1. Dry run first
umbraco member update <id> --dry-run
# 2. Execute
umbraco member update <id>
umbraco member update-properties <id>
Accepts the same three input shapes as 'document update-properties': object {alias: value, ...}, array [{alias, value, culture?, segment?}, ...], or envelope {"values": [...]}. Merges into the member's existing values[] so untouched properties survive.
| Flag | Type | Default | Description |
|---|---|---|---|
--dry-run | bool | false | Print the planned request without executing |
--json | string | — | Properties payload as JSON (object / array / envelope) |
Safe pattern:
# 1. Dry run first
umbraco member update-properties <id> --dry-run
# 2. Execute
umbraco member update-properties <id>
# Browse subcommands
umbraco member --help
# Inspect a specific endpoint schema
umbraco schema member.<method>