# Form configuration

`GET /api/v1/qe/config`

Everything needed to draw Quick Entry: templates (block order, `st` = `open` · `chip` · `off`, `req` required, `cond` condition, `def` defaults), block definitions for the user's modules (fields: `k` key, `t` type, `o` options, `u` unit), `default_template` (user's department → conversation type → default), conversation types, topics, next steps, stages and the undo window.

## Query parameters

| Field | Type | Description |
|---|---|---|
| `type` | string | Conversation type (affects template choice). Values: `F2F`, `Online`, `Call`, `Deneme` |

## Response

```json 200
{
  "blocks": [
    {
      "fields": [
        {
          "k": "stage_label",
          "l": "Aşama",
          "o": [
            [
              "Qualify"
            ]
          ],
          "t": "select"
        }
      ],
      "icon": "kanban",
      "k": "firsat",
      "label": "Fırsat",
      "obj": "Fırsat"
    },
    {
      "fields": [
        {
          "k": "product",
          "l": "Ürün",
          "ph": "Ürün adı (yeni ise eklenir)",
          "t": "product"
        }
      ],
      "icon": "box",
      "k": "urun",
      "label": "Ürün",
      "obj": "Ürün"
    }
  ],
  "conds": [
    {
      "k": "",
      "label": "Her zaman çip"
    },
    {
      "k": "has_opp",
      "label": "Firmanın açık fırsatı varsa açık"
    }
  ],
  "currency": "€",
  "default_template": 1,
  "next_actions": [
    "Numune Gönder",
    "Teklif"
  ],
  "ok": true,
  "open_stages": [
    "Qualify",
    "Viable"
  ],
  "stage_labels": {
    "Cancel": "Cancel",
    "Expect to Close": "Expect to Close",
    "Lost": "Lost",
    "Negotiation": "Negotiation",
    "Present Solution": "Present Solution",
    "Qualify": "Qualify",
    "Viable": "Viable",
    "Win": "Win"
  },
  "templates": [
    {
      "blocks": [
        {
          "cond": "",
          "def": {},
          "fl": null,
          "k": "firsat",
          "label": "",
          "req": false,
          "st": "chip"
        }
      ],
      "icon": "geo-alt",
      "id": 1,
      "is_default": true,
      "name": "Saha ziyareti",
      "team": "",
      "topic": "Görüşme",
      "vtype": "F2F"
    },
    {
      "blocks": [
        {
          "cond": "",
          "def": {},
          "fl": null,
          "k": "firsat",
          "label": "",
          "req": false,
          "st": "chip"
        }
      ],
      "icon": "camera-video",
      "id": 2,
      "is_default": false,
      "name": "Online toplantı",
      "team": "",
      "topic": "Görüşme",
      "vtype": "Online"
    }
  ],
  "topics": [
    "Yeni Ürünler",
    "Fiyat"
  ],
  "undo_seconds": 600,
  "unit": "kg",
  "users": [
    {
      "full_name": "Deniz Aksoy",
      "id": 1
    }
  ],
  "visit_types": [
    {
      "icon": "people",
      "k": "F2F",
      "label": "Yüz yüze"
    },
    {
      "icon": "camera-video",
      "k": "Online",
      "label": "Online"
    }
  ]
}
```
