# Create a review

**Publié le** : 2026-05-08
**Catégorie** : Forms & Reviews

## `POST /reviews`

**Create a review**

Creates a review as an admin (bypasses moderation). Set `status` to
`"approved"` to make it immediately public.

Required permissions: `reviews.create`

### Request Body

Content-Type: `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `authorName` | string | Yes | Required. 2-100 characters |
| `authorEmail` | string | No | Author email address |
| `authorPhotoUrl` | string | No | Author photo URL |
| `authorCompany` | string | No | Author company name. Max 100 characters |
| `authorPosition` | string | No | Author job title. Max 100 characters |
| `authorCity` | string | No | Author city. Max 100 characters |
| `rating` | number | Yes | Required. Between 1 and 5 |
| `content` | string | Yes | Required. Text content. 10-5000 characters |
| `title` | string | No | Display title. Max 200 characters |
| `productName` | string | No | Associated product name. Max 200 characters |
| `productSku` | string | No | Associated product SKU. Max 100 characters |
| `customFields` | object | No | Custom field values |
| `status` | "pending" \| "approved" \| "rejected" | No | One of: pending, approved, rejected |
| `isFeatured` | boolean | No | Boolean |
| `reviewDate` | string | No | Original review date (ISO 8601) |
| `displayOrder` | number | No | Number |
| `locale` | string | No | BCP 47 locale code (e.g. "en", "fr") |


### Responses

| Status | Description |
| --- | --- |
| `201` | Successful response |
| `401` | Unauthorized — invalid or missing API token |
| `403` | Forbidden — insufficient permissions |
| `422` | Validation error |


> **Notes:** - For user-submitted reviews via the frontend, use the public API (`POST /public/{siteId}/reviews/submit`).

### Examples

```bash
curl -X POST https://api.lynkow.com/v1/reviews \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Great product!",
    "content": "Easy to integrate and the docs are excellent.",
    "rating": 5,
    "authorName": "Alice Martin",
    "authorEmail": "alice@example.com",
    "status": "approved"
  }'
```

### Response Example

```json
{
  "data": {
    "id": 103,
    "title": "Great product!",
    "content": "Easy to integrate and the docs are excellent.",
    "rating": 5,
    "status": "approved",
    "authorName": "Alice Martin",
    "authorEmail": "alice@example.com",
    "isFeatured": false,
    "locale": "en",
    "createdAt": "2025-04-06T11:00:00.000Z"
  }
}
```

---