GET / OPTIONS /api/status/java/{address}
Java status-handshake observation. Address may include a port.
Measured, not guessed.
Protocol sheet · read-only JSON
Unauthenticated, bounded observation endpoints for small integrations. Cache a result no longer than its validity boundary.
GET / OPTIONS /api/status/java/{address}Java status-handshake observation. Address may include a port.
GET / OPTIONS /api/status/bedrock/{address}Bedrock RakNet unconnected-ping observation.
GET / OPTIONS /api/servicesRedacted, time-bounded local semantic component snapshot; performs no request-path upstream work.
GET /api/healthProcess liveness, exact release identity, and local component state; performs no upstream network work.
GET /api/v1/community/statusLocal, fail-closed Discord companion heartbeat; private and no-store.
verdictObservation class derived from the canonical evidence code. Do not derive a different state from a nullable latency, player count, or transport error.
evidenceCode CanonicalThe canonical, stable machine-readable reason for the server verdict. New integrations should branch on this closed code rather than human copy.
unknownReason DeprecatedDeprecated compatibility copy present only for Unknown server observations. It is derived from evidenceCode, never from a raw exception.
observedAtRFC 3339 time of the bounded observation.
validUntilRFC 3339 claim boundary. Past this time, consumers must fail the verdict closed to Unknown until they re-observe.
methodShort identifier for the network action that produced the observation.
Claim boundary
Do not poll a target faster than its returned validity window. Requests are still rate-limited, and repeated calls may return the same bounded cache entry.
{
"verdict": "online | offline | unknown",
"observedAt": "2026-07-15T12:00:00.000Z",
"validUntil": "2026-07-15T12:00:30.000Z",
"method": "java-status-handshake",
"evidenceCode": "status_response"
}