`GET /api/marketplace/items/{id}/review` — the latest review for an item, or `null` if it has never been reviewed. Public so the catalog/detail UI can surface the verdict badge; returns the redacted `PublicItemReview` (no internal moderation fields).
GET
/api/marketplace/items/{id}/review
const url = 'https://example.com/api/marketplace/items/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/review';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/marketplace/items/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/reviewParameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string format: uuid
Responses
Section titled “Responses”Media typeapplication/json
One of:
null
Public projection of a review for the UNAUTHENTICATED catalog/detail surface.
The verdict + timestamps only — it deliberately OMITS reason (the admin’s
internal approve/reject note), reviewer_id, and static_analysis_report,
which are internal moderation details that must never leak to anonymous
callers. The FE review badge consumes only verdict.
object
created_at
required
string format: date-time
id
required
string format: uuid
item_id
required
string format: uuid
item_version_id
required
string format: uuid
reviewed_at
string | null format: date-time
verdict
required
string
Examplegenerated
{ "created_at": "2026-04-15T12:00:00Z", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "item_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "item_version_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "reviewed_at": "2026-04-15T12:00:00Z", "verdict": "example"}