> For the complete documentation index, see [llms.txt](https://docs.otari.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.otari.ai/reference/api-reference/tools.md).

# Tools

## List Tools

> List the tools Otari runs itself, with the declaration forms it accepts.\
> \
> Called with an API key, a tool its workspace does not allow is listed as\
> unavailable. Every other \`tools\[]\` entry, including provider-native keywords\
> not listed here, is forwarded to the upstream provider untouched.

```json
{"openapi":"3.1.0","info":{"title":"otari","version":"0.36.0"},"security":[{"ApiKeyAuth":[]},{"XApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"description":"Enter your API key here (sent as Otari-Key header).","in":"header","name":"Otari-Key","type":"apiKey"},"XApiKeyAuth":{"description":"Anthropic-native clients send credentials here (no Bearer prefix).","in":"header","name":"x-api-key","type":"apiKey"}},"schemas":{"ToolsResponse":{"description":"The gateway-run tools this deployment exposes.","properties":{"data":{"items":{"$ref":"#/components/schemas/ManagedTool"},"title":"Data","type":"array"},"object":{"const":"list","default":"list","title":"Object","type":"string"}},"required":["data"],"title":"ToolsResponse","type":"object"},"ManagedTool":{"description":"One tool the gateway can run itself.","properties":{"accepted_types":{"description":"Every `tools[].type` this deployment currently routes to the tool. Always includes the canonical `otari_*` type; for web search it also includes the provider-named keywords when interception is enabled and the deployment has a search of its own, and for code execution the provider-named keywords unless the deployment's executor is `provider`.","items":{"type":"string"},"title":"Accepted Types","type":"array"},"available":{"description":"Whether a request from this caller may declare the tool: the deployment has enabled and configured it and, for an API key, the key's workspace allows it. A master key or a dashboard session gets the deployment's answer alone. A request declaring an unavailable tool is refused.","title":"Available","type":"boolean"},"description":{"description":"What the tool does, as the model is told.","title":"Description","type":"string"},"id":{"description":"The canonical tool type to put in `tools[]`.","title":"Id","type":"string"},"input_schema":{"additionalProperties":true,"description":"JSON Schema for the arguments the model supplies, as the model sees it.","title":"Input Schema","type":"object"},"object":{"const":"tool","default":"tool","title":"Object","type":"string"},"reason":{"anyOf":[{"enum":["not_configured","workspace_disabled"],"type":"string"},{"type":"null"}],"description":"Why the tool is unavailable, `null` when it is available. `not_configured`: nothing is set up to run it (for web search, neither the deployment nor the API key's organization has a search provider). `workspace_disabled`: the API key's workspace does not allow it, which a workspace admin changes under Tools in the dashboard.","title":"Reason"}},"required":["id","description","available","accepted_types","input_schema","example"],"title":"ManagedTool","type":"object"}}},"paths":{"/api/v1/tools":{"get":{"description":"List the tools Otari runs itself, with the declaration forms it accepts.\n\nCalled with an API key, a tool its workspace does not allow is listed as\nunavailable. Every other `tools[]` entry, including provider-native keywords\nnot listed here, is forwarded to the upstream provider untouched.","operationId":"tools-list_tools","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolsResponse"}}},"description":"Successful Response"}},"summary":"List Tools","tags":["tools"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.otari.ai/reference/api-reference/tools.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
