Authenticate the Flexprice CLI and run your first commands in under five minutes
This walks through installing the CLI, connecting it to your account, and confirming it points where you think it does.
1
Install the CLI
go install github.com/flexprice/cli/cmd/flexprice@latest
Or download a prebuilt binary — see Overview for all install options.
2
Run the guided setup
flexprice init walks you through picking a data region and pasting an API key, verifies the key against the API, and stores it in your OS keychain.
flexprice init
███████╗██╗ ███████╗██╗ ██╗██████╗ ██████╗ ██╗ ██████╗███████╗██╔════╝██║ ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██║██╔════╝██╔════╝█████╗ ██║ █████╗ ╚███╔╝ ██████╔╝██████╔╝██║██║ █████╗██╔══╝ ██║ ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══██╗██║██║ ██╔══╝██║ ███████╗███████╗██╔╝ ██╗██║ ██║ ██║██║╚██████╗███████╗╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═════╝╚══════╝Usage-based billing from your terminalWelcome to Flexprice — let's get you set up.? Data region > us https://us.api.flexprice.io/v1 in https://api.cloud.flexprice.io/v1API key: ••••••••••••••••••••⠹ Verifying your key…✓ Verified — stored as profile "default"
The region menu is arrow-key driven. To skip both prompts entirely — in CI, for example — pass --region and --api-key.
Worth doing before anything destructive: an API key belongs to exactly one environment, and this is the fastest way to catch pointing at the wrong one.
4
See what you can act on
flexprice resources
Lists every resource and the actions available on it. Then try a read:
flexprice customers list
ID NAME STATUS CREATED_ATcust_01J8XABCDEF Ada Lovelace active 2026-01-02cust_02 Grace Hopper archived 2026-03-14profile: default · region: us · v1.0.1
That footer names which profile and region actually served the request.
The banner, spinners, footers, and confirmation messages all go to stderr, never stdout. Piping or redirecting stdout gives you clean data with none of the commentary mixed in.
Destructive actions (delete, void, cancel, terminate, archive, finalize) ask for confirmation first. Off a terminal they refuse rather than proceeding — pass --force in scripts. See Output & scripting.