Initiate Call
curl --request POST \
--url http://localhost:8000/api/v1/public/agent/{uuid} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <x-api-key>' \
--data '
{
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
'import requests
url = "http://localhost:8000/api/v1/public/agent/{uuid}"
payload = {
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
headers = {
"X-API-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone_number: '<string>', initial_context: {}, telephony_configuration_id: 123})
};
fetch('http://localhost:8000/api/v1/public/agent/{uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/api/v1/public/agent/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone_number' => '<string>',
'initial_context' => [
],
'telephony_configuration_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8000/api/v1/public/agent/{uuid}"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8000/api/v1/public/agent/{uuid}")
.header("X-API-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/api/v1/public/agent/{uuid}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"workflow_run_id": 123,
"workflow_run_name": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Запуски
Запустить агента исходящим звонком через узел API Trigger
Запуск агента исходящим звонком с использованием UUID узла API Trigger
POST
/
api
/
v1
/
public
/
agent
/
{uuid}
Initiate Call
curl --request POST \
--url http://localhost:8000/api/v1/public/agent/{uuid} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <x-api-key>' \
--data '
{
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
'import requests
url = "http://localhost:8000/api/v1/public/agent/{uuid}"
payload = {
"phone_number": "<string>",
"initial_context": {},
"telephony_configuration_id": 123
}
headers = {
"X-API-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone_number: '<string>', initial_context: {}, telephony_configuration_id: 123})
};
fetch('http://localhost:8000/api/v1/public/agent/{uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/api/v1/public/agent/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone_number' => '<string>',
'initial_context' => [
],
'telephony_configuration_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8000/api/v1/public/agent/{uuid}"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8000/api/v1/public/agent/{uuid}")
.header("X-API-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/api/v1/public/agent/{uuid}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"initial_context\": {},\n \"telephony_configuration_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"workflow_run_id": 123,
"workflow_run_name": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Используйте этот эндпоинт, когда хотите запустить агента через узел API Trigger.
uuid берётся из узла API Trigger в вашем агенте. Добавьте узел в воркфлоу и скопируйте его автоматически сгенерированный trigger_path.
Используйте workflow_run_id из ответа, чтобы позже получить сведения о запуске, записи и транскрипты.
Передайте initial_context, чтобы внедрить данные времени выполнения как переменные шаблона в промпт агента. См. Использование initial context.
Передайте telephony_configuration_id, чтобы направить звонок через конкретную конфигурацию телефонии вместо конфигурации по умолчанию для вашей организации. Id отображается в каждой строке раздела Конфигурации телефонии (https://app.agentika.ai/telephony-configurations для хостинговой версии или http://localhost:3010/telephony-configurations для локальной).
Этот маршрут ожидает UUID узла API Trigger (
trigger_path). Не передавайте сюда UUID воркфлоу. Если вы хотите выполнить запуск по Agent UUID, используйте вместо этого Запустить агента исходящим звонком по Agent UUID.Перед тем как исходящие звонки смогут подключаться, должен быть настроен ваш провайдер телефонии. Инструкции по настройке см. в разделе Телефония.
Headers
Path Parameters
Body
application/json
⌘I