elvanto people¶
Directory commands: list people, explore the department/sub-department/position tree, and filter at any level by id, name, or path.
Subcommands¶
| Command | Purpose |
|---|---|
people list |
List active people, optionally filtered by org-tree id |
people org |
Show the full department / sub-department / position tree |
people list¶
By default, prints active people only as a table:
JSON output (--json) includes archived people and per-person department
entries. Each entry has up to three levels populated:
[
{
"id": "1eb01e76-...",
"name": "Alice Brown",
"email": "alice@example.com",
"status": "active",
"departments": [
{
"department": "Music Team",
"department_id": "d-1-...",
"sub_department": "Vocals",
"sub_department_id": "sd-1-...",
"position": "Worship Leader",
"position_id": "p-wl-..."
}
]
}
]
Flags¶
| Flag | Description |
|---|---|
--in <ID\|NAME\|PATH> |
Keep people whose department, sub-department, or position matches. Accepts a full UUID, short first-block, name (Vocals), or path (Music Team/Vocals). Repeat for OR. See Lookups. |
--id <MODE> |
short (default), long, or hidden. See Lookups. |
--json |
Emit normalized JSON instead of text. JSON output ignores --id and always uses full UUIDs. |
Filtering by org tree¶
--in matches at every level of the org tree. Pick whichever form is most
ergonomic — id, name, or path:
# By short id (stable for scripts and .env files)
elvanto people list --in 03fa8320
# By name (case-insensitive; errors if ambiguous)
elvanto people list --in Vocals
elvanto people list --in "Worship Leader"
# By path — disambiguates same-name nodes
elvanto people list --in "Music Team/Vocals"
elvanto people list --in "Music Team/Vocals/Leader"
# Parent match includes the whole subtree
elvanto people list --in "Music Team" # everyone in Music Team or any child
# Multiple OR-matched lookups
elvanto people list --in Vocals --in "Welcome Team"
Ambiguous matches (e.g. --in Leader when several positions are named
"Leader") fail with a table of candidates. Typos get top-3 Did you mean?
suggestions. See Lookups for full semantics.
people org¶
Prints the full organisational tree — every top-level department, its sub-departments, and every position under those — as a flat list in depth-first order, with indentation in the name column conveying depth:
d7341d20 | Cafe Team
d73545dc | Cafe
d7362b3d | Barista
d7382c2a | Counter
d738f481 | Manager
…
d3d88873 | 7up
dcb35040 | 7up Sunday (School Years 7 - 9)
0f9cb778 | Leader
Two columns: id | name. JSON output (--json) keeps the full schema with
kind (department / sub_department / position) and parent fields
for programmatic consumers.
Flags¶
| Flag | Description |
|---|---|
--id <MODE> |
short (default), long, or hidden. See Lookups. |
--json |
Emit normalized JSON (includes kind and parent). |
Notes¶
- The tree is only discovered by walking
people/getAll— the API does not expose a dedicated list-all-departments endpoint. So this command always paginates through all people. - Output is deduplicated and sorted alphabetically within each level.