Skip to main content
The LENS API exposes a single unauthenticated health endpoint. Use it to verify the API and its upstream services are reachable, surface upcoming service windows, and (when you authenticate) inspect your current rate-limit state — all without spending a request against your quota.
GET https://lens-api.tic.io/free/health
This endpoint is anonymous and rate-limiting is disabled. You do not need an API key. Providing one is optional — it unlocks the limits block in the response.

What it checks

The endpoint independently probes every critical upstream service:
ServiceWhat “ok” means
typesenseSearch index is reachable and reports ok: true
redisCache / rate-limit store responds to PING
databaseSQL database accepts a connection
If any service fails, the response returns HTTP 503 Service Unavailable with ok: false and per-service error detail in the services object. When all services are healthy, the response is HTTP 200 OK with ok: true.

Response

{
  "ok": true,
  "version": "v2",
  "serverTimeUtc": "2026-04-18T09:12:34.567Z",
  "services": {
    "typesense": { "ok": true },
    "redis": { "ok": true },
    "database": { "ok": true }
  },
  "upcomingServiceWindows": [
    {
      "startDateUtc": "2026-05-02T06:00:00",
      "endDateUtc": "2026-05-02T06:05:00",
      "notes": "Planned Typesense index maintenance",
      "lastUpdatedAtUtc": "2026-04-10T08:52:43"
    }
  ],
  "limits": {
    "rateLimitReset": 2435948,
    "rateLimit": 3000,
    "rateLimitRemaining": 2965,
    "rateLimitMinute": 60,
    "rateLimitIP": 20
  }
}

Fields

FieldTypeDescription
okbooltrue when all critical services are healthy; false triggers a 503.
versionstringAPI version identifier (v2 for LENS).
serverTimeUtcdatetimeCurrent server time in UTC. Useful for detecting clock skew on the client.
servicesobjectPer-service status map. Each entry has ok and, on failure, error.
upcomingServiceWindowsarrayScheduled maintenance windows with an end time still in the future.
limitsobjectPresent only when the request includes a valid API key. See below.

Rate-limit state (authenticated only)

When you pass x-api-key, the response also includes your current quota state:
FieldDescription
rateLimitResetSeconds until the monthly counter resets
rateLimitMonthly quota
rateLimitRemainingRequests remaining this month
rateLimitMinutePer-minute quota
rateLimitIPMaximum unique source IPs per month
These values mirror the X-RateLimit-* headers documented in Rate limits. Calling /free/health lets you inspect them without making a rate-limited request.

Examples

curl https://lens-api.tic.io/free/health

Use cases

  • Uptime monitoring — point your monitoring tool at /free/health and alert on non-200 responses or ok: false.
  • Pre-deploy gate — block deploys while a service window is active by checking upcomingServiceWindows.
  • Clock-skew debugging — compare serverTimeUtc against your local clock to rule out time-related auth failures.
  • Quota dashboards — authenticated calls return your current usage without consuming quota themselves.