---
title: "Approve Browser Action"
method: POST
path: "/api/chats/{chat_id}/browser-action-proposals/{proposal_id}/approve"
tags: ["browser-supervision"]
---

# Approve Browser Action

`POST /api/chats/{chat_id}/browser-action-proposals/{proposal_id}/approve`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/chats/{chat_id}/browser-action-proposals/{proposal_id}/approve`
- Auth: none declared

## Path parameters

- `chat_id` string, uuid, required
- `proposal_id` string, uuid, required

## Headers

- `x-impersonate-identity-id` string, nullable

## Request body

- BrowserApprovalRequest
  - `scope_kind` 'once' | 'scoped'
  - `scope_expires_at` string, date-time, nullable

## Response `200`

Successful Response

- BrowserApprovalResponse
  - `proposal` BrowserActionProposalView, required
    - `id` string, uuid, required
    - `session_id` string, uuid, required
    - `agent_identity_id` string, uuid, required
    - `chat_id` string, uuid, nullable
    - `connection_id` string, uuid, nullable
    - `origin` string, required
    - `tool` string, required
    - `action_class` 'authentication' | 'communication' | 'routine_mutation' | 'reservation' | 'purchase' | 'payment' | 'destructive' | 'security' | 'consent' | 'publication' | 'unknown', required
    - `approval_mode` 'human_takeover' | 'scoped_or_one_shot' | 'one_shot', required
    - `safe_summary` BrowserActionSummary, required
      - `description` string, required
      - `origin` string, required
    - `status` 'requested' | 'approved' | 'denied' | 'executing' | 'executed' | 'expired' | 'canceled' | 'failed', required
    - `expires_at` string, date-time, required
    - `safe_outcome` BrowserActionOutcome
      - `executed` boolean, required
      - `proposal_id` string, uuid, required
      - `tool` string, nullable
      - `outcome_unknown` boolean
    - `failure_code` string, nullable
  - `outcome` BrowserActionOutcome, required
    - `executed` boolean, required
    - `proposal_id` string, uuid, required
    - `tool` string, nullable
    - `outcome_unknown` boolean
  - `replayed` boolean, required
  - `resume` BrowserResumeView, required
    - `run_id` string, uuid, required
    - `status` string, required

## Other responses

- `422`: Validation Error

---

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