Skip to main content
GET
/
api
/
v1
/
tools
List Tools
curl --request GET \
  --url https://api.example.com/api/v1/tools
{
  "401": {},
  "403": {},
  "500": {},
  "id": "<string>",
  "name": "<string>",
  "description": "<string>",
  "color": "<string>",
  "iconSrc": "<string>",
  "schema": "<string>",
  "func": "<string>",
  "createdDate": {},
  "updatedDate": {},
  "workspaceId": "<string>"
}
Retrieve all custom tools in your workspace. Tools are reusable functions that agents can use to perform specific actions.

Query Parameters

page
number
Page number for pagination. Default: 1
limit
number
Number of results per page. Default: 50

Response

id
string
Unique identifier for the tool
name
string
Name of the tool
description
string
Description of what the tool does
color
string
Color code for UI display
iconSrc
string
Path or URL to the tool’s icon
schema
string
JSON schema defining the tool’s input parameters
func
string
JavaScript function code that executes when the tool is called
createdDate
timestamp
When the tool was created
updatedDate
timestamp
When the tool was last updated
workspaceId
string
ID of the workspace containing this tool

Example Request

curl -X GET \
  'https://your-flowise-instance.com/api/v1/tools' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Example Request - With Pagination

curl -X GET \
  'https://your-flowise-instance.com/api/v1/tools?page=1&limit=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Example Response

[
  {
    "id": "tool-123",
    "name": "Weather Lookup",
    "description": "Get current weather for a location",
    "color": "#3B82F6",
    "iconSrc": "/icons/weather.svg",
    "schema": "{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\"}},\"required\":[\"location\"]}",
    "func": "async function({ location }) { ... }",
    "createdDate": "2024-01-15T10:30:00Z",
    "updatedDate": "2024-01-15T10:30:00Z",
    "workspaceId": "workspace-123"
  },
  {
    "id": "tool-456",
    "name": "Database Query",
    "description": "Query the customer database",
    "color": "#10B981",
    "iconSrc": "/icons/database.svg",
    "schema": "{\"type\":\"object\",\"properties\":{\"query\":{\"type\":\"string\"}},\"required\":[\"query\"]}",
    "func": "async function({ query }) { ... }",
    "createdDate": "2024-01-16T14:20:00Z",
    "updatedDate": "2024-01-18T09:15:00Z",
    "workspaceId": "workspace-123"
  }
]

Tool Schema Format

The schema field uses JSON Schema format to define input parameters:
{
  "type": "object",
  "properties": {
    "paramName": {
      "type": "string",
      "description": "Parameter description"
    }
  },
  "required": ["paramName"]
}

Tool Function Format

The func field contains JavaScript code:
async function({ param1, param2 }) {
  // Your tool logic here
  return result;
}

Error Responses

401
error
Unauthorized - Invalid or missing API key
403
error
Forbidden - Insufficient permissions to view tools
500
error
Internal Server Error - Error retrieving tools

Build docs developers (and LLMs) love