GET/api/instance

Get Instance Status

Returns the instance status including whether initial setup is required. This endpoint does not require authentication.

Request

GET
/api/instance
curl -X GET https://api.netbird.io/api/instance \
-H 'Accept: application/json' \
-H 'Authorization: Token <TOKEN>' 

Response

{
  "setup_required": true
}

GET/api/instance/version

Get Version Info

Returns version information for NetBird components including the current management server version and latest available versions from GitHub.

Request

GET
/api/instance/version
curl -X GET https://api.netbird.io/api/instance/version \
-H 'Accept: application/json' \
-H 'Authorization: Token <TOKEN>' 

Response

{
  "management_current_version": "0.35.0",
  "dashboard_available_version": "2.10.0",
  "management_available_version": "0.35.0",
  "management_update_available": true
}

POST/api/setup

Setup Instance

Creates the initial admin user for the instance. This endpoint does not require authentication but only works when setup is required (no accounts exist and embedded IDP is enabled).

When the management server is started with NB_SETUP_PAT_ENABLED=true and the request includes create_pat: true, the endpoint also provisions the NetBird account for the new owner user and returns the plain text Personal Access Token in personal_access_token. The optional pat_expire_in value applies only when create_pat is true and defaults to 1 day when omitted. If a post-user step fails, setup-created resources are rolled back when safe; if account cleanup fails, the owner user is left in place to avoid leaving an account without its admin user.

Request-Body Parameters

  • Name
    email
    Type
    string
    Required
    required
    Enum
    Description

    Email address for the admin user

  • Name
    password
    Type
    string
    Required
    required
    Enum
    Possible Values: >=8 characters
    Description

    Password for the admin user (minimum 8 characters)

  • Name
    name
    Type
    string
    Required
    required
    Enum
    Description

    Display name for the admin user (defaults to email if not provided)

  • Name
    create_pat
    Type
    boolean
    Required
    optional
    Enum
    Description

    If true and the server has setup-time PAT issuance enabled (NB_SETUP_PAT_ENABLED=true), create a Personal Access Token for the new owner user and return it in the response. Ignored when the server feature is disabled.

  • Name
    pat_expire_in
    Type
    integer
    Required
    optional
    Enum
    Possible Values: >=1 and <=365
    Description

    Expiration of the Personal Access Token in days. Applies only when create_pat is true and the server feature is enabled. Defaults to 1 day when omitted.

Request

POST
/api/setup
curl -X POST https://api.netbird.io/api/setup \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Token <TOKEN>' \
--data-raw '{
  "email": "admin@example.com",
  "password": "securepassword123",
  "name": "Admin User",
  "create_pat": true,
  "pat_expire_in": 30
}'

Response

{
  "user_id": "abc123def456",
  "email": "admin@example.com",
  "personal_access_token": "nbp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}