Skip to main content
Hexagraph exposes a set of utility endpoints for operational and diagnostic purposes. Use /health to verify service availability before making dependent requests, the root-level OA:ID resolver to look up any entity without knowing its type in advance, and /rate-limit to monitor your current quota consumption across all time windows.

Health check

Returns the current operational status of the Hexagraph service, including connectivity to the Redis cache layer. Use this endpoint in uptime monitors, deployment health checks, and pre-flight checks in integration tests.
curl "https://hexagraph-core.onrender.com/health"
{
  "status": "ok",
  "redis": "connected"
}
A status of "ok" confirms the application is running and accepting requests. The redis field reports cache connectivity — if it returns anything other than "connected", some requests may experience higher latency as results are served without the cache layer.

Root-level entity resolution

Pass any valid OA:-prefixed identifier directly to the root path to resolve the entity without knowing its type in advance. Hexagraph inspects the ID prefix and proxies the request to the appropriate resource endpoint automatically.
curl "https://hexagraph-core.onrender.com/OA:W2107277218"
The above resolves to the same response as GET /outputs/OA:W2107277218. Prefix routing follows the standard mapping:
PrefixResolves to
OA:W/outputs
OA:A/authors
OA:S/sources
OA:I/institutions
OA:P/publishers
OA:F/funders

Rate limit status

Returns your current API usage across all active rate-limit windows. Poll this endpoint to implement proactive throttling in your integration before hitting a 429 Too Many Requests response.
curl "https://hexagraph-core.onrender.com/rate-limit"
{
  "rateLimit": {
    "second": {
      "current": 1,
      "limit": 5
    },
    "minute": {
      "current": 12,
      "limit": 30
    },
    "day": {
      "current": 47,
      "limit": 1000
    }
  }
}

Response fields

rateLimit.second.current
integer
Number of requests made in the current one-second window.
rateLimit.second.limit
integer
Maximum requests allowed per second.
rateLimit.minute.current
integer
Number of requests made in the current one-minute rolling window.
rateLimit.minute.limit
integer
Maximum requests allowed per minute.
rateLimit.day.current
integer
Number of requests made so far in the current calendar day (UTC).
rateLimit.day.limit
integer
Maximum requests allowed per day.