---
title: "Operator: approve an agent’s proposal"
method: POST
path: "/api/ops/proposals/{proposalId}/approve"
tags: ["Operator"]
---

# Operator: approve an agent’s proposal

`POST /api/ops/proposals/{proposalId}/approve`

## Request

- Base URL: `https://tre-app.com`
- URL: `https://tre-app.com/api/ops/proposals/{proposalId}/approve`
- Auth: one of:
  - API key in cookie `__Secure-authjs.session-token`
  - API key in cookie `authjs.session-token`

Operator console only: requires the web session of an address in the operator allowlist of this installation, sent from the application itself. Every other signed-in caller and every valid Bearer token receives 404 NOT_FOUND, whether or not this installation has an operator configured; a caller with no valid credential receives 401, as on every route. Recorded in the operator log. Runs the act the proposal names — the same service the console runs by hand — as this operator; the operator log row says it came from a proposal and names it. 404 for a proposal that does not exist; 409 when it is already decided or expired, its target no longer exists, or its act has nothing left to do on the target as it is now (`Nothing left to do: …`; the proposal stays open); 400 when the target changed after the proposal and `acknowledgeStale` is not true, or when the proposal suspends a workspace and `confirmSlug` does not give the workspace’s slug. It may give a reference: a ticket or card key, never an address.

## Request body

- OpsProposalApprove
  - `confirmSlug` string
  - `acknowledgeStale` boolean
  - `reference` string

## Response `204`

No content

## Other responses

- `400`: Invalid request
- `401`: Unauthenticated
- `403`: The request did not come from the application’s own origin
- `404`: Not the operator, or no such object
- `409`: The proposal is not open
- `429`: Rate limited
- `500`: Internal server error
- `503`: Temporarily unavailable

---

[API](https://skmtc.dev/tre-app/apis/tre-rest-api.md) · [All operations](https://skmtc.dev/tre-app/apis/tre-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tre-app/apis/tre-rest-api/revisions/26a7187a05fc?raw)
