info:
  name: List Media Items
  type: http
  seq: 1
http:
  method: GET
  url: '{{base_url}}/api/media-items?library_id={{library_id}}&limit=20&offset=0'
  auth: inherit
  headers:
  - key: Content-Type
    value: application/json
runtime:
  scripts:
  - type: tests
    code: "test_list_media_items_success(status, headers, body) {\n    if (status\
      \ !== 200) {\n      throw new Error(\"Expected status 200, got \" + status);"

docs: |-
  ## List Media Items
    
    Retrieves a paginated list of media items from a specific library.
    
    **Method:** GET
    
    **Endpoint:** /api/media-items
    
    **Authentication:** Required (Bearer token)
    
    **Query Parameters:**
    - `library_id` (string, required): Library UUID to filter items
    - `limit` (number, optional): Number of results per page (default: 20, max: 100)
    - `offset` (number, optional): Pagination offset (default: 0)
    
    **Response:** Array of media item objects
    - `id` (string): Media item UUID
    - `title` (string): Media item title
    - `library_id` (string): Library UUID
    - `media_type` (string): Type of media (e.g., "ebook", "audiobook")
    - `file_path` (string): Path to media file
    - `created_at` (string): Creation timestamp
    - `updated_at` (string): Last update timestamp
    
    **Status Codes:**
    - 200: Success
    - 400: Invalid query parameters
    - 401: Unauthorized
    - 403: Forbidden (library access denied)
    - 404: Library not found
    - 500: Internal server error
