info:
  name: Field Values Search - Languages
  type: http
  seq: 3

http:
  method: GET
  url: "{{base_url}}/api/media-items/search?library_id={{library_id}}&language=eng&limit=50"
  params:
    - name: library_id
      value: "{{library_id}}"
      type: query
    - name: language
      value: eng
      type: query
    - name: limit
      value: "50"
      type: query
  auth: inherit

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

docs: |-
  ## Field Values Search - Languages

  Fetches distinct language values for autocomplete dropdowns with counts and similarity scores.

  **Method:** GET

  **Endpoint:** /api/media-items/search

  **Authentication:** Required (Bearer token)

  **Query Parameters:**
  - `library_id` (string, required): Library UUID to search within
  - `language` (string, required): Language name/code to search for (fuzzy match)
  - `limit` (integer, optional): Maximum results to return (default: 50)

  **How It Works:**
  - Returns distinct language names from the library
  - Fuzzy matches the search query against language names
  - Includes count of books per language
  - Includes similarity score (0-1, higher = better match)
  - Sorted by similarity score, then by count

  **Use Case:**
  - Populate autocomplete dropdown when user types in language filter field
  - Show user available languages with book counts
  - Help users discover similar language codes/names

  **Response:** HTTP 200 (OK)
  ```json
  {
    "results": [
      {
        "value": "English",
        "count": 1245,
        "score": 0.9
      },
      {
        "value": "eng",
        "count": 856,
        "score": 0.85
      }
    ],
    "total": 2
  }
  ```

  **Examples:**
  - `language=eng` → Returns "English" (1245 books), "eng" (856 books)
  - `language=fre` → Returns "French" (234 books), "fre" (123 books)
  - `language=german` → Returns "German" (189 books), "deutsch" (45 books)

  **Frontend Integration:**
  - Call this endpoint when user types ≥2 characters in language field
  - Display results in `<datalist>` or custom dropdown
  - Show: "Language Name (count)" format
  - Allow user to select from suggestions

  **Success Criteria:**
  - Status: 200
  - Returns array of language values with counts
  - Results sorted by relevance (similarity score)
  - Only returns languages matching the fuzzy search
