# Tools

## Create a new tool

> Create a new tool

```json
{"tags":[{"name":"tools"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Tool":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the tool"},"name":{"type":"string","description":"Name of the tool"},"description":{"type":"string","description":"Description of the tool"},"color":{"type":"string","description":"Color associated with the tool"},"iconSrc":{"type":"string","nullable":true,"description":"Source URL for the tool's icon"},"schema":{"type":"string","nullable":true,"description":"JSON schema associated with the tool"},"func":{"type":"string","nullable":true,"description":"Functionality description or code associated with the tool"},"createdDate":{"type":"string","format":"date-time","description":"Date and time when the tool was created"},"updatedDate":{"type":"string","format":"date-time","description":"Date and time when the tool was last updated"}}}}},"paths":{"/tools":{"post":{"tags":["tools"],"operationId":"createTool","summary":"Create a new tool","description":"Create a new tool","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}},"required":true},"responses":{"200":{"description":"Tool created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}}},"400":{"description":"Invalid request body"},"422":{"description":"Validation error"},"500":{"description":"Internal server error"}}}}}}
```

## List all tools

> Retrieve a list of all tools

```json
{"tags":[{"name":"tools"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Tool":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the tool"},"name":{"type":"string","description":"Name of the tool"},"description":{"type":"string","description":"Description of the tool"},"color":{"type":"string","description":"Color associated with the tool"},"iconSrc":{"type":"string","nullable":true,"description":"Source URL for the tool's icon"},"schema":{"type":"string","nullable":true,"description":"JSON schema associated with the tool"},"func":{"type":"string","nullable":true,"description":"Functionality description or code associated with the tool"},"createdDate":{"type":"string","format":"date-time","description":"Date and time when the tool was created"},"updatedDate":{"type":"string","format":"date-time","description":"Date and time when the tool was last updated"}}}}},"paths":{"/tools":{"get":{"tags":["tools"],"summary":"List all tools","description":"Retrieve a list of all tools","operationId":"getAllTools","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tool"}}}}},"500":{"description":"Internal server error"}}}}}}
```

## Get a tool by ID

> Retrieve a specific tool by ID

```json
{"tags":[{"name":"tools"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Tool":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the tool"},"name":{"type":"string","description":"Name of the tool"},"description":{"type":"string","description":"Description of the tool"},"color":{"type":"string","description":"Color associated with the tool"},"iconSrc":{"type":"string","nullable":true,"description":"Source URL for the tool's icon"},"schema":{"type":"string","nullable":true,"description":"JSON schema associated with the tool"},"func":{"type":"string","nullable":true,"description":"Functionality description or code associated with the tool"},"createdDate":{"type":"string","format":"date-time","description":"Date and time when the tool was created"},"updatedDate":{"type":"string","format":"date-time","description":"Date and time when the tool was last updated"}}}}},"paths":{"/tools/{id}":{"get":{"tags":["tools"],"summary":"Get a tool by ID","description":"Retrieve a specific tool by ID","operationId":"getToolById","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Tool ID"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}}},"400":{"description":"Invalid ID provided"},"404":{"description":"Tool not found"},"500":{"description":"Internal server error"}}}}}}
```

## Update a tool by ID

> Update a specific tool by ID

```json
{"tags":[{"name":"tools"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Tool":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the tool"},"name":{"type":"string","description":"Name of the tool"},"description":{"type":"string","description":"Description of the tool"},"color":{"type":"string","description":"Color associated with the tool"},"iconSrc":{"type":"string","nullable":true,"description":"Source URL for the tool's icon"},"schema":{"type":"string","nullable":true,"description":"JSON schema associated with the tool"},"func":{"type":"string","nullable":true,"description":"Functionality description or code associated with the tool"},"createdDate":{"type":"string","format":"date-time","description":"Date and time when the tool was created"},"updatedDate":{"type":"string","format":"date-time","description":"Date and time when the tool was last updated"}}}}},"paths":{"/tools/{id}":{"put":{"tags":["tools"],"summary":"Update a tool by ID","description":"Update a specific tool by ID","operationId":"updateTool","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Tool ID"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}},"required":true},"responses":{"200":{"description":"Tool updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}}},"400":{"description":"Invalid ID or request body provided"},"404":{"description":"Tool not found"},"500":{"description":"Internal server error"}}}}}}
```

## Delete a tool by ID

> Delete a specific tool by ID

```json
{"tags":[{"name":"tools"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/tools/{id}":{"delete":{"tags":["tools"],"summary":"Delete a tool by ID","description":"Delete a specific tool by ID","operationId":"deleteTool","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Tool ID"}],"responses":{"200":{"description":"Tool deleted successfully"},"400":{"description":"Invalid ID provided"},"404":{"description":"Tool not found"},"500":{"description":"Internal server error"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flowiseai.com/api-reference/tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
