meta { name: Create Media Rating type: http seq: 1 } post { url: {{base_url}}/api/media-items/{{media_item_id}}/rating body: json auth: inherit } headers { Content-Type: application/json } body:json { { "rating": 8 } } vars:pre-request { mediaItemId: "9932c704-i29b-81d4-e716-446655440004" } settings { encodeUrl: true timeout: 0 } docs { ## Create Media Rating Creates or updates the authenticated user's rating for a specific media item. **Method:** POST **Endpoint:** /api/media-items/{id}/rating **Authentication:** Required (Bearer token) **Path Parameters:** - `id` (string, required): Media item UUID **Request Body:** - `rating` (number, required): Rating value (1-10, where odd numbers = half-stars) - 1,3,5,7,9 = 0.5,1.5,2.5,3.5,4.5 stars (half-star precision) - 2,4,6,8,10 = 1,2,3,4,5 stars (full stars) **Example Request:** - `"rating": 7` = 3.5 stars (frontend display) - `"rating": 8` = 4.0 stars (frontend display) **Response:** Rating object - `id` (string): Rating UUID - `media_item_id` (string): Media item UUID - `user_id` (string): User UUID - `rating` (number): Rating value (1-10) - `created_at` (string): Creation timestamp - `updated_at` (string): Last update timestamp **Status Codes:** - 201: Rating created successfully - 200: Rating updated successfully (if rating already existed) - 400: Invalid rating value (must be 1-10) - 401: Unauthorized - 403: Forbidden (rating access denied) - 404: Media item not found - 500: Internal server error }