Check Newer Versions for Web Tools
curl --request POST \
--url https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"webToolIds": [
"48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"59g8767g-109c-5d54-c276-8dgd3dd9bd41"
],
"overrides": {
"48f7656f-098b-4c43-b165-7cfd2cc8ac30": {
"params": {
"location": "New York"
},
"httpHeaders": {
"X-Custom-Header": "value"
}
}
}
}
'import requests
url = "https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check"
payload = {
"webToolIds": ["48f7656f-098b-4c43-b165-7cfd2cc8ac30", "59g8767g-109c-5d54-c276-8dgd3dd9bd41"],
"overrides": { "48f7656f-098b-4c43-b165-7cfd2cc8ac30": {
"params": { "location": "New York" },
"httpHeaders": { "X-Custom-Header": "value" }
} }
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
webToolIds: ['48f7656f-098b-4c43-b165-7cfd2cc8ac30', '59g8767g-109c-5d54-c276-8dgd3dd9bd41'],
overrides: {
'48f7656f-098b-4c43-b165-7cfd2cc8ac30': {params: {location: 'New York'}, httpHeaders: {'X-Custom-Header': 'value'}}
}
})
};
fetch('https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check', 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.tryhamsa.com/v2/voice-agents/web-tool/version-check",
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([
'webToolIds' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30',
'59g8767g-109c-5d54-c276-8dgd3dd9bd41'
],
'overrides' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30' => [
'params' => [
'location' => 'New York'
],
'httpHeaders' => [
'X-Custom-Header' => 'value'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.tryhamsa.com/v2/voice-agents/web-tool/version-check"
payload := strings.NewReader("{\n \"webToolIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"59g8767g-109c-5d54-c276-8dgd3dd9bd41\"\n ],\n \"overrides\": {\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\": {\n \"params\": {\n \"location\": \"New York\"\n },\n \"httpHeaders\": {\n \"X-Custom-Header\": \"value\"\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.tryhamsa.com/v2/voice-agents/web-tool/version-check")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"webToolIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"59g8767g-109c-5d54-c276-8dgd3dd9bd41\"\n ],\n \"overrides\": {\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\": {\n \"params\": {\n \"location\": \"New York\"\n },\n \"httpHeaders\": {\n \"X-Custom-Header\": \"value\"\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"webToolIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"59g8767g-109c-5d54-c276-8dgd3dd9bd41\"\n ],\n \"overrides\": {\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\": {\n \"params\": {\n \"location\": \"New York\"\n },\n \"httpHeaders\": {\n \"X-Custom-Header\": \"value\"\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"toolId": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"hasNewerVersions": true,
"latestVersion": 3,
"latestVersionToolId": "59g8767g-109c-5d54-c276-8dgd3dd9bd41",
"conflicts": {
"params": [
"<string>"
],
"httpHeaders": [
"<string>"
]
}
}
]
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Web Tools Routes
Check Newer Versions
Checks if newer versions are available for the specified web tools. Can also detect conflicts with user overrides.
POST
/
v2
/
voice-agents
/
web-tool
/
version-check
Check Newer Versions for Web Tools
curl --request POST \
--url https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"webToolIds": [
"48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"59g8767g-109c-5d54-c276-8dgd3dd9bd41"
],
"overrides": {
"48f7656f-098b-4c43-b165-7cfd2cc8ac30": {
"params": {
"location": "New York"
},
"httpHeaders": {
"X-Custom-Header": "value"
}
}
}
}
'import requests
url = "https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check"
payload = {
"webToolIds": ["48f7656f-098b-4c43-b165-7cfd2cc8ac30", "59g8767g-109c-5d54-c276-8dgd3dd9bd41"],
"overrides": { "48f7656f-098b-4c43-b165-7cfd2cc8ac30": {
"params": { "location": "New York" },
"httpHeaders": { "X-Custom-Header": "value" }
} }
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
webToolIds: ['48f7656f-098b-4c43-b165-7cfd2cc8ac30', '59g8767g-109c-5d54-c276-8dgd3dd9bd41'],
overrides: {
'48f7656f-098b-4c43-b165-7cfd2cc8ac30': {params: {location: 'New York'}, httpHeaders: {'X-Custom-Header': 'value'}}
}
})
};
fetch('https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check', 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.tryhamsa.com/v2/voice-agents/web-tool/version-check",
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([
'webToolIds' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30',
'59g8767g-109c-5d54-c276-8dgd3dd9bd41'
],
'overrides' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30' => [
'params' => [
'location' => 'New York'
],
'httpHeaders' => [
'X-Custom-Header' => 'value'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.tryhamsa.com/v2/voice-agents/web-tool/version-check"
payload := strings.NewReader("{\n \"webToolIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"59g8767g-109c-5d54-c276-8dgd3dd9bd41\"\n ],\n \"overrides\": {\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\": {\n \"params\": {\n \"location\": \"New York\"\n },\n \"httpHeaders\": {\n \"X-Custom-Header\": \"value\"\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.tryhamsa.com/v2/voice-agents/web-tool/version-check")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"webToolIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"59g8767g-109c-5d54-c276-8dgd3dd9bd41\"\n ],\n \"overrides\": {\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\": {\n \"params\": {\n \"location\": \"New York\"\n },\n \"httpHeaders\": {\n \"X-Custom-Header\": \"value\"\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhamsa.com/v2/voice-agents/web-tool/version-check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"webToolIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"59g8767g-109c-5d54-c276-8dgd3dd9bd41\"\n ],\n \"overrides\": {\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\": {\n \"params\": {\n \"location\": \"New York\"\n },\n \"httpHeaders\": {\n \"X-Custom-Header\": \"value\"\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"toolId": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"hasNewerVersions": true,
"latestVersion": 3,
"latestVersionToolId": "59g8767g-109c-5d54-c276-8dgd3dd9bd41",
"conflicts": {
"params": [
"<string>"
],
"httpHeaders": [
"<string>"
]
}
}
]
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Authorizations
Pass the API key in the Authorization header, You need to put Token keyword before the API key. e.g. 'Authorization: Token '
Body
application/json
Array of web tool IDs to check for newer versions
Example:
[
"48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"59g8767g-109c-5d54-c276-8dgd3dd9bd41"
]
Optional overrides to check for conflicts. Keys are web tool IDs.
Show child attributes
Show child attributes
Example:
{
"48f7656f-098b-4c43-b165-7cfd2cc8ac30": {
"params": { "location": "New York" },
"httpHeaders": { "X-Custom-Header": "value" }
}
}
Was this page helpful?
⌘I