Related services: ReviewsServicelynkow.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***[email protected]') 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 /public/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 /public/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 /public/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.