---
title: "Submit a rating and review for a review offer"
method: POST
path: "/v3/offers/review"
tags: ["Offers"]
---

# Submit a rating and review for a review offer

`POST /v3/offers/review`

Stores the rating and the written review, dismisses the offer for this user, and answers with where they are being sent. Five-star reviews whose words agree with the rating come back with a listing to post on; everything else is kept internally for the team to work through. A five-star review needs 100 characters; anything below it needs 100 words.

## Request body

- object
  - `offerId` string, required
  - `rating` integer, required
  - `message` string, required

## Response `200`

The submission was stored.

- object — The submission was stored.
  - `success` boolean, required
  - `submissionId` string, required
  - `route` 'public' | 'internal', required
  - `platform` 'g2' | 'capterra' | 'trustpilot' | 'appsumo', nullable, required
  - `platformUrl` string, nullable, required

## Other responses

- `400` — The submission was rejected.
- `401` — Not signed in.
- `500` — Server error while saving.

## Changes

- **2026-08-24** `21b010d779d2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/offers/review/post.md)

---

[API](https://skmtc.dev/snowseo/apis/snowseo-api.md) · [All operations](https://skmtc.dev/snowseo/apis/snowseo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/snowseo/snowseo-api/revisions/ad15b6b0845b/schema)
