docs: add ratings, devices, and analytics API endpoints

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
This commit is contained in:
2026-02-02 08:51:53 -05:00
parent 284486f0a0
commit efa046d030
7 changed files with 348 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
# 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 -->
+48
View File
@@ -0,0 +1,48 @@
# Get Rating
Retrieve the current user's rating for a media item.
**Endpoint**: `GET /api/media-items/{media_id}/rating`
**Auth**: Required
## Path Parameters
| Parameter | Type | Required | Description |
|-----------|------|-----------|-------------|
| media_id | string | Yes | Media item UUID |
## Request Headers
| Header | Type | Required | Description |
|--------|------|-----------|-------------|
| Authorization | string | Yes | Bearer token |
### Example Request
```http
GET /api/media-items/uuid/rating
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```
## Response (200 OK)
```json
{
"rating": 8,
"user_id": "uuid",
"media_item_id": "uuid"
}
```
**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 |
|------|-------------|
| 401 | Invalid or expired token |
| 404 | Media item not found or no rating set |
## Try It Out
<!-- API Explorer will be inserted here in Phase 3 -->