Get Instance Status
Returns the instance status including whether initial setup is required. This endpoint does not require authentication.
Request
curl -X GET https://api.netbird.io/api/instance \
-H 'Accept: application/json' \
-H 'Authorization: Token <TOKEN>'
Response
{
"setup_required": true
}
Get Version Info
Returns version information for NetBird components including the current management server version and latest available versions from GitHub.
Request
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
}
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:
>=1and <=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
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"
}

