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

# Operator: reject an agent’s proposal

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

## Request

- Base URL: `https://tre-app.com`
- URL: `https://tre-app.com/api/ops/proposals/{proposalId}/reject`
- 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. Writes the proposal alone: nothing it names is done. The body may give a note, up to 500 characters. 404 for a proposal that does not exist; 409 when it is already decided or expired.

## Request body

- OpsProposalReject
  - `note` 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)
