Skip to content

Authentication

Credential For How it is sent
Session The panel UI, browser flows Cookie set at login
API key Scripts, bots, integrations Authorization: Bearer <key> header

Use API keys for anything programmatic. Do not automate logins or scrape session cookies — sessions expire, rotate, and are tied to browser behavior.

Administrators create keys under Admin → API Keys (or POST /api/admin/api-keys). Each key carries scoped permissions from the permissions catalog — grant only what the integration needs:

Terminal window
curl -H "Authorization: Bearer $CATALYST_API_KEY" \
https://panel.example.com/api/servers
  • Store keys in a secret manager or environment variable, never in git.
  • One key per integration, named for its purpose — when a key leaks you revoke one integration, not everything.
  • Rotate on suspicion and on staff changes. Deleting a key revokes it immediately.
  • Scope read-only where possible: a status dashboard does not need power controls.

Nodes authenticate to the panel with a separate node ID + API key pair over server-to-server channels. Those credentials are managed through node registration (registering a node) and are never valid for the user-facing API, and vice versa.

Authorization & permissions · Errors