This library provides convenient access to the Scalar Galaxy REST API from the command line.
The full API of this library can be found in api.md.
- Installation
- Usage
- API Reference
- Shell Completion
- Manual Pages
- Authentication
- Errors
- Client Options
- Retries and Timeouts
- Helpers
- Logging
- Requirements
# npm (requires Node.js)
npm install -g @scalar/galaxy-cli
# Homebrew — standalone binary, no Node.js required
brew install scalar/galaxy-cli-tap/galaxy
# Direct download — standalone binary, no Node.js required
curl -fsSL https://github.com/scalar/galaxy-cli/releases/latest/download/galaxy-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/x64/;s/aarch64/arm64/').tar.gz | tar xz
sudo mv galaxy /usr/local/bin/
# Windows — download and extract galaxy-windows-x64.zip, then add it to PATH
# https://github.com/scalar/galaxy-cli/releases/latest/download/galaxy-windows-x64.zipgalaxy [resource] [command] [flags]
galaxy planets list-all-data --bearer-auth "$BEARER_AUTH" --limit '10' --offset '0'The examples in the following sections assume a client configured as shown above.
See the API reference for every available operation.
galaxy completion <shell> prints a completion script for bash, zsh, and fish. Add the matching line to your shell startup file to complete commands, subcommands, and flags with Tab.
# bash (~/.bashrc)
eval "$(galaxy completion bash)"
# zsh (~/.zshrc)
eval "$(galaxy completion zsh)"
# fish (~/.config/fish/config.fish)
galaxy completion fish | sourceInstalling the package globally also installs man pages. man galaxy lists every command, and each command has its own page named after the command with spaces and : replaced by -.
man galaxy
man galaxy-<resource>-<command>Pass credentials to the generated client constructor. Environment variables are read automatically when supported by the target runtime.
| Option | Type | Default | Description |
|---|---|---|---|
--bearer-auth |
string | provider |
- | JWT Bearer token authentication Defaults to BEARER_AUTH. |
--basic-auth-username |
string | provider |
- | Basic HTTP authentication Defaults to BASIC_AUTH_USERNAME. |
--basic-auth-password |
string | provider |
- | Basic HTTP authentication Defaults to BASIC_AUTH_PASSWORD. |
--api-key-header |
string | provider |
- | API key request header Defaults to API_KEY_HEADER. |
--api-key-query |
string | provider |
- | API key query parameter Defaults to API_KEY_QUERY. |
--api-key-cookie |
string | provider |
- | API key browser cookie Defaults to API_KEY_COOKIE. |
--o-auth2 |
string | provider |
- | OAuth 2.0 authentication Defaults to SCALAR_O_AUTH2. |
--open-id-connect |
string | provider |
- | OpenID Connect Authentication Defaults to SCALAR_OPEN_ID_CONNECT. |
Declared schemes:
bearerAuthbearer tokenbasicAuthbasic authenticationapiKeyHeaderAPI key in headerX-API-KeyapiKeyQueryAPI key in queryapi_keyapiKeyCookieAPI key in cookieapi_keyoAuth2OAuth2/OpenID ConnectopenIdConnectOAuth2/OpenID Connect
Failed requests print a structured error to standard error and exit with a status that identifies the failure class. The error body carries the API's own message plus a stable code, the HTTP status, the requestId, and — where one applies — an actionable hint. Usage errors (exit 2) are reported as a plain message instead, since no request was made. Exit statuses: 0 success, 1 error, 2 usage, 10 auth-failed, 11 not-found, 12 rate-limited, 13 client-error, 14 server-error, 15 connection-error.
Documented error statuses: 400, 401, 403, 404, 409, 422, 429.
Configure the generated client by setting any of these options when you create it.
| Option | Type | Default | Description |
|---|---|---|---|
--base-url |
<url> |
- | Override the base URL for API requests. |
--timeout |
<ms> |
- | Request timeout in milliseconds. |
--max-retries |
<count> |
- | Number of retries for retryable failures. |
--debug |
flag |
- | Enable SDK debug logging. |
Generated clients support request timeouts and retry temporary failures such as network errors, 408, 409, 429, and 5xx responses. Retry delays honor Retry-After headers when present. Tune the retry and timeout client options shown above, or override them per request.
--format <format>— output format:auto,json,jsonl,pretty,raw,toon, oryaml.--format-error <format>— error output format:auto,json,jsonl,pretty,raw,toon, oryaml.--format toon— token-efficient structured output for AI agents; uniform lists collapse into one header plus a row per item, with a definitive item count.--transform <path>and--transform-error <path>— dot-path transform for data/error output.--raw-output,-r— print transformed string values without JSON quotes.--max-items <count>— bound iterator, streaming, and WebSocket command output.- Errors carry a stable
codeand an actionablehintbeside the API's own message, and each failure class exits with its own status:1error,2usage,10auth-failed,11not-found,12rate-limited,13client-error,14server-error,15connection-error.
- Pass
--debugto any command to enable SDK debug logging on stderr.
- Node.js 20 or newer — for the npm install only; the standalone binaries bundle their own runtime.
Powered by Scalar.