---
title: "Finish Agent Counsel Review"
method: POST
path: "/agent-loop/internal/agent-counsel/finish"
tags: ["agent-counsel", "agent-counsel-internal"]
---

# Finish Agent Counsel Review

`POST /agent-loop/internal/agent-counsel/finish`

## Headers

- `authorization` string, nullable

## Request body

- AgentFinishBody — Empty body: the agent does not choose a verdict; finish records approved.

## Response `200`

Successful Response

- AgentDecisionResponse — The finish endpoint returns the unenriched review-request shape: the agent caller has no use for workspace_name / display names, and resolving them would force a workspace fetch + profile lookup this path skips. The closed request carries an approved decision; the UI hides the verdict for agent reviewers.
  - `id` string, required
  - `workspace_id` string, required
  - `snapshot_id` string, required
  - `requester_id` string, required
  - `reviewer_id` string, nullable, required
  - `pending_invite_id` string, nullable, required
  - `message` string, nullable, required
  - `latest_agent_counsel_turn_id` string, nullable
  - `status` 'open' | 'closed' | 'cancelled', required
  - `state` 'pending' | 'in_progress' | 'approved' | 'rejected', nullable, required
  - `engaged_at` string, date-time, nullable, required
  - `decision` 'approved' | 'rejected', nullable, required
  - `decided_at` string, date-time, nullable, required
  - `prior_decisions` PriorReviewDecision[]
    - `decision` 'approved' | 'rejected', required
    - `decided_at` string, date-time, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/tryscott/apis/one-shot-api.md) · [All operations](https://skmtc.dev/tryscott/apis/one-shot-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tryscott/one-shot-api/revisions/28bdface01df/schema)
