# Get Library Media Items

Get all media items in a specific library.

**Endpoint**: `GET /api/libraries/:id/media-items`
**Auth**: Required (Admin only)

## Path Parameters

| Parameter | Type          | Required | Description  |
| --------- | ------------- | -------- | ------------ |
| id        | string (UUID) | Yes      | Library UUID |

## Query Parameters

| Parameter  | Type    | Required | Description                                     |
| ---------- | ------- | -------- | ----------------------------------------------- |
| limit      | integer | No       | Maximum number of items to return (default: 50) |
| offset     | integer | No       | Number of items to skip (default: 0)            |
| sort_by    | string  | No       | Sort field (title, created_at, etc.)            |
| sort_order | string  | No       | Sort order (asc, desc)                          |

## Request Headers

| Header        | Type   | Required | Description                         |
| ------------- | ------ | -------- | ----------------------------------- |
| Authorization | string | Yes      | Bearer token (must have admin role) |

### Example Request

```http
GET /api/libraries/550e8400-e29b-41d4-a716-446655440000/media-items?limit=20&offset=0
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```

## Response (200 OK)

```json
{
  "items": [
    {
      "id": "uuid",
      "title": "Sample Book",
      "authors": ["Author Name"],
      "tags": ["fiction", "science-fiction"],
      "created_at": "2026-02-08T10:00:00Z"
    }
  ],
  "total": 1523,
  "limit": 20,
  "offset": 0
}
```

## Error Responses

| Code | Description                         |
| ---- | ----------------------------------- |
| 401  | Invalid or expired token            |
| 403  | User does not have admin privileges |
| 404  | Library not found                   |
