info: name: Get Popular Books type: http seq: 1 http: method: GET url: '{{base_url}}/api/analytics/popular-books?limit=10' auth: inherit body: type: none runtime: scripts: - type: tests code: "test(\"status must be 200\", function() {\n expect(res.status).to.eql(200);" docs: |- Get popular books sorted by read count. **Endpoint**: GET /api/analytics/popular-books **Auth**: Required (Bearer token) ## Query Parameters | Parameter | Type | Required | Description | |-----------|------|-----------|-------------| | limit | int | No | Maximum number of books to return (default: 10) | ## Response Fields | Field | Type | Description | |-------|------|-------------| | books | array | List of popular books | | books[].media_item_id | string | Book ID | | books[].title | string | Book title | | books[].author | string | Book author | | books[].read_count | int | Number of times read | | books[].avg_completion | float | Average completion rate (0-1) | | books[].cover_url | string | Cover image URL | ## Example Request ``` GET /api/analytics/popular-books?limit=10 ``` ## Example Response ```json { "books": [ { "media_item_id": "323e4567-e89b-12d3-a456-426614174002", "title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "read_count": 5, "avg_completion": 0.85, "cover_url": "/api/books/323e4567-e89b-12d3-a456-426614174002/cover"