---
title: "Post Review"
method: POST
path: "/api/account/reviews"
tags: ["reviews"]
---

# Post Review

`POST /api/account/reviews`

## Request

- Base URL: `https://api.getcheapgames.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getcheapgames.com/api/account/reviews`
- Auth: none declared

The review written, or the one the user has rewritten: stars and text
both replaced by what was sent (null text is stars alone). Checked in
the order the form can act on: what was typed (422), then whether this
account may post (403), then how often it has (429), then the product
(404). A refused post saves nothing.

## Response `200`

Successful Response

- ReviewChangeOut: What a write answers: the review as it now is (None once deleted), and the product's rating with the change counted. The public list is cached at the edge for a minute, so this is how the page shows the author their change at once rather than asking `/reviews` again.
  - `review` MyReviewOut, required: The signed-in user's own review of a product, as its author sees it.
    - `id` integer, required
    - `rating` number, required
    - `body` string, nullable, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `hidden` boolean, required
  - `summary` ReviewSummaryOut, required: The GCG rating of a product, over its visible reviews (`service.Summary`).
    - `average` number, nullable, required
    - `count` integer, required
    - `distribution` integer[], required

---

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