Commands
The uidu CLI command reference — entities (list/get/create), CMS, provisioning, and scaffolding.
All commands accept --json for machine-readable output (what AI agents parse), --workspace
to override the workspace, and --first <n> for list page size.
Entities
Most scopes are exposed through a uniform verb set:
uidu <entity> list [--first 50]
uidu <entity> get <id>
uidu <entity> create --attributes '<json>' # write — needs a Bearer token
uidu <entity> update <id> --attributes '<json>' # write
uidu <entity> delete <id> # write| Entity | list | get | create | update | delete |
|---|---|---|---|---|---|
events | ✓ | ✓ | ✓ | ✓ | — |
attendances | — | — | ✓ | — | — |
stories | ✓ | ✓ | ✓ | ✓ | — |
donations | ✓ | ✓ | ✓ | ✓ | ✓ |
courses | ✓ | ✓ | ✓ | ✓ | ✓ |
forms | ✓ | ✓ | ✓ | ✓ | ✓ |
contacts | ✓ | ✓ | ✓ | — | ✓ |
deals | ✓ | ✓ | ✓ | ✓ | — |
goals | ✓ | ✓ | — | ✓ | — |
timeframes | ✓ | — | — | — | — |
employees | ✓ | — | ✓ | ✓ | — |
employments | — | — | ✓ | ✓ | ✓ |
offices | ✓ | — | — | — | — |
roles | ✓ | — | — | — | — |
ccnls | ✓ | — | ✓ | — | — |
bookings | ✓ | ✓ | — | — | — |
calls | ✓ | ✓ | — | — | — |
jobs | ✓ | ✓ | — | — | — |
applications | ✓ | — | ✓ | — | — |
campaigns | ✓ | ✓ | — | — | — |
kb-collections | ✓ | ✓ | ✓ | ✓ | ✓ |
kb-articles | ✓ | ✓ | ✓ | ✓ | ✓ |
channel | ✓ | ✓ | ✓ | ✓ | ✓ |
time-clocks | — | — | ✓ | — | — |
compensations | — | — | ✓ | ✓ | ✓ |
tasks | — | — | ✓ | ✓ | ✓ |
benefits | — | — | ✓ | — | — |
benefit-enrollments | — | — | ✓ | — | — |
notes | — | — | ✓ | ✓ | ✓ |
projects | ✓ | — | — | — | — |
sites | — | — | ✓ | — | — |
spaces | — | — | ✓ | ✓ | ✓ |
uidu events list --first 20 --json
uidu stories get Z2lkOi8v… --json
uidu events create --name "Launch party" --json
uidu channel update Z2lkOi8v… --attributes '{"name":"Help center"}' --json
uidu tasks delete Z2lkOi8v… --jsonCapability varies by entity
The table reflects what the backend exposes. A verb the entity doesn't support fails with
<entity> does not support <verb> — see the authoring reference
for the write model.
All other commands
Every command outside the entity registry, generated from the CLI's own --help:
| Command | What it does |
|---|---|
uidu pages list | List CMS pages |
uidu page get <slug> | Fetch one CMS page |
uidu page create | Create a page (--name --slug | --attributes <json>) |
uidu block create | Create a page block (--attributes <json>) |
uidu field create | Create a field value (--attributes <json>) |
uidu workspace create | Create a workspace (--name | --attributes <json>) |
uidu workspace credentials | Generate workspace API credentials |
uidu project create | Create a project (--attributes <json>) |
uidu tools call <key> | Run one action (--attributes <json>, associations as GlobalIDs) |
CMS
Pages are project-scoped — pass --project <id> or set UIDU_PROJECT_ID.
uidu pages list --project proj_xyz --json
uidu page get home --project proj_xyz --json
uidu page create --name Home --slug home --attributes '{"projectId":"proj_xyz"}'
uidu block create --attributes '<json>'
uidu field create --attributes '<json>'Provisioning
uidu workspace create --name "Acme"
uidu workspace credentials # rotate/return the workspace api key + secret
uidu project create --attributes '<json>'
uidu spaces create --name "Team"
uidu tasks create --name "Do the thing"
uidu notes create --attributes '{"body":"…"}'Attributes shape
create commands send the mutation's attributes input. Use --name / --slug for common
fields, or --attributes '<json>' for the full object. The command returns the mutation payload
including an errors array — always non-empty on validation failure (the CLI exits non-zero).
Scaffold
uidu create my-app # interactive
uidu create my-app -t events # pick a template (delegates to create-uidu-app)Composed example — zero to site
uidu login --workspace acme
uidu workspace credentials --json # capture publicToken for the app
uidu page create --name Home --slug home --attributes '{"projectId":"proj_xyz"}'
uidu create acme-site -t minimal # scaffold a Next.js app wired to the workspace