Skip to main content
PATCH
/
v1
/
voice-agents
/
web-tool
/
{id}
Update a web tool by Id.
curl --request PATCH \
  --url https://api.tryhamsa.com/v1/voice-agents/web-tool/{id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "FUNCTION",
  "name": "<string>",
  "description": "<string>",
  "async": true,
  "toolSettings": {
    "serverUrl": "<string>",
    "methodType": "<string>",
    "authToken": "<string>",
    "timeOut": 2,
    "httpHeaders": {},
    "pathParameters": {}
  },
  "messages": [
    {
      "type": "system",
      "content": "system"
    }
  ],
  "params": {}
}
'
{
  "success": false,
  "message": "success",
  "data": {
    "id": "d949f13f-40d2-4e48-ac86-b66633070603",
    "persistentId": "cmjx8qzw0000004kz3jek1ktu",
    "version": 1,
    "name": "Weather API Tool",
    "type": "FUNCTION",
    "userId": "550e8400-e29b-41d4-a716-446655440000",
    "projectId": "d949f13f-40d2-4e48-ac86-b66633070603",
    "isActive": true,
    "async": true,
    "description": "A tool that fetches current weather information for a given location.",
    "collectionId": "550e8400-e29b-41d4-a716-446655440000",
    "toolSettings": {
      "serverUrl": "https://api.example.com/webhook",
      "httpHeaders": {
        "Content-Type": "application/json",
        "Authorization": "Bearer token"
      },
      "pathParameters": {
        "userId": "12345"
      },
      "timeout": 5000,
      "authToken": "bearer_token_12345",
      "methodType": "POST"
    },
    "params": {
      "location": {
        "type": "string",
        "description": "The location to get weather for"
      }
    },
    "messages": [
      {
        "type": "system",
        "content": "You are a helpful weather assistant."
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

Pass the API key in the Authorization header, You need to put Token keyword before the API key. e.g. 'Authorization: Token '

Path Parameters

id
string<uuid>
required
Example:

"8e8e9b4b-4d4b-4b4b-4b4b-4b4b4b4b4b4b"

Body

application/json
type
enum<string>

The type of the web tool.

Available options:
FUNCTION,
MCP
name
string

The name of the web tool.

Required string length: 1 - 250
description
string

A description of what the web tool does.

Required string length: 1 - 1000
async
boolean

Whether the tool should run asynchronously. Required when type is FUNCTION, not allowed when type is MCP.

toolSettings
object

Server configuration settings for the web tool.

messages
object[]

Array of message configurations for the web tool. Each message type must be unique.

params
object

Parameter schema definition for the web tool. Not allowed when type is MCP. This field is a recursive OpenAPI-style shape with 'type', 'properties', 'required', 'items', ...etc. Please refer to the OpenAPI specification for more information.

Response

Successful response

success
boolean
default:false
message
string
default:success
data
object