info:
  name: Get Libraries (Admin)
  type: http
  seq: 1

http:
  method: GET
  url: "{{base_url}}/api/libraries"
  headers:
    - name: ""
      value: application/json
  auth: inherit

runtime:
  scripts:
    - type: after-response
      code: |-
        function onResponse(res) {
          try {
            const responseBody = res.getBody();
            const id = responseBody.data[0].id;

            if (id) {
              bru.setEnvVar("library_id", id, { persist: true });
              console.log("Library ID saved:", id);
            }

           if (!id) {
              console.log("No id found in response.");
            }
          } catch (error) {
            console.error("Error in post-response script:", error.message);
          }
        }
        onResponse(res);

settings:
  encodeUrl: true
  timeout: 0
  followRedirects: true
  maxRedirects: 5

docs: |-
  ## Get Libraries (Admin)
    
    Retrieves all libraries in the system (admin access required).
    
    **Method:** GET
    
    **Endpoint:** /api/libraries
    
    **Authentication:** Required (Bearer token, admin permissions)
    
    **Response:** Array of library objects
    - `id` (string): Library UUID
    - `name` (string): Library name
    - `description` (string, optional): Library description
    - `type` (string): Library type (ebooks, audiobooks, videos, other)
    - `is_visible` (boolean): Library visibility to users
    - `media_count` (number): Number of media items in library
    - `folder_count` (number): Number of folders associated
    - `created_at` (string): Creation timestamp
    - `updated_at` (string): Last update timestamp
    
    **Status Codes:**
    - 200: Success
    - 401: Unauthorized
    - 403: Forbidden (admin access required)
    - 500: Internal server error
