Skip to main content

GET /api/health

Liveness only.

Answers 200 with a FIXED body if this process is running and serving requests. It is the only unauthenticated route on this surface that is not part of a login, and it is open because the caller is not a user: a load balancer, an orchestrator probe and a monitoring agent cannot hold a credential.

It is not a readiness check and it does not consult anything. It opens no connection, reads no database, touches no session and asks the key server nothing. That is deliberate: a health endpoint that probes its downstreams reports somebody else's outage as its own, and every orchestrator watching it then kills a process that was working. A readiness endpoint is a legitimate second route and is not this one.

It discloses only that a Tricryption REST Gateway is listening on this port. No version, no key-server address, no uptime, no session or pool counts, no downstream status. Each of those omissions is a decision: a version number here is a free CVE lookup, an uptime is a restart oracle, and the address of the thing holding the keys is not a health check. A caller with a session can read the version from POST /api/server/version.

WARNING: a separate, older published document describes a /health on a retired demo gateway whose response requires a key-server certificate fingerprint and a live session count. That is a different service. This body shares not one field with it, and the divergence is deliberate -- both of those are exactly what this route refuses to publish to an unauthenticated caller.

Authentication

No session required. This operation is reachable without an Authorization header. See Authenticating.

Request

No request body.

Responses

200

This process is alive. The body is a constant; it never varies between two calls.

FieldTypeRequiredDescription
status"ok" (constant)yes
service"te-gateway-server" (constant)yes
detailstringyes

Example

{
"status": "ok",
"service": "te-gateway-server",
"detail": "..."
}