---
title: "Save a Google review assignment and complete intended Hive workflow state. First read_review; pass the existing labels, channel and status to preserve them. All workflow fields are explicit so an assignment cannot silently clear labels. Nothing is published to Google."
method: POST
path: "/api/v1/tools/assign_review"
---

# Save a Google review assignment and complete intended Hive workflow state. First read_review; pass the existing labels, channel and status to preserve them. All workflow fields are explicit so an assignment cannot silently clear labels. Nothing is published to Google.

`POST /api/v1/tools/assign_review`

## Request

- Base URL: `https://hivepublish.com`
- URL: `https://hivepublish.com/api/v1/tools/assign_review`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `reviewName` string, required: The Google review name.
  - `assigneeId` string, nullable, required: The current Hive member id, or null to unassign.
  - `status` 'open' | 'in_progress' | 'resolved', required: The intended workflow status.
  - `channelId` string, nullable, required: The existing accessible Hive channel, or null to clear it.
  - `labelIds` string[], required: The full intended label list; copy existing labels from read_review to preserve them.

## Response `200`

Tool result

- ToolResult
  - `data` unknown, required
  - `meta` object, required
    - `tool` string
    - `workspaceId` string, uuid

## Other responses

- `400`: Invalid input
- `401`: Missing or invalid credential
- `403`: Missing workspace scope, role permission, or plan entitlement
- `409`: Idempotency conflict, replay, or request still in progress
- `429`: Rate limit exceeded

---

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