# List threads

`GET /api/v1/threads`

E-mail threads either for one record (`kind` + `id`) or the inbox (`filter`, `q`). Content follows the user's permission to see it.

## Query parameters

| Field | Type | Description |
|---|---|---|
| `kind` | string | Record type. Values: `customer`, `opp`, `visit`, `demo`, `task`, `offer`, `ticket`, `contract` |
| `id` | integer | Record id. |
| `filter` | string | `waiting` awaiting reply, `replied`, `mine`. Values: `all`, `waiting`, `replied`, `mine` |
| `q` | string | Subject or address contains. |

## Response

```json 200
{
  "items": [
    {
      "customer": "Alize Paketleme San. ve Tic. A.Ş.",
      "customer_id": 1,
      "id": 1,
      "last_at": "2026-10-01T15:06:59",
      "last_dir": "out",
      "n": 2,
      "opp": "Mevcut Müşteri — Yenileme · 2026",
      "opp_how": "single",
      "opp_id": 31,
      "opp_note": "firmanın tek açık projesi",
      "peer": "selin.dogan@alizepaketleme.example",
      "subject": "Numune ve fiyat teklifi",
      "suggested": false,
      "waiting": false
    }
  ],
  "mailbox": {
    "connected": true,
    "email": "deniz@ornekkimya.com.tr",
    "error": "",
    "signature": false,
    "status": "ok"
  },
  "ok": true,
  "total": 1
}
```
