# Chat con base en búsquedas

Genera una respuesta con fuentes web usando el saldo de la plataforma.

Envía una pregunta y recibe una respuesta generada con fuentes web en una sola respuesta.

Todos los ejemplos usan `FELO_API_KEY` de la [vista general](https://openapi.felo.ai/es/docs/data-api/guides/felo-overview.md). Las llamadas usan **saldo de la plataforma**, no créditos Felo Pro. Los ejemplos de respuesta son ilustrativos; el contenido en vivo y los campos opcionales varían.

## Endpoint

`POST /api/v1/data/chat`

Este es el endpoint de saldo de la plataforma. La [API de búsqueda de Felo](https://openapi.felo.ai/es/docs/api-reference/chat.md) en `/v2/chat` usa créditos Pro y tiene un envoltorio de respuesta diferente.

## Solicitud

| Campo | Tipo | Requerido | Significado |
|---|---|---|---|
| `query` | string | Sí | Pregunta, de 1 a 2.000 caracteres |
| `accept_language` | string | No | Idioma preferido de la respuesta, como `en`, `ja` o `zh-CN`; máximo 64 caracteres |
| `stream` | boolean | No | Debe ser `false`; el valor predeterminado es `false` |

Usa una etiqueta de idioma con un código de idioma de 2 a 8 letras y subtags opcionales separados por guiones, como `zh-TW`. El servicio añade esta preferencia a la solicitud de generación. Si se omite, el servicio upstream elige el idioma; no hay un valor predeterminado fijo, y una pregunta en inglés no garantiza una respuesta en inglés. La preferencia se aplica a la respuesta generada; los títulos y extractos de las fuentes conservan su idioma original.

Este endpoint devuelve JSON sin streaming. No admite `stream: true`, SSE, un arreglo `messages` ni selección de modelo.

```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}'
```

## Respuesta

HTTP 200 devuelve `status: "ok"` y un objeto `data`:

```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"]}
  }
}
```

| Campo | Significado |
|---|---|
| `data.answer` | Respuesta generada |
| `data.resources` | Páginas fuente con títulos, enlaces y fragmentos |
| `data.query_analysis` | Análisis de consulta opcional; puede ser null |
| `data.id`, `data.message_id` | Identificadores de la respuesta |

Comprueba primero el estado HTTP y luego lee la respuesta y las fuentes. No pruebes `status: 200` numérico como harías con `/v2/chat`.

## Facturación

`chat` se factura por solicitud, no por tokens del modelo. Consulta los [precios actuales](https://openapi.felo.ai/api/v1/data/prices) y [Facturación y errores](https://openapi.felo.ai/es/docs/data-api/guides/felo-billing.md).
