Setup

Install

See the fobs repository for the full installation guide. The short version:

git clone [email protected]:finopsbricks/fobs.git
cd fobs
npm install
npm link            # exposes `fobs` on PATH

Verify:

fobs --version

Add an Org

fobs stores credentials per organization. Each org can have credentials for multiple apps (statements, billing, orchestrator) — for this site you only need statements.

Get an API key + secret from the Statements UI under Settings → API Keys (see Authentication for the full flow), then:

fobs orgs add my-org --app statements
# Interactive prompts for api-url, api-key, api-secret

# Or non-interactive:
fobs orgs add my-org --app statements \
  --api-url https://statements.finopsbricks.com \
  --api-key fob_stm_xxxxxxxxxxxx \
  --api-secret xxxxxxxxxxxxxxxx

The api-url defaults to https://statements.finopsbricks.com when omitted.

Switch Between Orgs

fobs orgs use my-org
fobs orgs list                    # show all orgs and which apps each has

The active org is marked with * in the list output.

Where Credentials Live

PathWhat
~/.fobs/config.ymlYAML config, mode 0600. Keyed by orgs.<name>.apps.<app>.{api_url, api_key, api_secret}

Override the location with the FOBS_CONFIG_DIR environment variable.

Remove an Org or App

fobs orgs remove my-org                          # remove the whole org
fobs orgs remove-app my-org --app statements     # remove one app's creds
fobs orgs remove my-org --yes                    # skip confirmation

Convention: One Key Per User

API keys identify the caller in server logs. The convention is one key per individual user, per app — don't share keys across teammates, since you lose the audit trail.