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

# Health Check Endpoints: MKK API Reference

> Check the live status of the MKK Structured Data API and retrieve current document, fund, section, and line item counts across the entire indexed dataset.

The health endpoints give you a quick way to verify that the API is online and to inspect the current size of the indexed dataset. Both `GET /` and `GET /health` return the same `HealthResponse` object, so you can use either path as a liveness probe in your monitoring stack.

## Endpoints

| Method | Path      | Description                           |
| ------ | --------- | ------------------------------------- |
| `GET`  | `/health` | Returns API status and dataset counts |
| `GET`  | `/`       | Alias for `GET /health`               |

**Base URL:** `https://mkk-roan.vercel.app/api`

***

## GET /health

Returns a `HealthResponse` confirming the service is running along with aggregate counts for each major collection in the database.

<Note>
  `GET /` and `GET /health` are identical. Use whichever path is more convenient for your health check setup.
</Note>

### Response schema

<ResponseField name="status" type="string" required>
  Always `"ok"` when the service is healthy.
</ResponseField>

<ResponseField name="documents" type="integer" required>
  Total number of parsed fund disclosure documents in the database.
</ResponseField>

<ResponseField name="funds" type="integer" required>
  Total number of distinct funds tracked across all documents.
</ResponseField>

<ResponseField name="sections" type="integer" required>
  Total number of canonical sections defined in the schema.
</ResponseField>

<ResponseField name="line_items" type="integer" required>
  Total number of canonical line item definitions.
</ResponseField>

<ResponseField name="line_item_values" type="integer" required>
  Total number of extracted line item values across all documents.
</ResponseField>

<ResponseField name="portfolio_entries" type="integer" required>
  Total number of normalized portfolio entries across all documents.
</ResponseField>

<ResponseField name="portfolio_rows" type="integer" required>
  Total number of raw portfolio table rows extracted from documents.
</ResponseField>

### Example request

<CodeGroup>
  ```bash curl theme={null}
  curl https://mkk-roan.vercel.app/api/health
  ```
</CodeGroup>

### Example response

```json 200 theme={null}
{
  "status": "ok",
  "documents": 4821,
  "funds": 312,
  "sections": 47,
  "line_items": 198,
  "line_item_values": 891430,
  "portfolio_entries": 2347610,
  "portfolio_rows": 2401088
}
```

***

## GET /openapi.json

Returns the full OpenAPI specification document describing every endpoint in the MKK Structured Data API.

<Tip>
  You can import the OpenAPI document into tools like Postman, Insomnia, or any OpenAPI-compatible client to explore and test the API interactively.
</Tip>

### Example request

<CodeGroup>
  ```bash curl theme={null}
  curl https://mkk-roan.vercel.app/api/openapi.json
  ```
</CodeGroup>
