Documentation
Getting Started
Data Grid
Modeling
Business Rules
Approvals
Users, Roles & Security
Administration
Integration & API
Migrating from MDS
Architecture
Documentation/Installation/Health & Monitoring

Health & Monitoring

Primentra exposes one health endpoint. Use it to confirm the service is up, the database is reachable, and the schema matches the application.

The endpoint

GET http://localhost:3001/api/health

The endpoint needs no authentication, so a monitoring system can poll it without an account. The installer uses it too: after registering the service it polls /api/health for up to 20 seconds and reports a failure if nothing answers.

Response fields

A healthy installation answers like this:

{
  "status": "ok",
  "database": "connected",
  "tablesExist": true,
  "schemaVersion": "1.2026.8.14",
  "ftsInstalled": true,
  "ftsServiceRunning": true,
  "ftsWindowsService": true,
  "fullTextSearch": true,
  "ftsIndexCount": 2,
  "appVersion": "1.2026.8.14"
}
FieldMeaning
statusok when the database answered, error when it did not
databaseconnected or disconnected
tablesExisttrue when all nine core tables are present: Models, Entities, Attributes, EntityRows, EntityValues, Roles, Permissions, AuditLog, Users
schemaVersionThe version recorded in the SchemaVersion table, or null when the schema was never deployed
appVersionThe version of the running application
ftsInstalledThe Full-Text Search feature is installed in SQL Server
ftsIndexCountNumber of full-text indexes found on EntityRows and EntityValues. Two is the expected value
ftsServiceRunningA real CONTAINS query succeeded, so the filter daemon answers
ftsWindowsServiceThe MSSQLFDLauncher Windows service reports RUNNING
fullTextSearchThe summary flag. true only when ftsServiceRunning is true and ftsIndexCount is at least 2

When the database cannot be reached, the response is short:

{
  "status": "error",
  "database": "disconnected",
  "message": "Failed to connect to localhost:1433"
}

Status codes

CodeMeaning
200The endpoint answered. Read the status field to learn whether the installation is healthy
429Rate limited. Public endpoints allow 200 requests per 15 minutes per client
No responseThe Windows service is down, the port is wrong, or a firewall blocks it
A failing health check still returns HTTP 200. Alert on the status field, not on the status code alone.

What to monitor

  • `status` is not `ok` — the service runs but cannot reach SQL Server. Check the instance, the credentials, and logs\errorlog.txt.
  • `schemaVersion` differs from `appVersion` — the application was upgraded but the schema was not. Sign in as an administrator and complete the upgrade. See Upgrading.
  • `schemaVersion` is `null` or `tablesExist` is false — the schema was never deployed. Run first-run setup.
  • `fullTextSearch` is false while you expect it — most often the filter daemon service is stopped. See Install SQL Server.

How often to poll

Poll once a minute at most. The 200-request budget per 15 minutes is shared by every unauthenticated endpoint, including sign-in. A monitor that polls every second exhausts it and locks real users out of the login screen.

Other checks

CheckWhere
Licence and trial stateGET /api/trial-status on the server itself — see Licensing
Windows service statesc query Primentra
Application errorslogs\errorlog.txt, or Settings › Logs — see Error Log
Full-Text Search detailGeneral Settings › Connection — see Database Connection

Ready to get started?

Start managing your master data with Primentra today.

View Pricing
Health & Monitoring | Installation | Docs | Primentra