---
title: "Service status"
method: GET
path: "/status"
tags: ["Auth"]
---

# Service status

`GET /status`

## Request

- Base URL: `https://codequiry.com/api/v1`
- URL: `https://codequiry.com/api/v1/status`
- Auth: API key in header `apikey`

Whether the checking engine (core) and its live-progress stream are up, from a one-minute cache shared with the dashboard's status badge. Poll this rather than the engine host itself; it costs one upstream probe a minute however many clients ask.

## Response `200`

Engine status

- EngineStatus
  - `online` boolean: true only when both core and stream are up.
  - `core` object
    - `online` boolean
  - `stream` object
    - `online` boolean
    - `subscribers` integer, nullable
  - `latency_ms` integer
  - `cached_at` string
  - `stale` boolean: Present when a probe was already running and the last known answer was served instead.

## Other responses

- `401`: Missing or invalid API key. The API key is checked before any endpoint logic runs, so this is returned for every operation.
- `402`: The account is suspended for an unpaid invoice. Every endpoint returns this until the invoice is paid from the billing dashboard; it is not retryable and the request was not performed.
- `429`: Rate limit exceeded: more than 60 requests in one minute from this IP. Retry after the number of seconds in the Retry-After header. Successful responses carry X-RateLimit-Limit and X-RateLimit-Remaining too, so you can pace a client without waiting to be refused.

---

[API](https://skmtc.dev/codequiry/apis/codequiry-api.md) · [All operations](https://skmtc.dev/codequiry/apis/codequiry-api/llms.txt) · [OpenAPI document](https://skmtc.dev/codequiry/apis/codequiry-api/revisions/6297e91d9665?raw)
