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.
| Field | Type | Required | Description |
|---|---|---|---|
status | "ok" (constant) | yes | |
service | "te-gateway-server" (constant) | yes | |
detail | string | yes |
Example
{
"status": "ok",
"service": "te-gateway-server",
"detail": "..."
}