Skip to content

API keys

API keys authenticate the CLI, CI pipelines, and any HTTP client against the management API. Format: sd_ followed by 64 hex characters.

  1. Profile, API keys tab, Create.
  2. Give it a name (e.g. ci-deploy).
  3. Copy the displayed key. It is shown once and never again.

A key inherits the role and per-app grants of the user who created it at the moment of creation. There are no per-key scopes. Want a CI key that only touches one app? Create a dedicated user with access to just that app, then issue the key from that user.

In the CLI, set up a context so you don’t paste the key into every command:

Terminal window
simpledeploy context add prod \
--url https://manage.example.com \
--api-key sd_a1b2c3...
simpledeploy context use prod
simpledeploy list

In curl or any HTTP client:

Terminal window
curl https://manage.example.com/api/apps \
-H "Authorization: Bearer sd_a1b2c3..."
Terminal window
# UI: Profile, API keys, click trash icon
# Or:
curl -X DELETE https://manage.example.com/api/apikeys/3 \
-H "Authorization: Bearer $SD_API_KEY"

Revocation is immediate. Existing requests in flight will continue, the next one is rejected.

There’s no auto-rotation. Recommended cadence:

  • CI keys: rotate every 90 days, or whenever a teammate leaves.
  • Personal keys: rotate when you change machines.

Workflow: create the new key, deploy it to your CI/clients, then revoke the old key.

See also: Users and roles, Remote management.