# Create Rating

Set a rating for a media item. Creates a new rating or updates an existing one.

**Endpoint**: `POST /api/media-items/{media_id}/rating`
**Auth**: Required
**Content-Type**: `application/json`

## Path Parameters

| Parameter | Type   | Required | Description     |
| --------- | ------ | -------- | --------------- |
| media_id  | string | Yes      | Media item UUID |

## Request Body

| Field  | Type    | Required | Description      |
| ------ | ------- | -------- | ---------------- |
| rating | integer | Yes      | Rating from 1-10 |

### Example Request

```json
{
  "rating": 8
}
```

## Response (201 Created)

```json
{
  "rating": 8,
  "user_id": "uuid",
  "media_item_id": "uuid",
  "created_at": "2026-01-31T10:00:00Z"
}
```

**Rating Scale**: 1-10 (odd numbers = half-stars: 1=0.5★, 2=1★, 3=1.5★, ..., 9=4.5★, 10=5★)

## Error Responses

| Code | Description                   |
| ---- | ----------------------------- |
| 400  | Invalid rating (must be 1-10) |
| 401  | Invalid or expired token      |
| 404  | Media item not found          |
