Developers
Authentication
Create Frontpage API keys, store them safely, and authenticate the CLI in interactive and CI environments.
Create a key
- Open app.frontpage.host and sign in.
- Profile menu → Developers.
- Create key, then copy
fp_live_…immediately.
Only site owners who own at least one Scale (or higher) site can create keys (editor session, not Bearer).
Keys work for all sites that owner can access, at that user’s role on each
site. Site-scoped commands on Starter or Growth return 403. There is no per-site key and no “viewer-only” key. Sharing a key shares
push, People, inbox, settings, and every other CLI verb on entitled sites.
Key mint is limited to 5 per user per 24 hours (RL-MINT). The secret is shown once. Rotate (delete) leaked keys from the same Developers panel.
Interactive login
frontpage login
# paste the key when prompted
frontpage whoami
frontpage doctor
On macOS the CLI prefers the OS keychain (service frontpage-cli). Otherwise it stores the key in
~/.config/frontpage/api-key with mode 0600.
Non-interactive / CI
export FRONTPAGE_API_KEY=fp_live_…
frontpage doctor --json
frontpage sites --json FRONTPAGE_API_KEY always wins over the keychain for that process. Optional:
export FRONTPAGE_API_BASE=https://app.frontpage.host Default API base is production https://app.frontpage.host.
Pass the key once on the command line
frontpage login "$FRONTPAGE_API_KEY" Logout
frontpage logout List sites
frontpage sites --json
Human output reminds you to use the subdomain with frontpage use. JSON includes
at least:
| Field | Use it for |
|---|---|
siteId |
Internal UUID. Never pass this to --site or frontpage use |
subdomain |
The only legal --site / frontpage use value. Example
acme, not acme.frontpage.host |
role | viewer, editor, or admin on that site. Viewer
cannot mutate People, SEO, redirects, or push files
|
name | Display name. Not a CLI target |
customDomain | Display only. Never pass this to --site |
Link a working folder
cd ~/sites/acme
frontpage use acme
cat .frontpage/state.json
# { "slug": "acme" }
Switching sites with use clears baseCommitSha. Run pull again before
push.