Start Tool Run
curl --request POST \
--url https://api.hunch.tools/v1beta2/tool/start-run \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool_uid": "4p2QJ",
"inputs": [
{
"title": "Name",
"text": "Bob"
}
]
}
'import requests
url = "https://api.hunch.tools/v1beta2/tool/start-run"
payload = {
"tool_uid": "4p2QJ",
"inputs": [
{
"title": "Name",
"text": "Bob"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tool_uid: '4p2QJ', inputs: [{title: 'Name', text: 'Bob'}]})
};
fetch('https://api.hunch.tools/v1beta2/tool/start-run', 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.hunch.tools/v1beta2/tool/start-run",
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([
'tool_uid' => '4p2QJ',
'inputs' => [
[
'title' => 'Name',
'text' => 'Bob'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.hunch.tools/v1beta2/tool/start-run"
payload := strings.NewReader("{\n \"tool_uid\": \"4p2QJ\",\n \"inputs\": [\n {\n \"title\": \"Name\",\n \"text\": \"Bob\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.hunch.tools/v1beta2/tool/start-run")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool_uid\": \"4p2QJ\",\n \"inputs\": [\n {\n \"title\": \"Name\",\n \"text\": \"Bob\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hunch.tools/v1beta2/tool/start-run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool_uid\": \"4p2QJ\",\n \"inputs\": [\n {\n \"title\": \"Name\",\n \"text\": \"Bob\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"tool_run_uid": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"title": "<string>",
"severity": "error",
"message": "<string>"
}Tools
Start Tool Run
This endpoint creates a new run of the specified tool with the supplied inputs. It returns the tool run UID, which can be used to check the status and retrieve the outputs of the run.
Inputs are specified as a list of dictionaries each containing the title of the input block and the input.
POST
/
v1beta2
/
tool
/
start-run
Start Tool Run
curl --request POST \
--url https://api.hunch.tools/v1beta2/tool/start-run \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool_uid": "4p2QJ",
"inputs": [
{
"title": "Name",
"text": "Bob"
}
]
}
'import requests
url = "https://api.hunch.tools/v1beta2/tool/start-run"
payload = {
"tool_uid": "4p2QJ",
"inputs": [
{
"title": "Name",
"text": "Bob"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tool_uid: '4p2QJ', inputs: [{title: 'Name', text: 'Bob'}]})
};
fetch('https://api.hunch.tools/v1beta2/tool/start-run', 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.hunch.tools/v1beta2/tool/start-run",
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([
'tool_uid' => '4p2QJ',
'inputs' => [
[
'title' => 'Name',
'text' => 'Bob'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.hunch.tools/v1beta2/tool/start-run"
payload := strings.NewReader("{\n \"tool_uid\": \"4p2QJ\",\n \"inputs\": [\n {\n \"title\": \"Name\",\n \"text\": \"Bob\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.hunch.tools/v1beta2/tool/start-run")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool_uid\": \"4p2QJ\",\n \"inputs\": [\n {\n \"title\": \"Name\",\n \"text\": \"Bob\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hunch.tools/v1beta2/tool/start-run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool_uid\": \"4p2QJ\",\n \"inputs\": [\n {\n \"title\": \"Name\",\n \"text\": \"Bob\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"tool_run_uid": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"title": "<string>",
"severity": "error",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Body
application/json
Response
Successful Response
The response body returned after starting a tool run.
The unique identifier of the tool run
⌘I