Phase 2 part 5: Split device management and analytics endpoints - Ratings: get_ratings, create_rating (1-10 scale with half-stars) - Devices: register_device, list_devices, get_devices, revoke_device - Analytics: get_analytics (reading statistics) - Include device registration flow details
53 lines
1.0 KiB
Markdown
53 lines
1.0 KiB
Markdown
# 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 |
|
|
|
|
## Try It Out
|
|
|
|
<!-- API Explorer will be inserted here in Phase 3 -->
|