> For the complete Lynkow documentation index in agent-friendly format, see [llms.txt](/llms.txt).

# SDK Types: Reviews

**Publié le** : 2026-08-20
**Catégorie** : Types

# SDK Types: Reviews

> **Related services:** **ReviewsService** — `lynkow.reviews.getBySlug()`, `lynkow.reviews.list()`, `lynkow.reviews.settings()`, `lynkow.reviews.submit()`

## `Review`

*Interface*

A customer review as returned by the public API.

Only approved reviews are returned by public endpoints — pending and rejected reviews
are never visible. Reviews are ordered by creation date (newest first) by default.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `authorEmail` | `string` | Yes | Email address of the review author.<br>May be partially masked for privacy (e.g. `'j***e@example.com'`) in public responses.<br>`undefined` if the email was not collected (depends on `ReviewSettings.fields.email`). |
| `authorName` | `string` | No | Display name of the review author (e.g. `'Jane D.'`).<br>Min 2 characters, max 100 characters.<br>Always present — anonymous reviews still require a display name. |
| `content` | `string` | No | The full review text body.<br>Min 10 characters, max 5000 characters. Plain text (no HTML).<br>Always present for approved reviews. |
| `createdAt` | `string` | No | ISO 8601 datetime when the review was submitted (e.g. `'2024-03-15T10:30:00.000+00:00'`).<br>Set automatically on creation and never changes. |
| `id` | `number` | No | Unique numeric review ID. Auto-incremented.<br>Use this for API calls like `GET /storefront/reviews/:id`. |
| `locale` | `string` | No | BCP 47 locale code of this review (e.g. `'en'`, `'fr'`).<br>Determined by the locale parameter when the review was submitted,<br>or the site's default locale if none was specified. |
| `rating` | `number` | No | Numeric rating given by the reviewer.<br>Integer between 1 and 5 (inclusive), where 1 is the lowest and 5 is the highest.<br>The allowed range is configured in `ReviewSettings.minRating` / `ReviewSettings.maxRating`<br>but the API always validates within 1-5. |
| `response` | `ReviewResponse` | Yes | The site owner's response to this review, if one has been posted.<br>`undefined` if no response has been written yet.<br>Display this below the review to show the business's engagement. |
| `slug` | `string \| null` | No | URL-friendly slug derived from the review title or author name.<br>`null` if no slug could be generated (e.g. if the title is empty and slugification failed).<br>Can be used for SEO-friendly review URLs on your frontend. |
| `status` | `"approved"` | No | Review moderation status. Always `'approved'` via the public API.<br>Pending and rejected reviews are never returned by public endpoints. |
| `title` | `string \| null` | No | Optional review title/headline (e.g. `'Great product!'`).<br>`null` if no title was provided. Max 200 characters.<br>Whether the title field is shown depends on `ReviewSettings.fields.title.enabled`. |


---

## `ReviewResponse`

*Interface*

An admin/site-owner response to a customer review.
Displayed publicly below the review when present.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `content` | `string` | No | The response text as plain text.<br>Written by a site admin or owner in the admin dashboard.<br>Max 5000 characters. |
| `respondedAt` | `string` | No | ISO 8601 datetime when the response was posted (e.g. `'2024-04-20T09:15:00.000+00:00'`).<br>Set automatically when the admin submits the response. |


---

## `ReviewSettings`

*Interface*

Public review settings for a site.
Returned by `GET /storefront/reviews/settings`.

Use these settings to:

- Check if reviews are enabled before rendering a review form
- Configure the rating input range (stars, slider, etc.)
- Show/hide optional fields (title, email) in the submission form
- Display moderation notices to users

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `allowAnonymous` | `boolean` | No | Whether anonymous reviews (without email) are accepted.<br>When `false`, the email field is mandatory regardless of `fields.email.required`.<br>When `true`, users can submit reviews without providing an email. |
| `enabled` | `boolean` | No | Whether the review system is enabled for this site.<br>When `false`, don't render review forms or fetch reviews — the endpoints will return empty results. |
| `fields` | `{ email: { enabled: boolean; required: boolean }; title: { enabled: boolean; required: boolean } }` | No | Field visibility and requirement configuration.<br>Use these to dynamically show/hide fields and mark them as required in your review form. |
| `maxRating` | `number` | No | Maximum selectable rating value (inclusive). Integer between 1 and 5.<br>Use this to set the upper bound of your rating input (e.g. if set to 5, show stars 1-5).<br>The API rejects submissions with a rating above this value. |
| `minRating` | `number` | No | Minimum selectable rating value (inclusive). Integer between 1 and 5.<br>Use this to set the lower bound of your rating input (e.g. if set to 1, show stars 1-5).<br>The API rejects submissions with a rating below this value. |
| `requireApproval` | `boolean` | No | Whether new reviews require admin approval before appearing publicly.<br>When `true`, display a notice like "Your review will be visible after moderation"<br>after submission. When `false`, approved reviews appear immediately. |


---

## `ReviewSubmitData`

*Interface*

Data payload for submitting a new review via `POST /storefront/reviews`.

Required fields: `authorName`, `rating`, `content`.
Optional fields depend on `ReviewSettings.fields` configuration.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `authorEmail` | `string` | Yes | Email address of the reviewer.<br>Must be a valid email format. Not displayed publicly (or displayed masked).<br>Required when `ReviewSettings.allowAnonymous` is `false` or<br>`ReviewSettings.fields.email.required` is `true`.<br>Optional otherwise. |
| `authorName` | `string` | No | Display name of the reviewer.<br>Min 2 characters, max 100 characters. Required.<br>Displayed publicly alongside the review. |
| `content` | `string` | No | The full review text body. Min 10 characters, max 5000 characters.<br>Plain text only (no HTML). Required. |
| `rating` | `number` | No | Numeric rating. Integer between 1 and 5 (inclusive).<br>Must be within the range defined by `ReviewSettings.minRating` and `ReviewSettings.maxRating`.<br>Required. |
| `title` | `string` | Yes | Optional review title/headline. Max 200 characters.<br>Only include if `ReviewSettings.fields.title.enabled` is `true`.<br>Required when `ReviewSettings.fields.title.required` is `true`. |