Tools
Update Tool
Partially update a tool. Changes take effect immediately on all agents using the tool.
PATCH
/
v1
/
chat
/
tools
/
{id}
Update tool
curl --request PATCH \
--url https://api.agntix.ai/v1/chat/tools/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"description": "Retrieves the current account balance and pending transactions.",
"ajvPropertiesSchema": {
"type": "object",
"properties": {
"customerId": {
"type": "string"
},
"includeTransactions": {
"type": "boolean",
"default": false
}
},
"required": [
"customerId"
]
}
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'Retrieves the current account balance and pending transactions.',
ajvPropertiesSchema: {
type: 'object',
properties: {
customerId: {type: 'string'},
includeTransactions: {type: 'boolean', default: false}
},
required: ['customerId']
}
})
};
fetch('https://api.agntix.ai/v1/chat/tools/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.agntix.ai/v1/chat/tools/{id}"
payload = {
"description": "Retrieves the current account balance and pending transactions.",
"ajvPropertiesSchema": {
"type": "object",
"properties": {
"customerId": { "type": "string" },
"includeTransactions": {
"type": "boolean",
"default": False
}
},
"required": ["customerId"]
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "GET_ACCOUNT_BALANCE",
"description": "<string>",
"ajvPropertiesSchema": {},
"orgId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "fullName should not be empty",
"status": 400
},
"meta": {
"requestId": "req_01j3m...",
"timestamp": "2026-04-29T10:00:00Z"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required.",
"status": 401
},
"meta": {
"requestId": "req_01j3m...",
"timestamp": "2026-04-29T10:00:00Z"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Agent not found.",
"status": 404
},
"meta": {
"requestId": "req_01j3m...",
"timestamp": "2026-04-29T10:00:00Z"
}
}Every endpoint on this page requires either a Clerk-issued JWT (
Authorization: Bearer <token>) or
an organization API key (x-api-key: pk_…). Anonymous calls return 401 Unauthorized. See
Authentication for the full setup.Changes to a tool’s
ajvPropertiesSchema or description are picked up on the next conversation turn — already-open sessions are not affected mid-conversation.Code examples
curl -X PATCH https://api.agntix.ai/v1/chat/tools/550e8400-e29b-41d4-a716-446655440000 \
-H "x-api-key: pk_live_••••" \
-H "Content-Type: application/json" \
-d '{
"description": "Retrieves the current account balance and pending transactions. Call when user asks about their balance, available credit, or recent charges.",
"ajvPropertiesSchema": {
"type": "object",
"properties": {
"customerId": { "type": "string", "description": "Customer ID" },
"includeTransactions": { "type": "boolean", "default": false, "description": "Include recent transactions" }
},
"required": ["customerId"]
}
}'
const toolId = '550e8400-e29b-41d4-a716-446655440000';
const updated = await fetch(`https://api.agntix.ai/v1/chat/tools/${toolId}`, {
method: 'PATCH',
headers: {
'x-api-key': 'pk_live_••••',
'Content-Type': 'application/json',
},
body: JSON.stringify({
description: 'Retrieves balance and pending transactions.',
preExecutionMessage: "Checking your balance and recent transactions...",
}),
}).then(r => r.json());
import httpx
tool_id = "550e8400-e29b-41d4-a716-446655440000"
updated = httpx.patch(
f"https://api.agntix.ai/v1/chat/tools/{tool_id}",
headers={"x-api-key": "pk_live_••••"},
json={
"description": "Retrieves balance and pending transactions.",
"preExecutionMessage": "Checking your balance...",
},
).json()
Sample response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "GET_ACCOUNT_BALANCE",
"description": "Retrieves the current account balance and pending transactions.",
"type": "API_TOOL",
"orgId": "org_2abc123",
"createdAt": "2026-04-29T10:00:00Z",
"updatedAt": "2026-04-29T11:30:00Z"
}
Authorizations
ApiKeyAuthBearerAuth
Path Parameters
Body
application/json
⌘I
Update tool
curl --request PATCH \
--url https://api.agntix.ai/v1/chat/tools/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"description": "Retrieves the current account balance and pending transactions.",
"ajvPropertiesSchema": {
"type": "object",
"properties": {
"customerId": {
"type": "string"
},
"includeTransactions": {
"type": "boolean",
"default": false
}
},
"required": [
"customerId"
]
}
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'Retrieves the current account balance and pending transactions.',
ajvPropertiesSchema: {
type: 'object',
properties: {
customerId: {type: 'string'},
includeTransactions: {type: 'boolean', default: false}
},
required: ['customerId']
}
})
};
fetch('https://api.agntix.ai/v1/chat/tools/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.agntix.ai/v1/chat/tools/{id}"
payload = {
"description": "Retrieves the current account balance and pending transactions.",
"ajvPropertiesSchema": {
"type": "object",
"properties": {
"customerId": { "type": "string" },
"includeTransactions": {
"type": "boolean",
"default": False
}
},
"required": ["customerId"]
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "GET_ACCOUNT_BALANCE",
"description": "<string>",
"ajvPropertiesSchema": {},
"orgId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "fullName should not be empty",
"status": 400
},
"meta": {
"requestId": "req_01j3m...",
"timestamp": "2026-04-29T10:00:00Z"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required.",
"status": 401
},
"meta": {
"requestId": "req_01j3m...",
"timestamp": "2026-04-29T10:00:00Z"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Agent not found.",
"status": 404
},
"meta": {
"requestId": "req_01j3m...",
"timestamp": "2026-04-29T10:00:00Z"
}
}