uidudevelopers
ToolsCLI

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
Entitylistgetcreateupdatedelete
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… --json

Capability 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:

CommandWhat it does
uidu pages listList CMS pages
uidu page get <slug>Fetch one CMS page
uidu page createCreate a page (--name --slug | --attributes <json>)
uidu block createCreate a page block (--attributes <json>)
uidu field createCreate a field value (--attributes <json>)
uidu workspace createCreate a workspace (--name | --attributes <json>)
uidu workspace credentialsGenerate workspace API credentials
uidu project createCreate 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

On this page