# System

> Health and metadata.

Health and metadata.

## Liveness check (no auth required)

`GET /health`

```bash title="curl"
curl "https://api.lumavox.ai/health"
```

**Responses**

| Status | Description |
|---|---|
| `200` | `application/json` — The API is up, with its version |

**`200` response body**

| Field | Type | Description |
|---|---|---|
| `status` | `"ok"` |  |
| `version` | string | The API's version. |

## The platform's limits (no auth required)

`GET /v1/platform/limits`

Every limit this platform holds an organisation to that is not a plan's own: how many tools, voices, knowledge entries and uploaded files it may keep, how large an upload may be, how many generations may be unfinished at once, the requests a minute when a plan sets none, and the ceilings on an ephemeral key. The platform's staff may change them, so a description elsewhere in this reference names a limit by its `key` here rather than by a number. One page: `next_cursor` is always null.

```bash title="curl"
curl "https://api.lumavox.ai/v1/platform/limits"
```

**Responses**

| Status | Description |
|---|---|
| `200` | `application/json` — Every limit, as it stands now |

**`200` response body**

| Field | Type | Description |
|---|---|---|
| `data` | array of PlatformLimit |  |
| `data[].key` | string | The limit's name, which this reference's descriptions use for it. |
| `data[].label` | string | What it limits, in words. |
| `data[].value` | number or string or boolean | The limit in force now, in `unit`. |
| `data[].unit` | `"ms"`, `"seconds"`, `"minutes"`, `"hours"`, `"days"`, `"bytes"`, `"credits"` or null | What `value` counts; null for a plain count. `credits` are whole credits, not micro-credits. |
| `data[].default` | number or string or boolean | The platform's built-in value, which `value` may differ from. |
| `next_cursor` | string or null | Pass as `cursor` for the next page; `null` when this is the last. |
