Skip to content

Engine API

insider 2026-08-17 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
POST/api/v1/admin/apps/{id}/drop-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
GET/api/v1/admin/apps/{id}/versions/{version}/download/appDownload an application package
GET/api/v1/admin/apps/{id}/versions/{version}/download/symDownload an application Symbol file
DELETE/api/v1/admin/apps/{id}/{version}Delete an application version
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

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

POST /api/v1/admin/apps/{id}/drop-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

GET /api/v1/admin/apps/{id}/versions/{version}/download/app

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/apps/{id}/versions/{version}/download/sym

Download an application Symbol file

Downloads the symbols (.niksym) for a specific version

Parameters:

NameLocated inTypeRequiredDescription
idpathstringyesApplication ID
versionpathstringyesVersion string

Responses:

Status CodeDescriptionSchema / Content
200The Niksphere Symbole filefile
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse

DELETE /api/v1/admin/apps/{id}/{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/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

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

IdentityAddRequest

PropertyTypeDescription
passwordstring
usernamestring

IdentityEditRequest

PropertyTypeDescription
passwordstring

IdentityListWrapper

PropertyTypeDescription
dataArray<IdentityResponse>

IdentityResponse

PropertyTypeDescription
created_atstring
idstring
usernamestring

SuccessResponse

PropertyTypeDescription
messagestring
successboolean