---
title: "Read private reply reviews"
method: GET
path: "/products/help-desk/reply-reviews"
tags: ["help-desk"]
---

# Read private reply reviews

`GET /products/help-desk/reply-reviews`

## Request

- Base URL: `https://api.sparkvault.com/v1`
- URL: `https://api.sparkvault.com/v1/products/help-desk/reply-reviews`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sparkvault/apis/sparkvault-api/docs/products/help-desk/reply-reviews/get.ts> (a function with typed inputs; its response is checked against the schema)

The signed-in manager reviews their queue; authors read their own submissions. Only org admins may read the all view. Cursors are bound to the desk, user and filters. These drafts are never customer content.

## Query parameters

- `view` 'manager' | 'mine' | 'all'
- `status` 'pending' | 'rejected' | 'approved' | 'discarded' | 'all'
- `ticket_id` string
- `cursor` string

## Response `200`

Private reviews.

- object
  - `data` HelpDeskReplyReviewsPage, required
    - `reviews` HelpDeskReplyReview[], required
      - `review_id` string, required: The hdev_ id of the initial submission.
      - `ticket_id` string, required
      - `ticket_number` integer, required
      - `operator_id` string, required: The rep whose name the approved reply is sent under.
      - `manager_id` string, required: The only operator allowed to approve or return this review.
      - `status` 'pending' | 'rejected' | 'approved' | 'discarded', required
      - `created_at` integer, required
      - `submitted_at` integer, required
      - `updated_at` integer, required
      - `status_after` 'waiting_on_customer' | 'open', required
      - `version` integer, required
      - `body` object, nullable, required: The safe-markup AST; null if the sealed body is unavailable.
      - `body_markup` string, nullable, required: The safe-markup source for rewriting the reply.
      - `attachments` object[], required
        - `attachment_id` string
        - `name` string
        - `size` integer
        - `content_type` string
        - `disposition` string
        - `scan` string
      - `feedback` object, nullable, required
        - `comment` string
        - `reviewer_id` string
        - `created_at` integer
      - `discard` object, nullable, required: Why an administrator ended this review without sending it. Kept only in private review history.
        - `reason` string
        - `operator_id` string
        - `created_at` integer
    - `next_cursor` string, nullable, required: Opaque continuation token. Null when the listing is exhausted.
    - `count` integer, required
    - `has_more` boolean, required
  - `meta` ResponseMeta: Envelope metadata present on every successful response.
    - `api_version` string
    - `request_id` string
    - `response_ms` integer
    - `timestamp` integer: Unix seconds.
    - `pools` object: Storage and bandwidth capacity snapshot for the account.
    - `billing` object
      - `past_due` boolean
    - `quota` object: This minute of the account request budget. Present on authenticated success responses that passed the throttle; absent otherwise.
      - `limit` integer
      - `used` integer
      - `remaining` integer
      - `resets_at` integer: Unix seconds.

## Other responses

- `400`: VALIDATION_ERROR: a filter or cursor is invalid.
- `401`: AUTHENTICATION_ERROR — missing or invalid credentials.
- `403`: FORBIDDEN — the credential is an API key or an impersonated session: the help desk is worked from a member's own session. HELP_DESK_SUBSCRIPTION_REQUIRED — a change that needs the help desk, on an organization that does not hold it.

## Changes

- **2026-10-28** `a9a10e328ba5`: 12 info
  - the response property `error/details` became required for the status `400`
  - the response property `error/details` became required for the status `401`
  - the response property `error/details` became required for the status `403`
  - the response property `meta` became required for the status `400`
  - …8 more
- **2026-10-28** `56d7c265a77a`: 3 breaking
  - the response property `error/details` became nullable for the status `400`
  - the response property `error/details` became nullable for the status `401`
  - the response property `error/details` became nullable for the status `403`
- **2026-10-27** `ac44ec1f8cfa`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sparkvault/apis/sparkvault-api/changes/products/help-desk/reply-reviews/get.md)

---

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