The Dime.Scheduler CLI
dimescheduler is a single self-contained binary. There's nothing else to install - no .NET runtime, no Node, no Python. It works on macOS, Linux, and Windows.
The CLI is generated from the same OpenAPI specification as the SDKs, so its commands and flags stay in lockstep with the API.
Install
Homebrew (macOS, Linux)
brew tap dime-scheduler/distro https://github.com/dime-scheduler/distro
brew install dime-scheduler/distro/cli
Scoop (Windows)
scoop bucket add dime-scheduler https://github.com/dime-scheduler/distro
scoop install dime-scheduler/cli
Direct download
Pre-built binaries for Linux, macOS, and Windows are attached to every release in the dime-scheduler/distro repo (look for cli-v* tags). They're also mirrored on the Azure CDN at https://stdimescheduler.blob.core.windows.net/cli/v{version}/.
Drop the binary somewhere on your PATH and you're done.
Verify the install
dimescheduler version
Pass --check-update to compare against the latest release on GitHub.
First call
The fastest way to get going - interactively log in, then list your resources:
dimescheduler auth login
dimescheduler resources list
auth login saves your API key to the config file (~/.config/dimescheduler/config.yaml on macOS/Linux, %APPDATA%\dimescheduler\config.yaml on Windows). For CI and other non-interactive contexts, set DIMESCHEDULER_API_KEY instead - see Authentication.
Command shape
Every command follows the same shape:
dimescheduler <entity> <verb> [flags]
<entity>is the entity (plural, kebab-case):categories,appointments,resource-gps-trackings, …<verb>islist,create,update, ordelete. Read-only entities only havelist.
A handful of operational commands sit at the top level:
| Command | Purpose |
|---|---|
auth | Log in, log out, check status. See Authentication. |
config | Inspect or change the config file. See Configuration. |
api | Make any authenticated request - like gh api. See API command. |
completion | Print shell completions for bash, zsh, fish, or PowerShell. |
version | Print version, optionally check for updates. |
See Commands for the full reference, and Scripting for output formats and piping recipes.
Global flags
These apply to every command:
| Flag | What it does |
|---|---|
--api-key | API key. Overrides DIMESCHEDULER_API_KEY and the config file. |
--environment | production (default) or sandbox. |
--output, -o | table (default in a TTY), json (default when piped), or yaml. |
--profile, -p | Named profile from the config file. |
--config | Path to a config file. |
--timeout | Per-request HTTP timeout, e.g. 30s, 2m. |
--debug | Print every HTTP request/response to stderr. |
--verbose | Print extra progress info. |
--quiet | Suppress non-error output. |
--no-color | Disable ANSI colours (also honours NO_COLOR). |
Discovering options
Every command and subcommand has --help. That's the canonical reference - it ships with the binary you have installed and never drifts from the actual flags:
dimescheduler --help # all commands
dimescheduler categories --help # verbs for an entity
dimescheduler categories create --help # flags for a specific call
The pages in this section describe the shape and intent of each capability - install, auth, command reference, scripting. For the exact flags of any command, use --help.