Command line
The command line uses the same public API as your code. It acts as you, with a personal access token, in the workspaces you allow.
Install
Section titled “Install”npm install -g @limitry/cliSign in
Section titled “Sign in”limitry loginYour browser opens. Sign in, choose which workspaces the command line
may use and what it may do, and click Allow. The command line creates a personal access token for this computer, valid for 90 days and listed under Account → API tokens, and stores it in ~/.config/limitry/.
On a server or in CI there’s no browser, so pass a token instead, or set it in the environment. Then it writes nothing to disk:
limitry login --token "$TOKEN" # or: echo "$TOKEN" | limitry loginLIMITRY_TOKEN=pat_… limitry whoamilimitry logout revokes the token and forgets it.
Choose a workspace
Section titled “Choose a workspace”limitry workspace listlimitry workspace use acme # the default for later commandslimitry workspace audit-events list --workspace other-co # one call elsewhereEvery API operation is a command
Section titled “Every API operation is a command”Each operation in the API reference is a command, named after its resource and action:
limitry workspace webhook-endpoints listlimitry workspace webhook-endpoints create --url https://example.com/hookslimitry workspace webhook-deliveries list we_123 --limit 10limitry workspace webhook-endpoints delete we_123 --yes- Ids in the path are arguments, and other inputs are flags.
limitry <command> --helplists them with descriptions. --data '{…}'sends a whole JSON body.- Lists print one page. The last line gives the
--cursorfor the next. - Writes send an idempotency key for you.
- An operation that can’t be undone asks for
--yes. limitry api <method> <path>calls any endpoint directly.
Scripts and agents
Section titled “Scripts and agents”Add --json to any command to get the API’s exact JSON on stdout.
Errors then go to stderr as JSON too, in the API’s
error envelope with the HTTP status:
limitry workspace webhook-endpoints list --json | jq '.items[].url'{ "error": { "code": "forbidden", "message": "…", "status": 403, "requestId": "…" }}The exit code is 0 on success and 1 on any failure, including a
refused API call or a missing flag.