Skip to main content
The Creem CLI lets you manage products, customers, subscriptions, and transactions directly from the terminal. It’s designed for both human developers and AI agents building automation workflows.

Setup

Provide CREEM_API_KEY through your environment or secret store. The CLI infers test/live mode without persisting the key. Use Node.js 22 or newer for npm, or see the installation guide for Homebrew and npx.

Input contract

Use creem <resource> <command> --help to discover inputs. The command reference lists available commands and flags. Every body operation accepts camelCase JSON inline, from @file.json, or from stdin with --data -. Do not combine body flags with --data. Non-body flags, path IDs, and --yes remain allowed.
Credit amounts stay strings. Writes are attempted once; the CLI never retries automatically. If a write fails ambiguously, inspect its outcome before manually retrying with the same supported idempotency key. Product creation supports the idempotency header; credit/debit idempotency keys are body fields.

Output and errors

Use --json for a single result or aggregated collection, and --all --output ndjson to stream list items. Standard output contains results; structured errors go to standard error. NDJSON may contain successful earlier pages before a later failure. Check the process exit code before accepting a completed export. Without credentials, creem products list --json produces no stdout and exits 3 with this stderr:

Local webhooks

creem listen --forward-to <url> --json streams the store’s webhooks to a local server as NDJSON records (listening, event, stopped) and cleans up its temporary endpoint on exit. Use --once to drain pending events in a single run. See the CLI reference.

Confirmation

Use --yes for destructive commands in automation. Human prompts are disabled for JSON/NDJSON and non-TTY execution. The reference lists the policy. Existing aliases remain valid. For existing scripts, see the upgrade notes. Subscription --status filters all pages and labels its client-side result.