is_approved flag that is hidden from public endpoints.
Reviews are auto-approved the moment a customer submits them. Every new review arrives in an approved state and is immediately visible on the storefront. Use this API to retroactively moderate content — approving reviews reinstates their visibility while rejecting them removes them from the public product page.
Before making any write request, call
GET /auth/csrf-token to obtain a CSRF token and pass it in the x-csrf-token header alongside your session cookie.Authentication
All admin review endpoints require:- A valid
sessioncookie (obtained viaPOST /auth/login) - ADMIN or SUPER_ADMIN role
x-csrf-tokenheader on all PATCH and DELETE requests
List Reviews
Retrieve a paginated list of all reviews, including unapproved entries that are hidden from customers. Filter by approval state, rating, and search term. Sort by creation date or rating.GET /admin/reviews
integer
default:"1"
Page number (1-based).
integer
default:"20"
Items per page. Minimum 1, maximum 100.
string
Free-text search across review content (trimmed, max 100 characters).
string
Filter by approval state. Use
"true" for approved, "false" for unapproved, or "all" to return both. Omitting this parameter defaults to returning all states.integer
Filter by exact rating value. Integer from 1 to 5.
string
default:"false"
Set to
"true" to include soft-deleted reviews.string
default:"-created_at"
Sort field. Prefix with
- for descending. Options: created_at, -created_at, rating, -rating.200 OK
Get Review Detail
Fetch a single review in any state, including unapproved or previously deleted entries with all attached images. Use this to inspect the full content of a review before making a moderation decision.GET /admin/reviews/{review_public_id}
string
required
The review’s public ID (prefix:
rev_).200 OK
Moderate a Review
Approve or reject a review by updating itsis_approved flag. You can also correct the rating, title, or comment as part of the same request — useful for minor editorial fixes before approving borderline content. At least one field must be supplied.
PATCH /admin/reviews/{review_public_id}
string
required
The review’s public ID (prefix:
rev_).boolean
Set to
true to make the review visible on the storefront, or false to hide it.integer
Corrected rating value. Integer from 1 to 5.
string | null
Updated title (max 255 characters). Pass
null to clear the title.string | null
Updated comment (max 5000 characters). Pass
null to clear the comment.200 OK
Delete a Review
Permanently hard-delete a review and all its attached images. Unlike the customer-facing delete endpoint — which performs a soft delete — this operation is irreversible. Use it for reviews that violate content policies and should not be recoverable.DELETE /admin/reviews/{review_public_id}
string
required
The review’s public ID (prefix:
rev_).204 No Content on success.
Endpoint Summary
GET /admin/reviews
List all reviews including unapproved. Filter by
is_approved=false for the moderation queue.GET /admin/reviews/:id
Fetch a single review in any state with all images attached.
PATCH /admin/reviews/:id
Approve or reject a review, optionally editing its content.
DELETE /admin/reviews/:id
Permanently hard-delete a review and its images.