# 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.                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.anunzi.net/api-calls/obtener-agente.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
