# Felo Zoekgegronde Chat

POST /api/v1/data/chat

Stuur een vraag en ontvang in één reactie een gegenereerd antwoord met webbronnen.

Alle voorbeelden gebruiken `FELO_API_KEY` uit het [overzicht](https://openapi.felo.ai/nl/docs/data-api/guides/felo-overview.md). Aanroepen gebruiken **platformsaldo**, niet Felo Pro-credits. Reactievoorbeelden zijn illustratief; live inhoud en optionele velden kunnen variëren.

## Eindpunt

`POST /api/v1/data/chat`

Dit is het platformsaldo-eindpunt. De [Felo Search API](https://openapi.felo.ai/nl/docs/api-reference/chat.md) op `/v2/chat` gebruikt Pro-credits en heeft een andere response-envelop.

## Verzoek

| Veld | Type | Vereist | Betekenis |
|---|---|---|---|
| `query` | string | Ja | Vraag, 1–2.000 tekens |
| `accept_language` | string | Nee | Gewenste antwoordtaal, zoals `en`, `ja` of `zh-CN`; max. 64 tekens |
| `stream` | boolean | Nee | Moet `false` zijn; standaard `false` |

Gebruik een taallabel met een taalcode van 2–8 letters en optioneel koppeltekens als scheidingsteken voor subtags, zoals `zh-TW`. De service voegt deze voorkeur toe aan het genereringsverzoek. Als het wordt weggelaten, kiest de upstreamservice de taal; er is geen vaste standaard en een Engelse vraag garandeert geen Engels antwoord. De voorkeur geldt voor het gegenereerde antwoord; brontitels en fragmenten behouden hun oorspronkelijke taal.

Dit eindpunt retourneert niet-streamende JSON. Het ondersteunt geen `stream: true`, SSE, een `messages`-array of modelselectie.

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/chat" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Explain retrieval augmented generation and cite sources.","accept_language":"en","stream":false}'
```

## Reactie

HTTP 200 retourneert `status: "ok"` en een `data`-object:

```json
{
  "status": "ok",
  "data": {
    "id": "example-chat-id",
    "message_id": "example-message-id",
    "answer": "Retrieval augmented generation adds retrieved context to a model request...",
    "resources": [
      {"title":"Example reference","link":"https://example.com/guide","snippet":"An overview of retrieval augmented generation."}
    ],
    "query_analysis": {"queries":["retrieval augmented generation"]}
  }
}
```

| Veld | Betekenis |
|---|---|
| `data.answer` | Gegenereerd antwoord |
| `data.resources` | Bronpagina's met titels, links en snippets |
| `data.query_analysis` | Optionele queryanalyse; kan null zijn |
| `data.id`, `data.message_id` | Reactie-identificatiegegevens |

Controleer eerst de HTTP-status en lees daarna het antwoord en de bronnen. Test niet op numerieke `status: 200` zoals je bij `/v2/chat` zou doen.

## Facturering

`chat` wordt per verzoek gefactureerd, niet per modeltoken. Zie [huidige prijzen](https://openapi.felo.ai/api/v1/data/prices) en [Facturering en fouten](https://openapi.felo.ai/nl/docs/data-api/guides/felo-billing.md).
