Skip to content

Engine API

insider 2026-08-26 JSON ↗

Management API for Niksphere applications and core data.

Server & Base URL

All REST API endpoints documented below are relative to the Engine base URL:

http
http://localhost:3000/api/v1

NOTE

For custom host/port setups or production deployments, configure NIKSPHERE_ENGINE_HTTP_BASE_URL (or http_base_url in config.yaml). See the Engine Configuration Reference for all options.

Endpoints Overview

MethodEndpointSummary
GET/api/v1/admin/appsList all applications
POST/api/v1/admin/apps/publishPublish an application package
POST/api/v1/admin/apps/uploadUpload an application package
DELETE/api/v1/admin/apps/{id}/dataDrop application database tables
POST/api/v1/admin/apps/{id}/install/{version}Install an application version
POST/api/v1/admin/apps/{id}/uninstallUninstall an application
DELETE/api/v1/admin/apps/{id}/versions/{version}Delete an application version
GET/api/v1/admin/apps/{id}/versions/{version}/packageDownload an application package
GET/api/v1/admin/identitiesList all users
POST/api/v1/admin/identitiesCreate a new user
PUT/api/v1/admin/identities/{username}Edit a user (Change Password)
DELETE/api/v1/admin/identities/{username}Delete a user
GET/api/v1/admin/idps/externalList all external IdPs
POST/api/v1/admin/idps/externalCreate a new external IdP
PUT/api/v1/admin/idps/external/{id}Edit an external IdP
DELETE/api/v1/admin/idps/external/{id}Delete an external IdP
GET/api/v1/admin/monitorLive log and telemetry streaming
GET/api/v1/clientClient runtime WebSocket connection
GET/api/v1/healthService health check
GET/api/v1/openapi.jsonOpenAPI specification

Admin

GET /api/v1/admin/apps

List all applications

Retrieves a detailed list of all applications and their available versions

Responses:

Status CodeDescriptionSchema / Content
200OKAppListWrapper
500Internal Server ErrorErrorResponse

POST /api/v1/admin/apps/publish

Publish an application package

Uploads and automatically installs/activates a Niksphere App package (.nikapp) on the server in a single request

Parameters:

NameLocated inTypeRequiredDescription
fileformDatafileyesNiksphere App Package
allow_dropsquerybooleannoAllow drops

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
500Internal Server ErrorErrorResponse

POST /api/v1/admin/apps/upload

Upload an application package

Uploads a new Niksphere App package (.nikapp) to the server

Parameters:

NameLocated inTypeRequiredDescription
fileformDatafileyesNiksphere App Package

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
500Internal Server ErrorErrorResponse

DELETE /api/v1/admin/apps/{id}/data

Drop application database tables

Drops all physical database tables and associated data for an uninstalled application

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesApplication ID

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

POST /api/v1/admin/apps/{id}/install/{version}

Install an application version

Installs and activates a specific version of an application

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesApplication ID
versionpathstringyesVersion string
allow_dropsquerybooleannoAllow drops

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

POST /api/v1/admin/apps/{id}/uninstall

Uninstall an application

Deactivates the currently installed version of an app

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesApplication ID

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

DELETE /api/v1/admin/apps/{id}/versions/{version}

Delete an application version

Permanently removes a specific version of an app from the system

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesApplication ID
versionpathstringyesVersion string

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

GET /api/v1/admin/apps/{id}/versions/{version}/package

Download an application package

Downloads the compiled Niksphere App package (.nikapp) for a specific version

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesApplication ID
versionpathstringyesVersion string

Responses:

Status CodeDescriptionSchema / Content
200The Niksphere App Packagefile
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

GET /api/v1/admin/identities

List all users

Retrieves a list of all registered system users (embedded credentials)

Responses:

Status CodeDescriptionSchema / Content
200OKIdentityListWrapper

POST /api/v1/admin/identities

Create a new user

Creates a new user and safely hashes their password

Parameters:

NameLocated inTypeRequiredDescription
requestbodyIdentityAddRequestyesUser creation data

Responses:

Status CodeDescriptionSchema / Content
200OKIdentityResponse
400Bad RequestErrorResponse
500Internal Server ErrorErrorResponse

PUT /api/v1/admin/identities/{username}

Edit a user (Change Password)

Changes the password for a given username

Parameters:

NameLocated inTypeRequiredDescription
usernamepathstringyesUsername to edit
requestbodyIdentityEditRequestyesNew password

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

DELETE /api/v1/admin/identities/{username}

Delete a user

Removes a user from the system. Cannot delete the base admin user.

Parameters:

NameLocated inTypeRequiredDescription
usernamepathstringyesUsername to delete

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

GET /api/v1/admin/idps/external

List all external IdPs

Retrieves a list of all configured external identity providers

Responses:

Status CodeDescriptionSchema / Content
200OKExternalIdpListWrapper

POST /api/v1/admin/idps/external

Create a new external IdP

Creates a new external identity provider configuration

Parameters:

NameLocated inTypeRequiredDescription
requestbodyExternalIdpAddRequestyesIdP creation data

Responses:

Status CodeDescriptionSchema / Content
200OKExternalIdpResponse
400Bad RequestErrorResponse

PUT /api/v1/admin/idps/external/{id}

Edit an external IdP

Modifies an existing external IdP

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesIdP ID to edit
requestbodyExternalIdpEditRequestyesUpdated fields

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

DELETE /api/v1/admin/idps/external/{id}

Delete an external IdP

Removes an external IdP from the system

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesIdP ID to delete

Responses:

Status CodeDescriptionSchema / Content
200OKSuccessResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

GET /api/v1/admin/monitor

Live log and telemetry streaming

Establishes a WebSocket connection for real-time engine logs and system metrics

Parameters:

NameLocated inTypeRequiredDescription
ticketquerystringyesSingle-use WebSocket Ticket

Responses:

Status CodeDescriptionSchema / Content
101Switching Protocols to WebSocketstring
401UnauthorizedErrorResponse

Client

GET /api/v1/client

Client runtime WebSocket connection

Establishes a bidirectional WebSocket connection for interactive UI state synchronization and push events

Parameters:

NameLocated inTypeRequiredDescription
ticketquerystringyesSingle-use WebSocket Ticket

Responses:

Status CodeDescriptionSchema / Content
101Switching Protocols to WebSocketstring
401UnauthorizedErrorResponse

System

GET /api/v1/health

Service health check

Inspects the running service status and database connectivity

Responses:

Status CodeDescriptionSchema / Content
200OKHealthResponse
503Service UnavailableHealthResponse

GET /api/v1/openapi.json

OpenAPI specification

Retrieves the complete OpenAPI JSON specification for the Niksphere Engine API

Responses:

Status CodeDescriptionSchema / Content
200OKobject
401UnauthorizedErrorResponse
404Not FoundErrorResponse

Data Models & Schemas

AppListResponse

PropertyTypeDescription
authorstring
availableVersionsstring
idstring
installedboolean
namestring
persistedboolean
versionstring

AppListWrapper

PropertyTypeDescription
dataArray<AppListResponse>

ErrorResponse

PropertyTypeDescription
errorstring

ExternalIdpAddRequest

PropertyTypeDescription
auto_provisionboolean
client_idstring
client_secretstring
is_activeboolean
issuer_urlstring
namestring
scopesstring

ExternalIdpEditRequest

PropertyTypeDescription
auto_provisionboolean
client_idstring
client_secretstring
is_activeboolean
issuer_urlstring
namestring
scopesstring

ExternalIdpListWrapper

PropertyTypeDescription
dataArray<ExternalIdpResponse>

ExternalIdpResponse

PropertyTypeDescription
auto_provisionboolean
client_idstring
created_atstring
idstring
is_activeboolean
issuer_urlstring
namestring
scopesstring

HealthResponse

PropertyTypeDescription
databasestring
servicestring
statusstring
timestampstring

IdentityAddRequest

PropertyTypeDescription
passwordstring
usernamestring

IdentityEditRequest

PropertyTypeDescription
passwordstring

IdentityListWrapper

PropertyTypeDescription
dataArray<IdentityResponse>

IdentityResponse

PropertyTypeDescription
created_atstring
idstring
usernamestring

SuccessResponse

PropertyTypeDescription
messagestring
successboolean