---
title: "Change what a conversation may apply without asking"
method: PATCH
path: "/assistant/conversations/{conversation_id}/grants/"
tags: ["workspace-actions"]
---

# Change what a conversation may apply without asking

`PATCH /assistant/conversations/{conversation_id}/grants/`

## 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/conversations/{conversation_id}/grants/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Change the conversation's grant list. Take one operation back by sending `granted_tools` without it, or one verb by sending `granted_verbs` without it; a field left out keeps its half as it was. Send `granted_verbs` as null to follow the workspace defaults again, operations included. An empty list allows nothing and still stops following the defaults. A verb that always asks (pushing to a destination) cannot be granted and is refused.

## Path parameters

- `conversation_id` string, uuid, required

## Request body

- ConversationGrantsUpdateSchema: Change a conversation's grant list, or hand it back to the workspace defaults. The verbs and the operations are two halves of one list, and a field left out keeps its half exactly as it was.
  - `granted_tools` union: The write operations the AI Assistant may run without asking in this conversation. Send the current list minus one to take it back; an empty list allows none. A verb's name is ignored here.
    - string[]
    - unknown
  - `granted_verbs` union: The verbs this conversation may apply without asking. Send the current list minus one verb to take that verb back. Send null to follow the workspace defaults again, operations included; an empty list allows nothing. A send is refused.
    - WorkspaceVerb[]
    - unknown

## Response `200`

Successful Response

- ConversationGrantsReadSchema: What one conversation may apply without asking: the list, and where it comes from. Read for the shield in the chat header. ``follows_defaults`` tells the header whether to show the list as the workspace's (change it in Settings) or as this thread's own (take one back here, or return to the defaults). ``granted_tools`` is what the shield lists: the AI Assistant's cards are decided by tool, and the verbs decide only an agent's.
  - `follows_defaults` boolean, required: Whether the list is the workspace defaults, read live. False once the conversation has a list of its own, which a change in Settings no longer reaches.
  - `granted_tools` string[], required: The write operations the AI Assistant runs without asking in this conversation, in effect now: operation names as `GET /assistant/tools/` lists them, and `family:<area>` for the rest of one part of the product. Approving a card for this conversation adds its operation here. Only what still allows something is listed, by the name its operation has today.
  - `granted_verbs` WorkspaceVerb[], required: The verbs this conversation applies without asking, in effect now.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Conversation not found.
- `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)
