Skip to main content

Commands reference

Every command is discoverable via --help. This page is the map: what's available, 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 commands 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​

Here's the full list of entity commands, grouped by how they relate. The first column is the command name (plural, kebab-case); the second lists any 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. It works the same way 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.