List Tools
Beta/v1/ai/toolsThis endpoint is idempotent. Learn more
Returns a paginated list of every capability that can be granted to an agent.
The catalog is platform-defined and identical for every account, and covers both built-in runtime capabilities and the API operations agents are allowed to perform. The q search term matches against tool names and the name of the group a tool belongs to.
cursoroptional stringOpaque cursor token identifying where the page of results starts.
Use the cursor value embedded in a previous response's next_page_url or previous_page_url to fetch the adjacent page. Omit to start from the first page.
limitoptional integerMaximum number of results to return in a single page.
qoptional stringFree-text search term used to filter results.
Which fields are matched against the term varies by endpoint.
objectstringenumValues:listResource type identifier.
page_infoobjectPagination metadata.
next_page_urlstringnullableRelative URL that fetches the next page of results.
previous_page_urlstringnullableRelative URL that fetches the previous page of results.
has_next_pagebooleanWhether more results exist after this page.
has_prev_pagebooleanWhether results exist before this page.
dataarray of available_toolResources in this page.
objectstringenumValues:available_toolResource type identifier.
slugstringA stable identifier used when attaching the tool to an agent.
categorystringWhere the tool's behavior comes from.
built_in: a capability implemented by the agent runtime itself, such as fetching a web page or drafting a reply for a teammate to approve.api_endpoint: an operation of this API exposed as a tool, letting the agent perform it on the account's behalf.
namestringHuman-readable name for the tool.
descriptionstringnullableExplanation of what the tool does.
This is also the description the agent's model reads when deciding whether to call the tool.
config_schemaobjectnullableJSON schema describing the configuration options this tool accepts.
Defines the shape of the config field on AgentDefinitionTool: a schema declaring a max_results integer property means that tool's config may set max_results.
Encoded as a JSON value (object, array, string, number, boolean, or null), not a JSON-encoded string.
required_permissionsarray of stringPermission scopes the agent's role must hold for this tool to be usable (e.g. products:read).
required_role_typestringnullableRole type the caller must have for this tool, when the operation is gated by role rather than a permission (e.g. admin).
mutatingbooleanWhether invoking this tool takes an action rather than only reading data.
True for any api_endpoint tool whose underlying operation is not a read, and for built_in tools that do something externally visible or hard to undo, such as sending an email. A mutating built_in tool always pauses its run for human approval and that gate cannot be turned off for an individual agent; for api_endpoint tools the flag is advisory and review stays configurable per agent.
Responses
Successful response for List Tools