Get custom tool
curl --request GET \
--url https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}import requests
url = "https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_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.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"openai_tool": {
"description": "Get the delivery date for a customer's order",
"name": "get_delivery_date",
"parameters": {
"additionalProperties": false,
"properties": {
"order_id": {
"description": "The customer's order ID",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
}
},
"additional_tool_info": {
"api": {
"endpoint": "https://api.example.com/test",
"headers": {
"Content-Type": "application/json"
},
"method": "POST",
"parameters": {
"fixed_params": {
"api_key": {
"description": "API key for authentication",
"value": "test-api-key"
}
},
"runtime_params": {}
}
},
"tool_type": "custom"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"tool_id": "<string>",
"tool_start_message": "<string>",
"tool_delayed_message": "<string>",
"tool_complete_message": "<string>",
"tool_failed_message": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Custom Tools
Get custom tool
Retrieve details of a specific custom tool.
GET
/
v2
/
ai-agents
/
{ai_agent_id}
/
custom-tools
/
{tool_id}
Get custom tool
curl --request GET \
--url https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}import requests
url = "https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_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.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"openai_tool": {
"description": "Get the delivery date for a customer's order",
"name": "get_delivery_date",
"parameters": {
"additionalProperties": false,
"properties": {
"order_id": {
"description": "The customer's order ID",
"type": "string"
}
},
"required": [
"order_id"
],
"type": "object"
}
},
"additional_tool_info": {
"api": {
"endpoint": "https://api.example.com/test",
"headers": {
"Content-Type": "application/json"
},
"method": "POST",
"parameters": {
"fixed_params": {
"api_key": {
"description": "API key for authentication",
"value": "test-api-key"
}
},
"runtime_params": {}
}
},
"tool_type": "custom"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"tool_id": "<string>",
"tool_start_message": "<string>",
"tool_delayed_message": "<string>",
"tool_complete_message": "<string>",
"tool_failed_message": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Response
Successful Response
OpenAI function definition containing the tool's interface specification
Show child attributes
Show child attributes
Example:
{
"description": "Get the delivery date for a customer's order",
"name": "get_delivery_date",
"parameters": {
"additionalProperties": false,
"properties": {
"order_id": {
"description": "The customer's order ID",
"type": "string"
}
},
"required": ["order_id"],
"type": "object"
}
}
Complete configuration for the custom tool including API details
Show child attributes
Show child attributes
Timestamp indicating when this custom tool was created
Timestamp indicating when this custom tool was last modified
Unique identifier for the custom tool
Optional message to display when the tool is started
Optional message to display when the tool is delayed
Optional message to display when the tool is completed
Optional message to display when the tool fails

