---
title: "List guest reviews"
method: GET
path: "/api/v1/reviews"
tags: ["reviews"]
---

# List guest reviews

`GET /api/v1/reviews`

## Request

- Base URL: `https://app.qrtap.kg`
- URL: `https://app.qrtap.kg/api/v1/reviews`
- Auth: HTTP bearer

Guest reviews left on your public pages, newest first (max 200). Nothing a guest submits is visible until it is published, so `pending` — the default — is the moderation queue. Only the name and text the guest typed are stored: no IP, no user-agent, no identifier of any kind.

## Query parameters

- `status` 'pending' | 'published' | 'hidden'

## Response `200`

Reviews in the requested bucket.

- object
  - `data` Review[], required
    - `id` string, uuid, required
    - `author_name` string, required: What the guest typed. No IP, user-agent or any other identifier is ever stored.
    - `body` string, required
    - `status` 'pending' | 'published' | 'hidden', required
    - `created_at` string, date-time, required
    - `moderated_at` string, date-time, nullable

## Other responses

- `400`: `status` is not one of pending | published | hidden.
- `401`: Missing, invalid or revoked API key.
- `429`: Limit exceeded — the request had no effect. `error` is `rate_limited` with `scope: "minute"` (a burst brake: wait `retry_after` seconds and continue) or `quota_exceeded` with `scope: "day"` (the workspace's daily quota, counted in UTC; it returns at `reset_at`, the next UTC midnight, and only a higher plan raises it before then).

---

[API](https://skmtc.dev/qrtap/apis/qrtap-rest-api.md) · [All operations](https://skmtc.dev/qrtap/apis/qrtap-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qrtap/apis/qrtap-rest-api/revisions/8af17ac525bd?raw)
