Skip to content

Usage

Output is JSON by default and written to stdout, so commands pipe cleanly into tools like jq. All diagnostics, prompts, and progress go to stderr, keeping stdout clean for piping. Use --output <file> / -o to write the payload to a file instead (stdout stays quiet on success).

Request bodies

Write commands that take a JSON body accept --data:

--data '{"Name":"My App"}'      # inline JSON
--data @body.json               # read from a file
--data -                        # read from stdin (pipe-friendly)

Complex bodies are passed as JSON rather than per-field flags, so the CLI mirrors the API and stays scriptable.

Examples

outsystems-cli version
outsystems-cli applications list --include-env-status | jq '.[].Name'
outsystems-cli environments list
outsystems-cli deployments create --data @deploy.json
outsystems-cli deployments exec <deployment-key> start
outsystems-cli users get <user-key> --include-teams

# Download a binary: fetch the link, then stream the file.
LINK=$(outsystems-cli applications version-download <app-key> <ver-key> | jq -r .url)
outsystems-cli downloads get --url "$LINK" -o app.oap

Discovering commands

Every LifeTime v2 API endpoint is implemented. Run --help at any level to explore the command tree, or browse the command reference:

outsystems-cli --help
outsystems-cli environments --help
outsystems-cli environments dbconnections --help

Resource groups: applications, environments (including environments dbconnections), deployments, modules, roles, teams, users, downloads, auth, plus init and version.