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. Readiness is the second route, GET /api/ready, and this route answers 200 even while that one answers 503.

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": "..."
}