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

# Enviar mensaje (Chat)

> Enviar un mensaje a un agente de IA y obtener su respuesta.

# Enviar mensaje

Envía un mensaje a un agente y recibe su respuesta generada con IA usando la base de conocimiento del agente. Cada llamada consume un crédito de mensajes de tu plan.

<RequestExample>
  ```http theme={null}
  POST https://app.chatnorris.ai/api/v2/chatbots/{chatbot_id}/chat
  Authorization: Bearer <tu_api_key>
  Content-Type: application/json
  ```
</RequestExample>

**Scope requerido:** `chat:write`

***

## Path parameters

| Parámetro    | Tipo   | Descripción                              |
| ------------ | ------ | ---------------------------------------- |
| `chatbot_id` | string | ID del agente al que se envía el mensaje |

***

## Cuerpo de la request

| Campo             | Tipo   | Requerido | Descripción                                                                                             |
| ----------------- | ------ | --------- | ------------------------------------------------------------------------------------------------------- |
| `message`         | string | ✅         | Texto del mensaje (1–4000 caracteres)                                                                   |
| `conversation_id` | string | —         | UUID de una conversación existente para continuar el hilo. Si se omite, se crea una conversación nueva. |

### Ejemplo — primer mensaje

```json theme={null}
{
  "message": "¿Cuáles son los horarios de atención?"
}
```

### Ejemplo — continuar conversación

```json theme={null}
{
  "message": "¿Y los fines de semana?",
  "conversation_id": "conv_abc123"
}
```

***

## Respuesta

```json theme={null}
{
  "status": "success",
  "data": {
    "reply": "Nuestros horarios de atención son de lunes a viernes de 9:00 a 18:00 hs.",
    "conversation_id": "conv_abc123"
  }
}
```

### Campos de respuesta

| Campo             | Tipo   | Descripción                                                                                      |
| ----------------- | ------ | ------------------------------------------------------------------------------------------------ |
| `reply`           | string | Respuesta generada por el agente                                                                 |
| `conversation_id` | string | ID de la conversación (nueva o existente). Usalo en próximas llamadas para mantener el contexto. |

***

## Cómo funciona el contexto

Cada request que incluye el mismo `conversation_id` mantiene el historial de los últimos 10 mensajes de la conversación. Esto permite conversaciones multi-turno coherentes.

Sin `conversation_id`, cada llamada es una conversación independiente sin contexto previo.

***

## Errores comunes

| Code                 | Descripción                                                                      |
| -------------------- | -------------------------------------------------------------------------------- |
| `INVALID_INPUT`      | El mensaje supera 4000 caracteres o el `conversation_id` no es un UUID válido    |
| `NOT_FOUND`          | El agente no existe, está inactivo, o la conversación no pertenece a este agente |
| `PLAN_LIMIT_REACHED` | Se alcanzó el límite de mensajes mensual del plan                                |
