Create Custom Tool
Defines a new custom tool the Agent can call to reach one of your HTTP endpoints.
https://api.vantaxai.com/v1/custom-toolsA custom tool teaches the Agent how to call your API. The `schema` is a JSON Schema describing the input parameters the Agent must collect from the conversation — its `properties` become the tool's arguments and `required` lists the ones that must be present. When the Agent decides to use the tool, it gathers those arguments, then issues an `http_method` request to your `endpoint_url` with the arguments as the JSON body (or query string for GET). Any `headers` you define (such as an API key for your backend) are sent on every request. Your endpoint's JSON response is fed back to the Agent, which uses it to continue the conversation. See the execution example below for the exact payload shape.
Tool execution example
Attaching the tool to an Agent
Headers
AuthorizationstringrequiredBearer authentication with your secret API key.
example: Bearer vx_live_3fa9c2…
Content-TypestringrequiredMust be application/json for requests with a body.
example: application/json
Body Parameters
namestringrequiredMachine-friendly tool name the Agent uses to invoke it (snake_case recommended).
example: check_order_status
schemaobjectrequiredJSON Schema describing the tool's input parameters. Must be type `object` with `properties` and an optional `required` array. Each property's `description` guides the Agent on what value to extract from the conversation.
endpoint_urlstringrequiredThe HTTPS URL the Agent calls when it invokes this tool.
example: https://api.acme-store.com/orders/lookup
sub_account_idstringrequiredSub-account that will own the tool.
example: sub_8a1f4c2e
descriptionstringoptionalNatural-language explanation of what the tool does and when to use it. The Agent reads this to decide whether to call the tool.
example: Look up the current status of a customer order by order number.
http_methodstringoptionalHTTP method used to call the endpoint. Defaults to POST.
GETPOSTPATCHPUTDELETEexample: POST
headersobjectoptionalStatic headers sent with every call to your endpoint — e.g. an authorization header for your own backend.