> For the complete documentation index, see [llms.txt](https://anunzi-ai.gitbook.io/anunzi-ia-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://anunzi-ai.gitbook.io/anunzi-ia-documentation/api-de-llamadas-voz/prompt-y-funciones.md).

# Prompt, modelo y funciones

Consulta y cambia el prompt del agente, su mensaje inicial, el modelo de lenguaje y las funciones que puede usar durante la llamada.

> 💡 Disponible para los agentes del **motor de voz VPower**. Los cambios van al borrador: publícalos con [Publicar agente](/anunzi-ia-documentation/api-de-llamadas-voz/gestionar-agentes.md#publicar-agente).

El identificador de esta configuración es el `llm_id` que devuelve [Obtener agente](/anunzi-ia-documentation/api-de-llamadas-voz/obtener-agente.md) en `response_engine.llm_id` (tiene la forma `lk:agent_…`).

***

## Obtener

**GET** `/get-retell-llm/{llm_id}`

```bash
curl --request GET \
     --url 'https://calls.anunzi.net/get-retell-llm/lk:agent_3f9c1a7b2e4d5c6f' \
     --header 'Authorization: Bearer anz_live_TU_API_KEY'
```

### Respuesta

| Campo                     | Tipo              | Descripción                                                 |
| ------------------------- | ----------------- | ----------------------------------------------------------- |
| `llm_id`                  | string            | Identificador.                                              |
| `general_prompt`          | string            | Instrucciones del agente. Admite variables `{{nombre}}`.    |
| `begin_message`           | string            | Lo primero que dice el agente. Vacío = lo genera el modelo. |
| `model`                   | string            | Modelo de lenguaje.                                         |
| `model_temperature`       | number            | Creatividad del modelo.                                     |
| `general_tools`           | array             | Funciones del agente.                                       |
| `knowledge_base_ids`      | array             | Bases de conocimiento que consulta.                         |
| `version`, `is_published` | integer / boolean | Versión que estás viendo y si es la que está en uso.        |

***

## Actualizar

**PATCH** `/update-retell-llm/{llm_id}`

Envía solo los campos que quieras cambiar: `general_prompt`, `begin_message`, `model`, `model_temperature`, `general_tools`, `knowledge_base_ids`.

```bash
curl --request PATCH \
     --url 'https://calls.anunzi.net/update-retell-llm/lk:agent_3f9c1a7b2e4d5c6f' \
     --header 'Authorization: Bearer anz_live_TU_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '{
  "general_prompt": "Eres Sofía, la asistente de la clínica. Ayudas a sacar turnos...",
  "begin_message": "Hola, soy Sofía, de la clínica. ¿En qué te ayudo?"
}'
```

### Funciones (`general_tools`)

Cada función es un objeto con `type` y `name` (único, con letras, números, `_` o `-`). Tipos:

| `type`          | Qué hace                                                                                                                                                                                                                                                                                               |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `custom`        | Llama a tu API: `url`, `method`, `description`, `parameters` (JSON Schema), y opcionalmente `headers`, `query_params`, `args_at_root`, `timeout_ms`, `speak_during_execution`. En la `url`, los `headers` y los `query_params` puedes usar `{{variables}}` de la llamada (por ejemplo `{{telefono}}`). |
| `end_call`      | Cortar la llamada.                                                                                                                                                                                                                                                                                     |
| `transfer_call` | Transferir a un teléfono.                                                                                                                                                                                                                                                                              |
| `agent_swap`    | Pasar la llamada a otro agente.                                                                                                                                                                                                                                                                        |
| `press_digit`   | Marcar teclas (para navegar menús automáticos).                                                                                                                                                                                                                                                        |

> ⚠️ Al actualizar `general_tools` se reemplaza la lista completa: envía todas las funciones que el agente debe tener, no solo la nueva.

Las funciones de tipo `code` no están disponibles en el motor de voz VPower: usa una función `custom` que llame a tu API.

### Modelos

Los mismos que ofrece la ficha del agente en el panel. Si envías un modelo que no está disponible, responde `400`.

***

## Códigos de estado

| Código | Descripción                                                                                |
| ------ | ------------------------------------------------------------------------------------------ |
| `200`  | Correcto. Devuelve la configuración (del borrador, si hubo cambios).                       |
| `400`  | Campo no permitido, modelo no disponible o función mal formada (la respuesta indica cuál). |
| `401`  | API Key ausente o inválida.                                                                |
| `403`  | El agente no pertenece a tu cuenta.                                                        |
| `409`  | El agente todavía no fue migrado al motor de voz VPower.                                   |
