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

# Support and utility

> Submit support requests, check server health, and query version info.

## `POST /api/v1/support`

Submit a support request from an authenticated account.

This endpoint is rate-limited to roughly one request per minute, with a small burst for retries.

### Request body

```json theme={null}
{
  "category": "billing",
  "subject": "Question about a failed job",
  "message": "My latest job failed and I need help understanding the billing result."
}
```

Rules:

* `category` must be one of `bug`, `feature`, `billing`, `account`, `other`
* `subject` is optional, max 200 characters
* `message` is required, min 10 and max 5000 characters

### Success response

```json theme={null}
{
  "success": true
}
```

## `GET /api/v1/dashboard`

Returns summary KPIs and recent jobs for the authenticated user. This is the same data that powers the dashboard homepage.

### Query parameters

| Parameter | Type    | Default | Notes                            |
| --------- | ------- | ------- | -------------------------------- |
| `limit`   | integer | `5`     | Recent jobs to include, max `20` |

### Example response

```json theme={null}
{
  "kpi": {
    "jobs_today": 3,
    "places_scraped_total": 1250,
    "active_jobs": 1
  },
  "recent_jobs": [
    {
      "id": "d8d8a24e-cef2-4b02-8396-abc290b6f299",
      "name": "Berlin cafes",
      "status": "completed",
      "created_at": "2026-04-10T09:00:00Z",
      "updated_at": "2026-04-10T09:05:00Z",
      "source": "api",
      "result_count": 87,
      "total_cost": "12.50"
    }
  ]
}
```

| Field                      | Description                                    |
| -------------------------- | ---------------------------------------------- |
| `kpi.jobs_today`           | Jobs created since midnight UTC                |
| `kpi.places_scraped_total` | Total places scraped across all your jobs      |
| `kpi.active_jobs`          | Jobs currently running or pending              |
| `recent_jobs`              | Your most recent jobs, sorted by creation time |

## `GET /health`

Returns the server health status. This endpoint does not require authentication.

### Example response

```json theme={null}
{
  "status": "ok",
  "db": "ok",
  "version": "dev"
}
```

## `GET /api/v1/version`

Returns the build version and environment. Requires authentication.

### Example response

```json theme={null}
{
  "version": "1.0.0",
  "build_date": "2026-04-13",
  "git_commit_short": "a472a6e",
  "environment": "production"
}
```
