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

# Respuestas rápidas

> Lista las respuestas rápidas del negocio para enviarlas por nombre

<Info>
  **Endpoint** · `GET /quick-replies`
</Info>

<Note>
  Endpoint de **solo consulta**: devuelve información y no modifica nada. No se manda dentro del array `actions` — se llama directo.
</Note>

Devuelve el catálogo de respuestas rápidas del negocio, en orden alfabético y
paginado por cursor. Cada item trae únicamente el `name`, y ese es el valor que
después se pasa en `quick_reply.name` al armar una acción de envío. El catálogo
no expone el contenido de la respuesta rápida (el shape de sus `actions` no se
incluye): sirve para descubrir qué nombres existen, no para inspeccionar qué
manda cada una.

**Parámetros**

* `slug` — slug del negocio en la ruta, sin distinguir mayúsculas. Debe coincidir con el negocio del token. **Obligatorio**.
* `search` — substring del nombre, sin distinguir mayúsculas (1 a 100 caracteres). El asterisco `*` funciona como comodín y coincide con cualquier secuencia de caracteres; los caracteres `%` y `_` se buscan literalmente. Opcional.
* `cursor` — cursor opaco devuelto por la página anterior en `next_cursor`. Omitirlo para pedir la primera página. No reutilizar cursores entre endpoints distintos: aunque el formato sea idéntico, cada endpoint lo interpreta sobre su propio conjunto de datos. Opcional.
* `limit` — respuestas rápidas por página. Por defecto 20, máximo 100. Opcional.

### Respuesta

```json theme={null}
{
  "items": [
    { "name": "Horario de atención" },
    { "name": "Saludo inicial" }
  ],
  "next_cursor": "SG9yYXJpbyBkZSBhdGVuY2lvbnw0MDIz",
  "has_more": true
}
```

`has_more` indica si quedan resultados después de esta página. Mientras sea
`true`, repetir la llamada pasando el valor de `next_cursor` en `?cursor=` y
manteniendo los mismos filtros. Cuando `has_more` es `false`, `next_cursor`
llega en `null`.

### Ejemplo

Es una lectura pura: pide la primera página del catálogo para ver qué nombres
hay disponibles. La llamada no envía ningún mensaje ni modifica ninguna
conversación — solo devuelve nombres, que después alimentan una acción de envío.

```bash theme={null}
curl -X GET "https://app.1to1.ai/api/v1/public/{slug}/quick-replies?search=salu&limit=20" \
  -H "Authorization: Bearer sk_1to1_tu_api_key"
```

La página siguiente, con el cursor que devolvió la respuesta anterior:

```bash theme={null}
curl -X GET "https://app.1to1.ai/api/v1/public/{slug}/quick-replies?search=salu&limit=20&cursor=SG9yYXJpbyBkZSBhdGVuY2lvbnw0MDIz" \
  -H "Authorization: Bearer sk_1to1_tu_api_key"
```

### Errores

| Código                    | Status | Cuándo                                                                                                |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------- |
| `INVALID_REQUEST`         | 400    | Query params inválidos (por ejemplo, `limit` fuera de rango).                                         |
| `INVALID_CURSOR`          | 400    | El `cursor` está corrupto o no corresponde a este endpoint.                                           |
| `INVALID_API_TOKEN`       | 401    | Token ausente, mal formado o no válido.                                                               |
| `TOKEN_BUSINESS_MISMATCH` | 403    | El slug de la ruta no coincide con el negocio del token.                                              |
| `RATE_LIMIT_EXCEEDED`     | 429    | Límite de peticiones excedido. Los headers `Retry-After` y `X-RateLimit-*` indican cuándo reintentar. |
| `UNKNOWN_ERROR`           | 500    | Error inesperado del servidor.                                                                        |

Ver el catálogo completo en [Errores](/es/errors).

El `name` que devuelve esta consulta es exactamente el que consumen las acciones
de envío: [Enviar mensaje](/es/action-groups/send-message) en modo respuesta
rápida (`quick_reply: { "name": ... }`) y [Enviar respuesta rápida o
plantilla](/es/action-groups/send-quick-reply-or-template), que manda la
respuesta rápida con la ventana de 24h abierta y la plantilla si está cerrada.
El nombre se compara sin distinguir mayúsculas, pero conviene copiarlo tal cual
viene del catálogo.
