> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prysm1.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Health

> Service health check — model count, provider status, and request volume.

<Note>
  **GET** `https://api.prysm1.com/health` · No authentication required
</Note>

A lightweight liveness check. Returns the number of models available, how many
providers are configured, and total lifetime requests served. Provider names are
not disclosed on the public endpoint to prevent key-fingerprinting attacks — use
the authenticated `/health/internal` endpoint for ops diagnostics.

## Response

<ResponseField name="status" type="string">`healthy` when the service is up.</ResponseField>
<ResponseField name="models_available" type="integer">Number of models in the live catalog.</ResponseField>
<ResponseField name="providers_total" type="integer">Total supported providers in the catalog (12).</ResponseField>
<ResponseField name="providers_configured" type="integer">How many providers have API keys set server-side.</ResponseField>
<ResponseField name="total_requests_served" type="integer">Lifetime request count.</ResponseField>
<ResponseField name="cache" type="object">Semantic cache statistics (`hits`, `misses`, `size`).</ResponseField>
<ResponseField name="uptime" type="string">Uptime status indicator (`ok`).</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.prysm1.com/health
  ```

  ```python Python theme={null}
  import httpx

  print(httpx.get("https://api.prysm1.com/health").json())
  ```

  ```typescript Node theme={null}
  const res = await fetch("https://api.prysm1.com/health");
  console.log(await res.json());
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "status": "healthy",
    "models_available": 27,
    "providers_total": 12,
    "providers_configured": 3,
    "total_requests_served": 14820,
    "cache": { "hits": 42, "misses": 218, "size": 260 },
    "uptime": "ok"
  }
  ```
</ResponseExample>

***

## Authenticated health — `/health/internal`

<Note>
  **GET** `https://api.prysm1.com/health/internal` · Requires `Authorization: Bearer prysm_sk_…`
</Note>

Returns full ops detail including API version and the list of configured provider names.
Use this in monitoring dashboards and on-call tooling — never expose it publicly.

<ResponseField name="version" type="string">Running API version (e.g. `2.0.0`).</ResponseField>
<ResponseField name="providers" type="string[]">Names of configured providers (e.g. `["openai", "deepseek"]`).</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "status": "healthy",
    "version": "2.0.0",
    "models_available": 27,
    "providers_total": 12,
    "providers_configured": 3,
    "providers": ["openai", "anthropic", "deepseek"],
    "total_requests_served": 14820,
    "cache": { "hits": 42, "misses": 218, "size": 260 },
    "uptime": "ok"
  }
  ```
</ResponseExample>
