---
title: "List what the AI Assistant can do"
method: GET
path: "/assistant/tools/"
tags: ["assistant"]
---

# List what the AI Assistant can do

`GET /assistant/tools/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/assistant/tools/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Every tool the AI Assistant may use on your behalf: what it does, which part of the product it belongs to, whether using it changes anything, and whether your workspace may allow it to run without asking. The writes are the ones the settings page can allow; the reads are listed so you can see what it is able to look at.

## Response `200`

Successful Response

- ToolListResponseSchema: Every operation the AI Assistant can call.
  - `tools` ToolReadSchema[], required
    - `action_label` string, required: The action it takes, verb first: "Add a column". What the settings page names a permission by, and the words its approval card is titled with.
    - `area` string, required: The part of the product it belongs to, for grouping.
    - `conditional_write` boolean: Whether it is not declared a write, yet some calls to it change the workspace: a buying-signal search adds rows only once it names a table. Such a call asks first unless this operation itself is allowed: a permission of its own, which no `family:<area>` grant covers. The settings page lists it with a switch of its own.
    - `description` string, required: What it does, in full.
    - `destructive` boolean: Whether calling it removes something. Always asks a person, whatever is granted, and its card is drawn and read differently.
    - `grantable` boolean, required: Whether a workspace may allow this to run without asking. False for the ones that may never be granted, which the settings page must not offer as a switch.
    - `label` string, required: What it did, past tense: "Searched for people".
    - `name` string, required: The tool's name, and the grant's key.
    - `parent` string, nullable: For an extended tool, the built-in through which the assistant finds it, usually its family's listing tool. None for a built-in.
    - `running_label` string, required: What it is doing, while it does it: "Searching for people".
    - `tier` 'builtin' | 'extended'
    - `write` boolean, required: Whether calling it changes the workspace.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
