Documentación
API de Llamadas (voz).md

Gestionar agentes

Lista tus agentes de voz, cambia su configuración (voz, idioma, comportamiento, extractores…) y publica los cambios, sin entrar al panel.

💡 La gestión por API está disponible para los agentes del motor de voz VPower. Si un agente todavía no pasó a VPower (qué cambia), estas operaciones responden 409 con "code": "agent_not_migrated".

Cómo funcionan los cambios: igual que en la ficha del panel. Cada cambio se guarda en un borrador; las llamadas siguen usando la versión publicada hasta que llamas a Publicar agente. Así puedes hacer varios cambios y probarlos antes de ponerlos en uso.


Listar agentes

GET /list-agents

Devuelve los agentes de tu cuenta (y los de tus clientes, si eres partner). Los agentes del motor de voz VPower vienen con su configuración completa (la misma forma que Obtener agente); los que todavía no se migraron vienen con agent_id, agent_name y "manageable": false.

curl --request GET \
     --url https://calls.anunzi.net/list-agents \
     --header 'Authorization: Bearer anz_live_TU_API_KEY'

Actualizar agente

PATCH /update-agent/{agent_id}

Cambia campos de la configuración del agente. Envía solo los que quieras cambiar.

Campos que puedes cambiar

Campo Tipo Descripción
agent_name string Nombre del agente.
voice_id string Voz. Usa un voice_id de Listar voces.
language string Idioma, por ejemplo es-419, es-ES, en-US.
voice_speed number Velocidad de la voz (0,5 a 2).
voice_temperature number Variación de la voz (0 a 2).
volume number Volumen (0 a 2).
voice_emotion string Emoción de la voz, si la voz la admite.
responsiveness number Qué tan rápido responde (0 a 1).
interruption_sensitivity number Qué tan fácil lo interrumpen (0 a 1).
enable_backchannel boolean Que diga «ajá», «claro» mientras la persona habla.
backchannel_frequency number Frecuencia del backchannel (0 a 1).
ambient_sound string Sonido de ambiente (coffee-shop, call-center, etc.) o null.
ambient_sound_volume number Volumen del ambiente.
begin_message_delay_ms integer Espera antes del saludo.
ring_duration_ms integer Cuánto suena antes de cortar en salientes.
end_call_after_silence_ms integer Corta tras este silencio.
max_call_duration_ms integer Duración máxima de la llamada.
reminder_trigger_ms integer Silencio antes de preguntar «¿sigues ahí?».
reminder_max_count integer Cuántas veces pregunta antes de cortar.
allow_user_dtmf boolean Que el agente reciba las teclas que marca la persona.
voicemail_option object Qué hacer si atiende un buzón de voz.
ivr_option object Qué hacer si atiende un menú automático.
boosted_keywords array Palabras que la transcripción debe reconocer mejor (nombres, marcas). Hasta 100.
stt_mode string Modo de transcripción.
post_call_analysis_data array Extractores: datos a sacar de cada llamada al terminar.
post_call_analysis_model string Modelo del análisis post-llamada.
guardrail_config, pii_config, handbook_config object Seguridad, datos personales y presets de comportamiento.
data_storage_setting, data_storage_retention_days string / integer Qué se guarda y por cuántos días.

El prompt, el mensaje inicial, el modelo y las funciones se cambian con Prompt, modelo y funciones.

Ejemplo

curl --request PATCH \
     --url https://calls.anunzi.net/update-agent/agent_3f9c1a7b2e4d5c6f \
     --header 'Authorization: Bearer anz_live_TU_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '{
  "voice_speed": 1.1,
  "enable_backchannel": true,
  "post_call_analysis_data": [
    { "type": "string", "name": "motivo", "description": "Motivo principal del llamado" }
  ]
}'

Responde 200 con el agente actualizado (el borrador): version es el número del borrador e is_published vale false hasta que lo publiques.


Publicar agente

POST /publish-agent/{agent_id}

Pone en uso el borrador: desde ese momento, las llamadas nuevas usan esta versión.

curl --request POST \
     --url https://calls.anunzi.net/publish-agent/agent_3f9c1a7b2e4d5c6f \
     --header 'Authorization: Bearer anz_live_TU_API_KEY'
{ "agent_id": "agent_3f9c1a7b2e4d5c6f", "version": 7, "is_published": true }

Si no hay cambios sin publicar responde 409.


Versiones del agente

GET /get-agent-versions/{agent_id}

Historial de versiones: número, si es la que está en uso (is_published), título y fecha de la última modificación (en milisegundos).

[
  { "version": 7, "is_published": true,  "version_title": "Publicado por API", "last_modification_timestamp": 1791230400000 },
  { "version": 6, "is_published": false, "version_title": "", "last_modification_timestamp": 1791144000000 }
]

Códigos de estado

Código Descripción
200 Correcto.
400 Campo no permitido o valor inválido (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, o no hay borrador para publicar.
Esc