curl --request PATCH \
--url https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"endpoint": "<string>",
"queryParametersKeys": [
"<string>"
],
"pathParametersKeys": [
"<string>"
],
"bodyPropertyKey": "<string>",
"customHeaders": [
{
"headerName": "<string>",
"value": "<string>"
}
],
"isFormDataBody": true,
"bodyJsonTemplate": "<string>",
"responsePostProcessingEnabled": true,
"responsePostProcessingTemplate": "<string>"
}
'import requests
url = "https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}"
payload = {
"endpoint": "<string>",
"queryParametersKeys": ["<string>"],
"pathParametersKeys": ["<string>"],
"bodyPropertyKey": "<string>",
"customHeaders": [
{
"headerName": "<string>",
"value": "<string>"
}
],
"isFormDataBody": True,
"bodyJsonTemplate": "<string>",
"responsePostProcessingEnabled": True,
"responsePostProcessingTemplate": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
endpoint: '<string>',
queryParametersKeys: ['<string>'],
pathParametersKeys: ['<string>'],
bodyPropertyKey: '<string>',
customHeaders: [{headerName: '<string>', value: '<string>'}],
isFormDataBody: true,
bodyJsonTemplate: '<string>',
responsePostProcessingEnabled: true,
responsePostProcessingTemplate: '<string>'
})
};
fetch('https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}', 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.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'endpoint' => '<string>',
'queryParametersKeys' => [
'<string>'
],
'pathParametersKeys' => [
'<string>'
],
'bodyPropertyKey' => '<string>',
'customHeaders' => [
[
'headerName' => '<string>',
'value' => '<string>'
]
],
'isFormDataBody' => true,
'bodyJsonTemplate' => '<string>',
'responsePostProcessingEnabled' => true,
'responsePostProcessingTemplate' => '<string>'
]),
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.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}"
payload := strings.NewReader("{\n \"endpoint\": \"<string>\",\n \"queryParametersKeys\": [\n \"<string>\"\n ],\n \"pathParametersKeys\": [\n \"<string>\"\n ],\n \"bodyPropertyKey\": \"<string>\",\n \"customHeaders\": [\n {\n \"headerName\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"isFormDataBody\": true,\n \"bodyJsonTemplate\": \"<string>\",\n \"responsePostProcessingEnabled\": true,\n \"responsePostProcessingTemplate\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"endpoint\": \"<string>\",\n \"queryParametersKeys\": [\n \"<string>\"\n ],\n \"pathParametersKeys\": [\n \"<string>\"\n ],\n \"bodyPropertyKey\": \"<string>\",\n \"customHeaders\": [\n {\n \"headerName\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"isFormDataBody\": true,\n \"bodyJsonTemplate\": \"<string>\",\n \"responsePostProcessingEnabled\": true,\n \"responsePostProcessingTemplate\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"endpoint\": \"<string>\",\n \"queryParametersKeys\": [\n \"<string>\"\n ],\n \"pathParametersKeys\": [\n \"<string>\"\n ],\n \"bodyPropertyKey\": \"<string>\",\n \"customHeaders\": [\n {\n \"headerName\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"isFormDataBody\": true,\n \"bodyJsonTemplate\": \"<string>\",\n \"responsePostProcessingEnabled\": true,\n \"responsePostProcessingTemplate\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"function": {
"name": "<string>",
"description": "<string>",
"strict": true,
"parameters": {
"type": "<string>",
"properties": {},
"required": [
"<string>"
],
"additionalProperties": true
}
},
"type": "function",
"endpoint": "<string>",
"method": "GET",
"queryParametersKeys": [
"<string>"
],
"pathParametersKeys": [
"<string>"
],
"bodyPropertyKey": "<string>",
"customHeaders": [
{
"headerName": "<string>",
"value": "<string>"
}
],
"isFormDataBody": true,
"bodyMode": "simple",
"bodyJsonTemplate": "<string>",
"responsePostProcessingEnabled": true,
"responsePostProcessingTemplate": "<string>"
}Update a tool by name
Updates a specific tool definition identified by its function name.
curl --request PATCH \
--url https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"endpoint": "<string>",
"queryParametersKeys": [
"<string>"
],
"pathParametersKeys": [
"<string>"
],
"bodyPropertyKey": "<string>",
"customHeaders": [
{
"headerName": "<string>",
"value": "<string>"
}
],
"isFormDataBody": true,
"bodyJsonTemplate": "<string>",
"responsePostProcessingEnabled": true,
"responsePostProcessingTemplate": "<string>"
}
'import requests
url = "https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}"
payload = {
"endpoint": "<string>",
"queryParametersKeys": ["<string>"],
"pathParametersKeys": ["<string>"],
"bodyPropertyKey": "<string>",
"customHeaders": [
{
"headerName": "<string>",
"value": "<string>"
}
],
"isFormDataBody": True,
"bodyJsonTemplate": "<string>",
"responsePostProcessingEnabled": True,
"responsePostProcessingTemplate": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
endpoint: '<string>',
queryParametersKeys: ['<string>'],
pathParametersKeys: ['<string>'],
bodyPropertyKey: '<string>',
customHeaders: [{headerName: '<string>', value: '<string>'}],
isFormDataBody: true,
bodyJsonTemplate: '<string>',
responsePostProcessingEnabled: true,
responsePostProcessingTemplate: '<string>'
})
};
fetch('https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}', 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.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'endpoint' => '<string>',
'queryParametersKeys' => [
'<string>'
],
'pathParametersKeys' => [
'<string>'
],
'bodyPropertyKey' => '<string>',
'customHeaders' => [
[
'headerName' => '<string>',
'value' => '<string>'
]
],
'isFormDataBody' => true,
'bodyJsonTemplate' => '<string>',
'responsePostProcessingEnabled' => true,
'responsePostProcessingTemplate' => '<string>'
]),
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.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}"
payload := strings.NewReader("{\n \"endpoint\": \"<string>\",\n \"queryParametersKeys\": [\n \"<string>\"\n ],\n \"pathParametersKeys\": [\n \"<string>\"\n ],\n \"bodyPropertyKey\": \"<string>\",\n \"customHeaders\": [\n {\n \"headerName\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"isFormDataBody\": true,\n \"bodyJsonTemplate\": \"<string>\",\n \"responsePostProcessingEnabled\": true,\n \"responsePostProcessingTemplate\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"endpoint\": \"<string>\",\n \"queryParametersKeys\": [\n \"<string>\"\n ],\n \"pathParametersKeys\": [\n \"<string>\"\n ],\n \"bodyPropertyKey\": \"<string>\",\n \"customHeaders\": [\n {\n \"headerName\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"isFormDataBody\": true,\n \"bodyJsonTemplate\": \"<string>\",\n \"responsePostProcessingEnabled\": true,\n \"responsePostProcessingTemplate\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devic.ai/v1/tool-servers/{toolServerId}/tools/{toolName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"endpoint\": \"<string>\",\n \"queryParametersKeys\": [\n \"<string>\"\n ],\n \"pathParametersKeys\": [\n \"<string>\"\n ],\n \"bodyPropertyKey\": \"<string>\",\n \"customHeaders\": [\n {\n \"headerName\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"isFormDataBody\": true,\n \"bodyJsonTemplate\": \"<string>\",\n \"responsePostProcessingEnabled\": true,\n \"responsePostProcessingTemplate\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"function": {
"name": "<string>",
"description": "<string>",
"strict": true,
"parameters": {
"type": "<string>",
"properties": {},
"required": [
"<string>"
],
"additionalProperties": true
}
},
"type": "function",
"endpoint": "<string>",
"method": "GET",
"queryParametersKeys": [
"<string>"
],
"pathParametersKeys": [
"<string>"
],
"bodyPropertyKey": "<string>",
"customHeaders": [
{
"headerName": "<string>",
"value": "<string>"
}
],
"isFormDataBody": true,
"bodyMode": "simple",
"bodyJsonTemplate": "<string>",
"responsePostProcessingEnabled": true,
"responsePostProcessingTemplate": "<string>"
}Authorizations
An API key from your Devic console, sent as Authorization: Bearer <key>. An embedded front end sends a tenant-session token instead, so no API key reaches the browser, and an OAuth integration sends its access token. Missing, invalid or expired credentials get a 401. See Authentication.
Path Parameters
The unique identifier of the tool server
The function name of the tool to update
Body
Show child attributes
Show child attributes
API endpoint for the tool
HTTP method
GET, POST, PUT, DELETE, PATCH Query parameter keys
Path parameter keys
Body property key
Custom headers
Show child attributes
Show child attributes
Whether the body is form data
Body mode
simple, advanced JSON body template
Whether response post-processing is enabled
Response post-processing template
Response
Tool updated successfully
Show child attributes
Show child attributes
Tool type (always 'function')
function API endpoint for the tool
HTTP method
GET, POST, PUT, DELETE, PATCH Query parameter keys
Path parameter keys
Body property key for request body
Custom headers for the tool
Show child attributes
Show child attributes
Whether the body is form data
Body mode
simple, advanced JSON body template for advanced mode
Whether response post-processing is enabled
JS expression template for response post-processing