---
title: "Get a permission request"
method: GET
path: "/v1/conversations/{id}/permissions/{permission_id}"
tags: ["Conversations"]
---

# Get a permission request

`GET /v1/conversations/{id}/permissions/{permission_id}`

## Request

- Base URL: `https://api.shardflux.dev`
- URL: `https://api.shardflux.dev/v1/conversations/{id}/permissions/{permission_id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required
- `permission_id` string, uuid, required

## Response `200`

Default Response

- ConversationPermission
  - `id` string, uuid, required: UUIDv7, lowercase canonical form.
  - `conversation_id` string, required
  - `state` 'pending' | 'answered' | 'canceled', required
  - `tool` string, nullable, required: The tool the agent wants to use, as its harness names it (Bash, Edit, apply_patch, an MCP tool). Null when the harness does not say.
  - `kind` string, nullable, required: What the tool does when the harness says: execute, edit, read, delete, move, search, fetch or other.
  - `title` string, required: What the agent wants to do, on one line (“Run npm test”).
  - `detail` string, required: The command, path, URL or input the request is about; empty when the title says it all.
  - `options` string[], required: The decisions this request takes. Empty: answer it where the agent runs (its terminal or app).
  - `decision` 'allow_once' | 'allow_always' | 'deny', nullable, required
  - `answered_via` 'api' | 'agent', nullable, required
  - `created_at` string, date-time, required: RFC 3339 UTC timestamp with Z.
  - `answered_at` string, date-time, nullable, required: RFC 3339 UTC timestamp with Z.
  - `questions` object[], nullable: Set when the request is the agent’s question (kind `question`): answer it with `answers`.
    - `question` string, required: The question, as the agent asks it; the key of its answer.
    - `header` string, nullable, required: A short label for the question, when the agent gives one.
    - `options` object[], required: The answers the agent offers. Another answer in your own words goes as written.
      - `label` string, required
      - `description` string, nullable, required
    - `multi_select` boolean, required: Whether more than one option can be picked.
  - `answers` object, nullable: The answer to each question, keyed by its `question` text: an option label or your own words; a list of labels for a multi_select question.

## Other responses

- `4XX`: Default Response
- `5XX`: Default Response

---

[API](https://skmtc.dev/shardflux/apis/shardflux-api.md) · [All operations](https://skmtc.dev/shardflux/apis/shardflux-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shardflux/apis/shardflux-api/revisions/ea685f7b39c4?raw)
