Skip to main content

Commands reference

Every command is discoverable via --help. This page is the map - what's there, how it's organised, and the rules every command follows.

The shape, again

dimescheduler <entity> <verb> [flags]

<entity> is the entity in plural kebab-case (categories, resource-gps-trackings, …). <verb> is list, create, update, or delete. Most entities support all four; a few are read-only.

For create / update / delete, the flags mirror the entity's fields. Run dimescheduler <entity> <verb> --help to see them - the flag set is generated from the OpenAPI specification, so it can't drift from the API.

Top-level operational commands

These aren't tied to an entity:

dimescheduler auth login | logout | status
dimescheduler config get | set | list | path
dimescheduler api <method> <path> [--body ...] [--body-file ...]
dimescheduler completion bash | zsh | fish | powershell
dimescheduler version [--check-update]

auth and config are covered in Authentication. The rest are below.

Entities

The full list of entity commands, grouped roughly the way they relate. The first column is the command name (plural, kebab-case); the second is whichever aliases the CLI also accepts.

Work items

EntityAliasesVerbs
jobsjoblist / create / update / delete
taskstasklist / create / update / delete
task-containerslist / create / update / delete
task-filter-valueslist / create / update / delete
task-lockedlist / create / update / delete
task-urislist / create / update / delete

Resources

EntityAliasesVerbs
resourcesresource, reslist / create / update / delete
resource-calendarslist / create / update / delete
resource-capacitieslist / create / update / delete - list requires --start and --end
resource-certificateslist / create / update / delete
resource-filter-valueslist / create / update / delete
resource-gps-trackingslist / create / update / delete
resource-urislist / create / update / delete
resource-typeslist (read-only)

Appointments

EntityAliasesVerbs
appointmentsappointment, apptlist / create / update / delete - list requires --from and --to (RFC 3339)
appointment-categorieslist / create / update / delete
appointment-contentslist / create / update / delete
appointment-containerslist / create / update / delete
appointment-field-valueslist / create / update / delete
appointment-importanceslist / create / update / delete
appointment-lockedlist / create / update / delete
appointment-planning-quantitieslist / create / update / delete
appointment-time-markerslist / create / update / delete
appointment-urislist / create / update / delete
assignmentsassignmentlist / create / update / delete
appointment-dependencieslist (read-only)
appointment-fieldslist (read-only)

Filters and indicators

EntityAliasesVerbs
filter-groupslist / create / update / delete
filter-valueslist / create / update / delete
categoriescategory, catlist / create / update / delete
time-markerslist / create / update / delete
pinspinlist / create / update / delete

Other

EntityAliasesVerbs
action-urisaction-urilist / create / update / delete
captionscaptionlist / create / update / delete
containerscontainerlist / create / update / delete
notificationsnotificationlist / create / update / delete - list accepts --page, --limit, --sort, --group, --filter
calendarslist (read-only)

Special list flags

Most list commands take no arguments, but three need parameters:

# Date range (RFC 3339)
dimescheduler appointments list --from 2026-05-01T00:00:00Z --to 2026-05-31T23:59:59Z

dimescheduler appointments list --from 2026-05-01T00:00:00Z --to 2026-05-31T23:59:59Z \
--resource RES1 --resource RES2

# Date range (capacities use --start / --end, not --from / --to)
dimescheduler resource-capacities list --start 2026-05-01T00:00:00Z --end 2026-05-31T23:59:59Z

# Paginated notifications
dimescheduler notifications list --page 1 --limit 50 --sort createdAt:desc

api - the escape hatch

For endpoints the typed commands don't cover, api makes any authenticated request. Same idea as gh api:

# GET
dimescheduler api GET /category

# POST with an inline body
dimescheduler api POST /category --body '{"name":"VIP","color":"#22d3ee"}'

# POST from a file
dimescheduler api POST /task --body-file ./task.json

# Query parameters
dimescheduler api GET /notification --query 'page=1&limit=50'

Output formatting and --jq work the same as for typed commands.

Completions

dimescheduler completion bash       # source from .bashrc
dimescheduler completion zsh # source from .zshrc
dimescheduler completion fish # write to ~/.config/fish/completions/dimescheduler.fish
dimescheduler completion powershell # source from your PowerShell profile

Version & update check

dimescheduler version                 # print version
dimescheduler version --check-update # compare against GitHub releases

Exit codes

CodeMeaning
0Success.
1Unexpected error (panic, internal bug).
2Usage error (bad flags, missing required value).
3Authentication error - missing or invalid API key.
4API error - the server returned 4xx or 5xx. The response body is on stderr.
5Network error - DNS, TCP, or TLS failure.

Scripts can branch on these without parsing output. Combine with --quiet for clean set -e pipelines.