POST
/
v1
/
tools
Create A Tool
curl --request POST \
  --url http://{api_endpoint}/api/v1/v1/tools \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "display_name": "<string>",
  "description": "<string>",
  "permission": "read_only",
  "input_schema": {
    "type": "object",
    "properties": {},
    "required": [
      "<any>"
    ]
  },
  "output_schema": {},
  "binding": {
    "openapi": {
      "http_method": "GET",
      "http_path": "<string>",
      "security": [],
      "servers": [],
      "connection_id": "<string>",
      "callback": {
        "callback_url": "<string>",
        "method": "GET",
        "input_schema": {
          "type": "object",
          "properties": {},
          "required": [
            "<any>"
          ]
        },
        "output_schema": {}
      },
      "acknowledgement": {
        "output_schema": {}
      }
    },
    "python": {
      "function": "<string>",
      "requirements": [
        "<string>"
      ],
      "connections": {}
    },
    "wxflows": {
      "endpoint": "<string>",
      "flow_name": "<string>",
      "security": []
    },
    "skill": {
      "skillset_id": "<string>",
      "skill_id": "<string>",
      "skill_operation_path": "<string>",
      "http_method": "GET"
    },
    "client_side": {},
    "conversational_search": {
      "conversational_search_config": {},
      "connections": [
        "<any>"
      ],
      "version": "0.0.1"
    },
    "mcp": {
      "server_url": "<string>",
      "source": "public-registry",
      "env": {},
      "command": "<string>",
      "args": [
        "<string>"
      ],
      "transport": "<string>",
      "connections": {}
    },
    "flow": {
      "http_method": "GET",
      "http_path": "<string>",
      "security": [],
      "servers": [],
      "connection_id": "<string>",
      "callback": {
        "callback_url": "<string>",
        "method": "GET",
        "input_schema": {
          "type": "object",
          "properties": {},
          "required": [
            "<any>"
          ]
        },
        "output_schema": {}
      },
      "acknowledgement": {
        "output_schema": {}
      },
      "flow_id": "",
      "version": "TIP",
      "dependencies": {
        "tools": [],
        "agents": []
      },
      "model": {}
    },
    "langflow": {
      "langflow_id": "<string>",
      "project_id": "<string>",
      "langflow_version": "<string>",
      "connections": {}
    }
  },
  "tags": [
    "<any>"
  ],
  "is_async": false
}'
{}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

A specification for a tool that can be used in an agent.

description
string
required
permission
enum<string>
required

The permission level required to use this tool.

Available options:
read_only,
write_only,
read_write,
admin
name
string | null

Name of the tool

display_name
string | null

Display name of the tool

input_schema
object | null

A request body for a tool.

output_schema
object | null

A response body for a tool.

binding
object | null

A binding of the tool to a specific runtime environment such as an OpenAPI endpoint or local Python function.

tags
any[] | null
is_async
boolean
default:false

Whether the tool execution is asynchronous

Response

Successful Response

The response is of type object.