Get all available tools
curl --request GET \
--url https://api.example.com/api/tools/catalogimport requests
url = "https://api.example.com/api/tools/catalog"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/tools/catalog', 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/api/tools/catalog",
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/api/tools/catalog"
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/api/tools/catalog")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/tools/catalog")
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[
{
"tool_key": "<string>",
"display_name": "<string>",
"description": "<string>",
"functions": [
{
"name": "<string>",
"description": "<string>",
"parameters_json_schema": {},
"allowed_call_types": [
"<string>"
]
}
],
"icon": "<string>",
"api_base_url": "<string>",
"agent_config_schema": {
"type": "object",
"properties": {},
"required": [
"<string>"
]
},
"post_call_task": "<string>"
}
]tools
Get all available tools
Returns the catalog of all available tools and their functions. Used by frontend for agent configuration.
GET
/
api
/
tools
/
catalog
Get all available tools
curl --request GET \
--url https://api.example.com/api/tools/catalogimport requests
url = "https://api.example.com/api/tools/catalog"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/tools/catalog', 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/api/tools/catalog",
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/api/tools/catalog"
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/api/tools/catalog")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/tools/catalog")
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[
{
"tool_key": "<string>",
"display_name": "<string>",
"description": "<string>",
"functions": [
{
"name": "<string>",
"description": "<string>",
"parameters_json_schema": {},
"allowed_call_types": [
"<string>"
]
}
],
"icon": "<string>",
"api_base_url": "<string>",
"agent_config_schema": {
"type": "object",
"properties": {},
"required": [
"<string>"
]
},
"post_call_task": "<string>"
}
]Response
200 - application/json
Successful Response
Unique tool identifier, e.g. 'calendly'
Human-readable name for UI
What this tool does
List of callable functions
Show child attributes
Show child attributes
Icon name or emoji
Base URL for API calls
JSON Schema for per-agent settings validation
Show child attributes
Show child attributes
Optional celery task name to execute after call ends