{"name":"OndaAgents API","version":"v1","documentation":"https://api.ondaagents.it/","endpoints":[{"method":"GET","path":"/v1/agents","description":"Elenco agenti (id, name, kind, clara). Filtri: ?kind=clara e ?typology_id="},{"method":"GET","path":"/v1/agents/:id","description":"Configurazione completa di un agente (voce, prompt, tool, MCP, base di conoscenza, RAG, analisi)"},{"method":"PATCH","path":"/v1/agents/:id","description":"Aggiorna la configurazione di un agente (name, prompt, voice_id, tool_ids, mcp_server_ids, knowledge_base, rag, post_call_webhook_id, ecc.)"},{"method":"GET","path":"/v1/agents/:id/variables","description":"Variabili dinamiche richieste da un agente (required, with_defaults)"},{"method":"GET","path":"/v1/phone-numbers","description":"Elenco dei numeri di telefono configurati"},{"method":"GET","path":"/v1/campaigns","description":"Elenco campagne con conteggi destinatari per stato"},{"method":"POST","path":"/v1/campaigns","description":"Crea una campagna (JSON: name, agent_id, phone_number_id, recipients[])"},{"method":"GET","path":"/v1/campaigns/:id","description":"Dettaglio campagna: aggregati destinatari"},{"method":"GET","path":"/v1/campaigns/:id/recipients","description":"Destinatari paginati (?status=&page=&page_size=)"},{"method":"POST","path":"/v1/campaigns/:id/start","description":"Avvia una campagna in bozza sul motore per-chiamata (409 se non in draft o avvio concorrente)"},{"method":"POST","path":"/v1/campaigns/:id/cancel","description":"Annulla una campagna (idempotente)"},{"method":"POST","path":"/v1/calls","description":"Chiamata diretta a un numero (JSON: agent_id, phone_number_id, phone, variables?). Ritorna id"},{"method":"GET","path":"/v1/calls","description":"Elenco chiamate dirette paginato (?page=&page_size=&status=)"},{"method":"GET","path":"/v1/calls/:id","description":"Dettaglio chiamata: trascrizione + analysis (esito, data_collection, evaluation)"},{"method":"GET","path":"/v1/calls/:id/audio","description":"Registrazione audio della chiamata (stream)"},{"method":"GET","path":"/v1/recipients/:id/call","description":"Esito chiamata di campagna: durata, esito, trascrizione"},{"method":"GET","path":"/v1/exclusions","description":"Lista esclusione (opt-out / blacklist)"},{"method":"POST","path":"/v1/exclusions","description":"Aggiungi un numero alla lista esclusione ({phone, reason?})"},{"method":"DELETE","path":"/v1/exclusions/:id","description":"Rimuovi un numero dalla lista esclusione"},{"method":"GET","path":"/v1/webhook","description":"Stato del webhook esiti chiamata ({has_webhook, url, active})"},{"method":"PUT","path":"/v1/webhook","description":"Registra il webhook esiti ({url, secret?}); secret condiviso per la firma HMAC"},{"method":"DELETE","path":"/v1/webhook","description":"Rimuovi il webhook esiti chiamata"},{"method":"GET","path":"/v1/tools","description":"Elenco degli strumenti (tool) configurati sull’account"},{"method":"POST","path":"/v1/tools","description":"Crea uno strumento (webhook o client) dalla configurazione strutturata"},{"method":"GET","path":"/v1/tools/:toolId","description":"Dettaglio di uno strumento (configurazione + agenti dipendenti)"},{"method":"PATCH","path":"/v1/tools/:toolId","description":"Aggiorna uno strumento (rimpiazza la configurazione)"},{"method":"DELETE","path":"/v1/tools/:toolId","description":"Elimina uno strumento (lo stacca anche dagli agenti collegati)"},{"method":"GET","path":"/v1/mcp-servers","description":"Elenco dei server MCP configurati sull’account"},{"method":"POST","path":"/v1/mcp-servers","description":"Crea un server MCP dalla configurazione strutturata"},{"method":"GET","path":"/v1/mcp-servers/:mcpId","description":"Dettaglio di un server MCP (config + tool offerti + approvazioni)"},{"method":"PATCH","path":"/v1/mcp-servers/:mcpId","description":"Aggiorna i campi modificabili di un server MCP"},{"method":"DELETE","path":"/v1/mcp-servers/:mcpId","description":"Elimina un server MCP (409 se in uso da un agente)"},{"method":"POST","path":"/v1/mcp-servers/:mcpId/tool-approvals","description":"Approva un tool offerto dal server MCP ({tool_name, ...})"},{"method":"DELETE","path":"/v1/mcp-servers/:mcpId/tool-approvals/:toolName","description":"Revoca l’approvazione di un tool del server MCP"},{"method":"GET","path":"/v1/workspace-webhooks","description":"Elenco dei webhook del workspace (quello di sistema è marcato is_system)"},{"method":"POST","path":"/v1/workspace-webhooks","description":"Crea un webhook ({name, url, request_headers?}); ritorna il secret HMAC una volta"},{"method":"PATCH","path":"/v1/workspace-webhooks/:webhookId","description":"Aggiorna un webhook ({name?, is_disabled?, retry_enabled?, request_headers?})"},{"method":"DELETE","path":"/v1/workspace-webhooks/:webhookId","description":"Elimina un webhook del workspace"},{"method":"GET","path":"/v1/knowledge-base","description":"Elenco dei documenti della base di conoscenza (RAG)"},{"method":"POST","path":"/v1/knowledge-base","description":"Crea un documento da testo o URL ({source: text|url, name, text|url})"},{"method":"DELETE","path":"/v1/knowledge-base/:docId","description":"Elimina un documento della base di conoscenza (lo stacca dagli agenti)"},{"method":"GET","path":"/v1/voices","description":"Elenco delle voci disponibili sull’account"}]}