# List All Queue Items (Admin)

List all queue items across all devices (admin only).

**Endpoint**: `GET /api/queue/items`
**Auth**: Required (Admin only)

## Query Parameters

| Parameter | Type          | Required | Description                                               |
| --------- | ------------- | -------- | --------------------------------------------------------- |
| device_id | string (UUID) | No       | Filter by device                                          |
| status    | string        | No       | Filter by status (pending, processing, completed, failed) |
| limit     | integer       | No       | Maximum number of items to return (default: 100)          |
| offset    | integer       | No       | Number of items to skip (default: 0)                      |

## Request Headers

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

### Example Request

```http
GET /api/queue/items?status=failed&limit=20
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```

## Response (200 OK)

```json
{
  "items": [
    {
      "id": "uuid",
      "device_id": "device-uuid",
      "device_name": "My Kobo",
      "media_item_id": "book-uuid",
      "operation": "sync_progress",
      "status": "failed",
      "error_message": "Connection timeout",
      "created_at": "2026-02-08T10:00:00Z",
      "updated_at": "2026-02-08T10:05:00Z"
    }
  ],
  "total": 45,
  "limit": 20,
  "offset": 0
}
```

## Error Responses

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