curl --request GET \
--url https://api.danubeai.com/v1/services/public/{service_id}/toolsimport requests
url = "https://api.danubeai.com/v1/services/public/{service_id}/tools"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.danubeai.com/v1/services/public/{service_id}/tools', 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.danubeai.com/v1/services/public/{service_id}/tools",
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.danubeai.com/v1/services/public/{service_id}/tools"
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.danubeai.com/v1/services/public/{service_id}/tools")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.danubeai.com/v1/services/public/{service_id}/tools")
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[
{
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"service_id": "<string>",
"tags": [
"<string>"
],
"method": "<string>",
"path": "<string>",
"parameters": {},
"output": {},
"tips": "<string>",
"version": "<string>",
"is_paid": true,
"price_per_call_cents": 123,
"readiness": "ready",
"configuration_url": "<string>",
"reliability": {},
"deprecated": true,
"deprecation_message": "<string>",
"sunset_date": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Get Service Tools
Get all tools for a specific service. No authentication required.
curl --request GET \
--url https://api.danubeai.com/v1/services/public/{service_id}/toolsimport requests
url = "https://api.danubeai.com/v1/services/public/{service_id}/tools"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.danubeai.com/v1/services/public/{service_id}/tools', 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.danubeai.com/v1/services/public/{service_id}/tools",
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.danubeai.com/v1/services/public/{service_id}/tools"
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.danubeai.com/v1/services/public/{service_id}/tools")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.danubeai.com/v1/services/public/{service_id}/tools")
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[
{
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"service_id": "<string>",
"tags": [
"<string>"
],
"method": "<string>",
"path": "<string>",
"parameters": {},
"output": {},
"tips": "<string>",
"version": "<string>",
"is_paid": true,
"price_per_call_cents": 123,
"readiness": "ready",
"configuration_url": "<string>",
"reliability": {},
"deprecated": true,
"deprecation_message": "<string>",
"sunset_date": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Example
curl -X GET "https://api.danubeai.com/v1/services/public/hacker_news/tools"
Path Parameters
The unique identifier of the service
Response
List of tools for the service
Unique identifier for the tool
Human-readable identifier (e.g. gmail-send-email); accepted anywhere a tool id is
Display name of the tool
What the tool does
ID of the service this tool belongs to
Tags for categorizing the tool
HTTP method, for tools on an api service
Request path, or service_id/ for MCP tools
Map of parameter name to its schema (type, location, description, required, default, enum)
Declared output fields, when the publisher provided them
Usage tips for agents, when set
Whether the caller can run the tool right now
ready, needs_credential, unavailable Where to connect the service when readiness is needs_credential
30-day reliability block for tools called recently: calls_30d, success_rate_30d, p50_seconds, last_error_class, faults, flagged, ...
After this date the tool leaves search and refuses calls
