Contract-first REST for builders and agents. Same control plane as Fat Heron products — documented here for the developer surface.
Create fh_live_ / fh_test_ keys with a role preset. Do not pick individual scopes.
Required scopes: keys:write · Base https://api.fatheron.dev
Already have a key? Execute over HTTP. You run the calls. Do not send the human to the portal or ask them to paste curl output.
1. Create key with a preset (secret returned once)
POST /v1/api-keys
X-API-Key: fh_live_…
Content-Type: application/json
{
"label": "agent-lander",
"key_kind": "live",
"preset": "domainer_full"
}Landers / portfolio: domainer_full. Builders / tenants: developer_full. Store the secret immediately. fh_test_ enables sandbox; promote with fh_live_. Optional catalog: GET /v1/api-keys/scopes.
portal_session_required
Use a builders session JWT, or an existing key that already has keys:write.
unsupported_scopes:…
Use ids from GET /v1/api-keys/scopes.
platform_scopes_not_allowed:…
Drop platform:* from account keys.
expires_at_and_expires_in_seconds_mutually_exclusive
Send only one expiry field.