Execute Tool
curl --request POST \
--url https://api.example.com/v1/execute \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"arguments": {},
"sessionId": "<string>"
}
'import requests
url = "https://api.example.com/v1/execute"
payload = {
"name": "<string>",
"arguments": {},
"sessionId": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', arguments: {}, sessionId: '<string>'})
};
fetch('https://api.example.com/v1/execute', 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/v1/execute",
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([
'name' => '<string>',
'arguments' => [
],
'sessionId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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 := "https://api.example.com/v1/execute"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"arguments\": {},\n \"sessionId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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("https://api.example.com/v1/execute")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"arguments\": {},\n \"sessionId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/execute")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"arguments\": {},\n \"sessionId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {},
"status": "<string>"
}Gateway Endpoints
Execute Tool
Execute a commerce tool with specified arguments
POST
/
v1
/
execute
Execute Tool
curl --request POST \
--url https://api.example.com/v1/execute \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"arguments": {},
"sessionId": "<string>"
}
'import requests
url = "https://api.example.com/v1/execute"
payload = {
"name": "<string>",
"arguments": {},
"sessionId": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', arguments: {}, sessionId: '<string>'})
};
fetch('https://api.example.com/v1/execute', 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/v1/execute",
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([
'name' => '<string>',
'arguments' => [
],
'sessionId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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 := "https://api.example.com/v1/execute"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"arguments\": {},\n \"sessionId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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("https://api.example.com/v1/execute")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"arguments\": {},\n \"sessionId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/execute")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"arguments\": {},\n \"sessionId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {},
"status": "<string>"
}Request Body
string
required
The name of the tool to execute (e.g.
search_products).object
required
The arguments for the tool, matching its Zod schema.
string
The current conversation session ID.
Response
object
The data returned by the backend.
string
The status of the execution (
success or error).Example
curl -X POST https://api.betterdata.io/v1/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "search_products",
"arguments": { "query": "blue running shoes" },
"sessionId": "session_123"
}'
⌘I