> For the complete documentation index, see [llms.txt](https://anunzi-ai.gitbook.io/anunzi-docs/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-docs/api-calls/obtener-agente.md).

# Obtener agente

**GET** `/get-agent/{agent_id}`

Recupera la configuración completa de un agente de voz: voz, idioma, comportamiento, webhooks, análisis post-llamada, privacidad y más.

***

## Parámetros de ruta

| Campo      | Tipo   | Requerido | Descripción                                                      |
| ---------- | ------ | --------- | ---------------------------------------------------------------- |
| `agent_id` | string | Sí        | ID único del agente. Ejemplo: `16b980523634a6dc504898cda492e939` |

## Parámetros de consulta (query)

| Campo     | Tipo    | Requerido | Descripción                                                          |
| --------- | ------- | --------- | -------------------------------------------------------------------- |
| `version` | integer | No        | Versión específica del agente. Por defecto devuelve la más reciente. |

***

## Respuesta — 200 OK

Devuelve el objeto `AgentResponse` con la configuración completa del agente.

***

### Identificación

| Campo                         | Tipo    | Descripción                                                             |
| ----------------------------- | ------- | ----------------------------------------------------------------------- |
| `agent_id`                    | string  | Identificador único del agente.                                         |
| `agent_name`                  | string  | Nombre del agente. Ejemplo: `Asistente de Ventas`                       |
| `version`                     | integer | Versión actual del agente.                                              |
| `version_description`         | string  | Descripción de esta versión.                                            |
| `last_modification_timestamp` | integer | Última modificación en milisegundos (epoch).                            |
| `is_published`                | boolean | Si el agente está publicado.                                            |
| `is_public`                   | boolean | Si el agente tiene enlace de preview público habilitado.                |
| `timezone`                    | string  | Zona horaria del agente en formato IANA. Ejemplo: `America/Mexico_City` |

***

### Motor de respuesta (`response_engine`)

| Tipo                | Campos                                                                           |
| ------------------- | -------------------------------------------------------------------------------- |
| `anunzi-llm`        | `type: "anunzi-llm"`, `llm_id` (string), `version` (number)                      |
| `custom-llm`        | `type: "custom-llm"`, `llm_websocket_url` (string)                               |
| `conversation-flow` | `type: "conversation-flow"`, `conversation_flow_id` (string), `version` (number) |

***

### Voz y audio

| Campo                        | Tipo    | Descripción                                                                                                                                  |
| ---------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `voice_id`                   | string  | ID de la voz asignada al agente.                                                                                                             |
| `voice_model`                | string  | Modelo TTS utilizado. Opciones: `eleven_turbo_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `sonic-3`, `gpt-4o-mini-tts`, entre otros. |
| `voice_temperature`          | number  | Control de estabilidad de voz. Rango: 0–2. Predeterminado: `1`                                                                               |
| `voice_speed`                | number  | Velocidad de la voz. Rango: 0.5–2. Predeterminado: `1`                                                                                       |
| `volume`                     | number  | Volumen. Rango: 0–2. Predeterminado: `1`                                                                                                     |
| `voice_emotion`              | string  | Emoción de la voz: `calm` \| `happy` \| `sad` \| `angry` \| `sympathetic` \| `fearful` \| `surprised`                                        |
| `enable_dynamic_voice_speed` | boolean | Ajusta la velocidad de voz dinámicamente según el ritmo del usuario.                                                                         |
| `fallback_voice_ids`         | array   | Voces de respaldo en caso de indisponibilidad del proveedor TTS principal.                                                                   |
| `ambient_sound`              | string  | Sonido ambiente: `coffee-shop` \| `convention-hall` \| `summer-outdoor` \| `mountain-outdoor` \| `static-noise` \| `call-center`             |
| `ambient_sound_volume`       | number  | Volumen del sonido ambiente. Rango: 0–2.                                                                                                     |

***

### Comportamiento e interacción

| Campo                           | Tipo    | Descripción                                                                          |
| ------------------------------- | ------- | ------------------------------------------------------------------------------------ |
| `responsiveness`                | number  | Velocidad de respuesta del agente. Rango: 0–1.                                       |
| `interruption_sensitivity`      | number  | Sensibilidad a interrupciones del usuario. Rango: 0–1.                               |
| `enable_backchannel`            | boolean | El agente intercala frases breves ("aja", "entiendo") mientras el usuario habla.     |
| `backchannel_frequency`         | number  | Frecuencia de backchanneling cuando está habilitado. Rango: 0–1.                     |
| `reminder_trigger_ms`           | number  | Milisegundos de silencio del usuario tras hablar el agente para enviar recordatorio. |
| `reminder_max_count`            | integer | Máximo de recordatorios enviados al usuario sin respuesta.                           |
| `enable_dynamic_responsiveness` | boolean | Ajusta la velocidad de respuesta dinámicamente.                                      |

***

### Idioma y transcripción

| Campo                      | Tipo           | Descripción                                                                                               |
| -------------------------- | -------------- | --------------------------------------------------------------------------------------------------------- |
| `language`                 | string o array | Idioma(s) del agente. Ejemplo: `"es-419"` (español latinoamericano), o array `["es-419", "en-US"]`        |
| `boosted_keywords`         | array          | Palabras clave para sesgar el reconocimiento de voz. Ejemplo: `["Anunzi", "CRM"]`                         |
| `stt_mode`                 | string         | Modo de transcripción: `fast` \| `accurate` \| `custom`                                                   |
| `vocab_specialization`     | string         | Vocabulario especializado: `general` \| `medical`                                                         |
| `denoising_mode`           | string         | Cancelación de ruido: `no-denoise` \| `noise-cancellation` \| `noise-and-background-speech-cancellation`  |
| `pronunciation_dictionary` | array          | Diccionario de pronunciación personalizada. Cada entrada: `word`, `alphabet` (`ipa` \| `cmu`), `phoneme`. |

***

### Control de llamada

| Campo                       | Tipo    | Descripción                                                              |
| --------------------------- | ------- | ------------------------------------------------------------------------ |
| `end_call_after_silence_ms` | integer | Finaliza la llamada si el usuario no responde luego de este tiempo (ms). |
| `max_call_duration_ms`      | integer | Duración máxima de la llamada en milisegundos.                           |
| `ring_duration_ms`          | integer | Tiempo máximo de timbre antes de timeout. Rango: 5000–300000 ms.         |
| `begin_message_delay_ms`    | integer | Demora en ms antes de que el agente envíe el primer mensaje.             |

***

### Webhooks

| Campo                | Tipo    | Descripción                                                                                                                                                                          |
| -------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `webhook_url`        | string  | URL que recibe los eventos de la llamada.                                                                                                                                            |
| `webhook_events`     | array   | Eventos a recibir: `call_started` \| `call_ended` \| `call_analyzed` \| `transcript_updated` \| `transfer_started` \| `transfer_bridged` \| `transfer_cancelled` \| `transfer_ended` |
| `webhook_timeout_ms` | integer | Tiempo máximo de espera para la respuesta del webhook (ms).                                                                                                                          |

***

### Buzón de voz e IVR

| Campo                            | Tipo    | Descripción                                                                                                      |
| -------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| `voicemail_message`              | string  | Mensaje que se reproduce al detectar buzón de voz.                                                               |
| `voicemail_detection_timeout_ms` | integer | Tiempo máximo para ejecutar la detección de buzón de voz (ms).                                                   |
| `voicemail_option`               | object  | Acción al detectar buzón: colgar (`hangup`), mensaje estático (`static_text`), o transferir (`bridge_transfer`). |
| `ivr_option`                     | object  | Acción al detectar un IVR.                                                                                       |

***

### Análisis post-llamada

| Campo                            | Tipo   | Descripción                                                                                                               |
| -------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
| `post_call_analysis_data`        | array  | Esquema de campos personalizados a extraer del análisis. Tipos: `string`, `enum`, `boolean`, `number`, `system-presets`.  |
| `post_call_analysis_model`       | string | Modelo de IA para el análisis. Opciones: `gpt-4.1`, `gpt-4.1-mini`, `claude-4.6-sonnet`, `gemini-2.5-flash`, entre otros. |
| `analysis_successful_prompt`     | string | Prompt para determinar si la llamada fue exitosa (máx. 2000 caracteres).                                                  |
| `analysis_summary_prompt`        | string | Prompt para guiar la generación del resumen (máx. 2000 caracteres).                                                       |
| `analysis_user_sentiment_prompt` | string | Prompt para determinar el sentimiento del usuario.                                                                        |

***

### Privacidad y almacenamiento

| Campo                         | Tipo    | Descripción                                                                                                                                                                                                                                            |
| ----------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `data_storage_setting`        | string  | `everything` \| `everything_except_pii` \| `basic_attributes_only`                                                                                                                                                                                     |
| `data_storage_retention_days` | integer | Días antes de eliminar automáticamente los datos. Rango: 1–730.                                                                                                                                                                                        |
| `opt_in_signed_url`           | boolean | Habilitar URLs firmadas para grabaciones y logs públicos.                                                                                                                                                                                              |
| `signed_url_expiration_ms`    | integer | Expiración de URLs firmadas en milisegundos.                                                                                                                                                                                                           |
| `pii_config`                  | object  | Configuración de detección y eliminación de PII. Categorías: nombre, dirección, email, teléfono, número de seguro social, pasaporte, licencia, tarjeta de crédito, cuenta bancaria, contraseña, PIN, ID médico, fecha de nacimiento, número de cuenta. |

***

## Ejemplo de solicitud

```bash
curl --request GET \
     --url https://calls.anunzi.net/get-agent/16b980523634a6dc504898cda492e939 \
     --header 'Authorization: Bearer TU_API_KEY'
```

Con versión específica:

```bash
curl --request GET \
     --url 'https://calls.anunzi.net/get-agent/16b980523634a6dc504898cda492e939?version=2' \
     --header 'Authorization: Bearer TU_API_KEY'
```

***

## Ejemplo de respuesta (parcial)

```json
{
  "agent_id": "16b980523634a6dc504898cda492e939",
  "agent_name": "Asistente de Ventas",
  "version": 3,
  "voice_id": "es-female-premium",
  "language": "es-419",
  "responsiveness": 0.8,
  "response_engine": {
    "type": "anunzi-llm",
    "llm_id": "llm_abc123"
  },
  "webhook_url": "https://tuapp.com/webhook/anunzi",
  "webhook_events": ["call_started", "call_ended", "call_analyzed"],
  "data_storage_setting": "everything",
  "is_published": true,
  "last_modification_timestamp": 1714500000000
}
```

***

## Códigos de estado

| Código | Descripción                                 |
| ------ | ------------------------------------------- |
| `200`  | Agente encontrado y devuelto correctamente. |
| `400`  | Formato de solicitud inválido.              |
| `401`  | API Key ausente o inválida.                 |
| `422`  | El agente no existe bajo tu API Key.        |
| `500`  | Error interno del servidor.                 |
