Get agent by ID
curl --request GET \
--url https://api.iwy.ai/v1/agent/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.iwy.ai/v1/agent/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.iwy.ai/v1/agent/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.iwy.ai/v1/agent/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.iwy.ai/v1/agent/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.iwy.ai/v1/agent/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.iwy.ai/v1/agent/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"configuration": {
"llm": {
"model": "gemini-2.0-flash",
"provider": "google",
"system_prompt": "You are a helpful customer service assistant",
"first_message": "Hello! How can I help you today?",
"voice": "<string>",
"custom_url": "<string>",
"cost_per_minute": 0.001532
},
"stt": {
"model": "nova-3-general",
"provider": "deepgram",
"cost_per_minute": 0.01
},
"tts": {
"provider": "elevenlabs",
"voice_id": "21m00Tcm4TlvDq8ikWAM",
"cost_per_minute": 0.03
},
"video": {
"provider": "binary",
"character_id": "0001",
"cost_per_minute": 0
},
"tool_calling": {
"selected_tool_ids": [
"dcfae097-1b37-4444-bb0c-1a6abb0320fd"
]
},
"end_of_conversation": {
"callback_url": "<string>",
"send_data_on_end": false
}
},
"publish_status": "draft",
"metadata": {}
}{
"success": false,
"error": "Unauthorized",
"details": "Invalid or missing API key"
}{
"success": false,
"error": "Not found",
"details": "The requested resource does not exist"
}{
"success": false,
"error": "Internal server error",
"details": "An unexpected error occurred"
}Permanent Agents
Get agent by ID
Returns the complete configuration for a specific agent, including all settings for LLM, STT, TTS, video, and tool integrations.
GET
/
agent
/
{id}
Get agent by ID
curl --request GET \
--url https://api.iwy.ai/v1/agent/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.iwy.ai/v1/agent/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.iwy.ai/v1/agent/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.iwy.ai/v1/agent/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.iwy.ai/v1/agent/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.iwy.ai/v1/agent/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.iwy.ai/v1/agent/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"configuration": {
"llm": {
"model": "gemini-2.0-flash",
"provider": "google",
"system_prompt": "You are a helpful customer service assistant",
"first_message": "Hello! How can I help you today?",
"voice": "<string>",
"custom_url": "<string>",
"cost_per_minute": 0.001532
},
"stt": {
"model": "nova-3-general",
"provider": "deepgram",
"cost_per_minute": 0.01
},
"tts": {
"provider": "elevenlabs",
"voice_id": "21m00Tcm4TlvDq8ikWAM",
"cost_per_minute": 0.03
},
"video": {
"provider": "binary",
"character_id": "0001",
"cost_per_minute": 0
},
"tool_calling": {
"selected_tool_ids": [
"dcfae097-1b37-4444-bb0c-1a6abb0320fd"
]
},
"end_of_conversation": {
"callback_url": "<string>",
"send_data_on_end": false
}
},
"publish_status": "draft",
"metadata": {}
}{
"success": false,
"error": "Unauthorized",
"details": "Invalid or missing API key"
}{
"success": false,
"error": "Not found",
"details": "The requested resource does not exist"
}{
"success": false,
"error": "Internal server error",
"details": "An unexpected error occurred"
}Authorizations
Your iwy Service API Key. Find it at app.iwy.ai/settings.
Include it in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Path Parameters
The unique identifier (UUID) of the agent
Response
Agent retrieved successfully
Complete agent configuration
Unique identifier for the agent
ID of the user who owns this agent
Human-readable name of the agent
Agent behavior and capabilities configuration
Show child attributes
Show child attributes
Visibility and accessibility status:
draft: In development, not accessibleprivate: Active but not publicly discoverablepublic: Fully active and discoverable
Available options:
draft, private, public Additional metadata for internal use
⌘I