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

# Швидкий старт

> Отримайте ключ ConareDB, вставте векторизовані рядки у простір імен і виконайте гібридний пошук: вектор, ключові слова та хронологія за три запити.

<Steps>
  <Step title="Отримайте ключ">
    Отримайте ключ `cdb_...` у [консолі ConareDB](https://db.conare.ai). Ключі обмежені префіксом вашого простору імен із правами `read`/`write`, показуються один раз і надсилаються як Bearer-токен:

    ```bash theme={null}
    export CONAREDB_API_KEY='cdb_...'
    ```
  </Step>

  <Step title="Запишіть рядки">
    Простори імен створюються під час першого запису — без схем, без церемоній. Кожен рядок — це вузол із зовнішнім `id`, властивостями та опціональним вектором. Розмірність вектора фіксується першим векторизованим записом і валідовується на кожному наступному.

    ```bash theme={null}
    curl -s https://db.conare.ai/v1/namespaces/acme-docs/query \
      -H "Authorization: Bearer $CONAREDB_API_KEY" \
      -d '{
        "request_type": "write",
        "query": {
          "queries": [{"Query": {"name": "w", "condition": null, "steps": [
            {"UpsertN": {"id": "chunk-123", "label": "chunk",
              "props": {"text": "Refund policy: 30 days, no questions.", "created_at_ms": 1720000000000, "project": "docs"},
              "vector": [0.0123, -0.0456]}}
          ]}}],
          "returns": ["w"]
        }
      }'
    ```

    `UpsertN` — це повна заміна рядка за ключем `id`: якщо записати той самий `id` ще раз, старий рядок (і його вектор) заміняється, а не зливається.
  </Step>

  <Step title="Пошук">
    Один запит виконує до трьох ранжованих гілок — вектор ANN, BM25 і хронологічну — над тим самим відфільтрованим набором рядків:

    ```bash theme={null}
    curl -s https://db.conare.ai/v1/namespaces/acme-docs/search \
      -H "Authorization: Bearer $CONAREDB_API_KEY" \
      -d '{
        "label": "chunk",
        "filter": ["project", "Eq", "docs"],
        "include_props": ["text"],
        "branches": {
          "vector":  {"embedding": [0.0119, -0.0442], "top_k": 10},
          "keyword": {"query": "refund policy", "top_k": 10}
        }
      }'
    ```

    ```json theme={null}
    {
      "vector":  {"hits": [{"id": "chunk-123", "score": 0.98, "props": {"text": "..."}}], "server_us": 412},
      "keyword": {"hits": [{"id": "chunk-123", "score": 14.2, "props": {"text": "..."}}], "mode": "and", "server_us": 200}
    }
    ```

    Гілки повертають незалежні ранжовані списки, тож ви керуєте злиттям (RRF чи власним) на стороні клієнта — та сама архітектура, яку використовує площина памʼяті самого Conare.
  </Step>
</Steps>

<Note>
  Потрібні вектори? `POST /api/v1/embeddings` в [Embeddings API](/embeddings/overview) повертає унормовані 1024-вимірні вектори, готові до збереження.
</Note>

Далі: повна [довідка з пошуку](/db/search), [записи та масовий інджест](/db/writes) або [простори імен і ключі](/db/namespaces).
