# List Media Items

Retrieve a paginated list of media items from a library.

**Endpoint**: `GET /api/media-items`
**Auth**: Required

## Query Parameters

| Parameter  | Type    | Required | Description                                     |
| ---------- | ------- | -------- | ----------------------------------------------- |
| library_id | string  | Yes      | Library UUID                                    |
| limit      | integer | No       | Number of items to return (max 100, default 20) |
| offset     | integer | No       | Number of items to skip                         |

## Request Headers

| Header        | Type   | Required | Description  |
| ------------- | ------ | -------- | ------------ |
| Authorization | string | Yes      | Bearer token |

### Example Request

```http
GET /api/media-items?library_id=uuid&limit=20&offset=0
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```

## Response (200 OK)

```json
{
  "media_items": [
    {
      "id": "uuid",
      "library_id": "uuid",
      "title": "Book Title",
      "author": "Author Name",
      "description": "Book description",
      "file_path": "/path/to/book.epub",
      "file_size": 1024000,
      "mime_type": "application/epub+zip",
      "cover_image_path": "/path/to/cover.jpg",
      "series": "Series Name",
      "series_number": 1,
      "tags": ["sci-fi", "space opera"],
      "tags_search": ["sci fi", "space opera"],
      "contributors": ["Author Name", "ACME CORP."],
      "contributors_search": ["author name", "acme corp"],
      "language": "en",
      "page_count": 350,
      "genre": "Science Fiction",
      "copyright_year": 2023,
      "created_at": "2026-01-31T10:00:00Z"
    }
  ],
  "total": 100
}
```

## Error Responses

| Code | Description                               |
| ---- | ----------------------------------------- |
| 400  | Invalid query parameters                  |
| 401  | Invalid or expired token                  |
| 403  | User does not have access to this library |
