Skip to content

Setup API

First-run bootstrap.

2 operations. Every call needs a session cookie or an Authorization: Bearer nct_… token unless marked Public. Conventions, errors and scopes

GET/setupPublic

Whether first-run setup is still required

Response 200 · OK · application/json
SetupStatusOutputBody
  • needsSetupbooleanrequired
  • tokenRequiredbooleanrequired
POST/setupPublic

Create the workspace and first user, and sign in

Only works while no users exist; afterwards returns 409 already_setup. When the server runs with NEBULACTRL_SETUP_TOKEN (the installer sets it) the matching setupToken is required (403 setup_token_invalid).

Request body · application/json · required
SetupInputBody
  • emailstring (email)required
  • namestringrequired
  • passwordstringrequired
  • setupTokenstring
    The one-time setup token printed by the installer; required only when the server was started with NEBULACTRL_SETUP_TOKEN
  • teamNamestring
    Name of the first team; default NebulaCtrl
Response 201 · Created · application/json
MeBody
  • createdAtstring (date-time)required
  • emailstringrequired
  • idstringrequired
  • instanceAdminbooleanrequired
    The first user: manages instance settings
  • namestringrequired
  • PrincipalBodyrequired
  • workspaceIdstringrequired
Errors
  • 403Forbiddensetup_token_invalid
  • 409Conflictalready_setup
  • 422Unprocessable Entity
  • 429Too Many Requests
  • 500Internal Server Error

Errors are RFC 9457 application/problem+json with a stable code field.