---
title: "PUT /v2/reviews/{platform}/{merchant_id}"
method: PUT
path: "/v2/reviews/{platform}/{merchant_id}"
tags: ["reviews"]
---

# PUT /v2/reviews/{platform}/{merchant_id}

`PUT /v2/reviews/{platform}/{merchant_id}`

## Request

- Base URL: `https://api.loyaltylion.com`
- URL: `https://api.loyaltylion.com/v2/reviews/{platform}/{merchant_id}`
- Auth: HTTP bearer

## Path parameters

- `platform` string, required
- `merchant_id` string, required

## Request body

- ReviewsUpdateReviewRequestBody
  - `status` 'approved' | 'flagged' | 'pending' | 'rejected', required: The current status of the review, which determines how and when associated rules are triggered. One of: `pending` (the review is pending review), `flagged` (the review has been flagged for review), `approved` (the review has been approved/published), `rejected` (the review has been rejected)
  - `full_text` string, required: The full text of the review
  - `rating` number, required: The rating given in the review
  - `images_count` number, required: The number of images attached to the review
  - `videos_count` number, required: The number of videos attached to the review
  - `date` string, required: The date this review was updated in the review platform, as an ISO 8601 timestamp

## Response `200`

200

- ReviewsUpdateReviewResponseBody
  - `review` object, required
    - `id` number, required: Unique ID of the review in LoyaltyLion
    - `program_id` number, required: The LoyaltyLion program to which this review belongs
    - `customer` object, required: The customer who left the review
      - `id` number, required: ID of the customer in LoyaltyLion
      - `email` string, nullable, required: The email address of the customer
    - `site_id` number, nullable, required: The LoyaltyLion site this review belongs to, or `null` if not linked to a site
    - `platform` string, required: The review platform this review originates from
    - `merchant_id` string, required: The ID of the review in the review platform
    - `status` 'approved' | 'flagged' | 'pending' | 'rejected', required: The current status of the review, which determines how and when associated rules are triggered. One of: `pending` (the review is pending review), `flagged` (the review has been flagged for review), `approved` (the review has been approved/published), `rejected` (the review has been rejected)
    - `full_text` string, required: The full text of the review
    - `rating` number, required: The rating given in the review
    - `images_count` number, required: The number of images attached to the review
    - `videos_count` number, required: The number of videos attached to the review
    - `merchant_created_at` string, required: ISO 8601 timestamp representing the date this review was created in the review platform
    - `merchant_updated_at` string, required: ISO 8601 timestamp representing the date this review was last updated in the review platform
    - `moderation_url` string, nullable, required: The URL to moderate the review in the review platform

## Other responses

- `400`: Bad Request
- `401`: 401
- `403`: 403
- `404`: 404
- `422`: 422
- `429`: 429

## Changes

- **2026-11-03** `69cbd7bf7128`: 3 info
  - added the optional property `error/code` to the response with the `401` status
  - added the optional property `error/code` to the response with the `403` status
  - added `unsupported_platform` discriminator mapping keys to the `error` response property for the response status `422`

[Operation history](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api/changes/v2/reviews/:platform/:merchant_id/put.md)

---

[API](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api.md) - [All operations](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api/revisions/69cbd7bf7128?raw)
