Amba

Reviews and Ratings

Collect user reviews and ratings with moderation support.

Let users rate and review content, items, or experiences within your app. A review is published when it's submitted; hide one with amba_reviews_patch and is_approved: false, and approve it again with is_approved: true.

Client API reference

MethodPathDescription
POST/v1/client/reviewsSubmit a review
GET/v1/client/reviews?target_type=&target_id=List published reviews for a target
GET/v1/client/reviews/item/:itemType/:itemIdReviews for a target with avg_rating and review_count
GET/v1/client/reviews/mineThe current user's reviews
PATCH/v1/client/reviews/:reviewIdEdit the user's review (rating, title, body)
DELETE/v1/client/reviews/:reviewIdDelete the user's review

Submit a review

POST /v1/client/reviews
{
  "item_type": "content_item",
  "item_id": "<content item id>",
  "rating": 5,
  "title": "Great tip",
  "body": "Really helpful tip, changed my morning routine!"
}

item_type is content_item or custom (the default); item_id names the thing being reviewed. rating is a whole number from 1 to 5. A user reviews each target once; a second review answers 409 ALREADY_REVIEWED. The list routes take the same pair as target_type and target_id, and the submit route reads either spelling.

SDK

const review = await Amba.reviews.create({
  target_type: 'custom',
  target_id: 'recipe-42',
  rating: 5,
  title: 'Great recipe',
});
const reviews = await Amba.reviews.list('custom', 'recipe-42');

Each review comes back with author_id, target_type, target_id, rating, title, body, created_at and updated_at.

MCP tools

ToolDescription
amba_reviews_get_statsGet review statistics (total, average rating, pending approvals, distribution)
amba_reviews_patchApprove or hide a review (is_approved)

On this page