---
title: "List a post's client review links"
method: GET
path: "/posts/{id}/review-links"
tags: ["Posts"]
---

# List a post's client review links

`GET /posts/{id}/review-links`

## Request

- Base URL: `https://www.sociahive.com/api/v1`
- URL: `https://www.sociahive.com/api/v1/posts/{id}/review-links`
- Auth: one of:
  - API key in header `X-API-Key`
  - OAuth 2 (authorization code, authorization URL `/api/oauth/authorize`, token URL `/api/oauth/token`, scopes: `posts:read`)

The links, their state and the client's entries. URLs are not returned.

## Path parameters

- `id` string, required: MongoDB ObjectId (24-character hex string)

## Response `200`

Review links

- object
  - `data` ReviewSummary, required
    - `links` ReviewLink[], required
      - `id` string, required: MongoDB ObjectId (24-character hex string)
      - `post_id` string, required: MongoDB ObjectId (24-character hex string)
      - `url` string, uri: The signed public URL. Returned only by POST, once.
      - `reviewer_name` string
      - `state` string, required: Whether the link still opens. Known values: `active`, `expired`, `revoked`. Treat any other value as unknown, never as an error.
      - `expires_at` string, date-time, required
      - `revoked_at` string, date-time
      - `decisions` ReviewDecision[], required: At most 50 per link, oldest first.
        - `kind` string, required: What the client did. Known values: `approved`, `changes_requested`, `comment`. Treat any other value as unknown, never as an error.
        - `reviewer_name` string, required
        - `comment` string
        - `created_at` string, date-time, required
      - `created_at` string, date-time, required
    - `latest_decision` object: The newest approval or change request across the links.
      - `kind` string, required: What the client did. Known values: `approved`, `changes_requested`, `comment`. Treat any other value as unknown, never as an error.
      - `reviewer_name` string, required
      - `comment` string
      - `created_at` string, date-time, required
    - `approved_before_last_edit` boolean: The newest decision is an approval and the post changed after it. Absent when it cannot be told.

## Other responses

- `400`: Bad request — invalid parameters
- `401`: Authentication required — provide X-API-Key or Bearer token
- `403`: Insufficient scope for this operation
- `404`: Post not found
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/sociahive/apis/sociahive-api.md) · [All operations](https://skmtc.dev/sociahive/apis/sociahive-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sociahive/apis/sociahive-api/revisions/791b8548d288?raw)
