info:
  name: Get Saved Filter By ID
  type: http
  seq: 4
http:
  method: GET
  url: "{{base_url}}/api/saved-filters/{{filter_id}}"
  auth: inherit

docs: |-
  ## Get Saved Filter By ID

  Retrieves a single saved filter by its ID.

  **Method:** GET

  **Endpoint:** /api/saved-filters/:id

  **Authentication:** Required (Bearer token)

  **URL Parameters:**
  - `id` (UUID, required): The unique identifier of the saved filter
    - Example: "550e8400-e29b-41d4-a716-446655440000"
    - Must be a valid UUID format

  **Response:**
  Single saved filter object:
  ```json
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "My Sci-Fi Books",
    "resource_type": "media-items",
    "filters": {
      "genre_filter": "Science Fiction",
      "sort": "title ASC"
    },
    "created_at": "2024-03-20T12:00:00Z",
    "updated_at": "2024-03-20T12:00:00Z"
  }
  ```

  **Status Codes:**
  - 200: Success - Returns the saved filter
  - 400: Bad Request - Invalid filter ID format
  - 401: Unauthorized - Invalid or missing authentication token
  - 404: Not Found - Filter doesn't exist or doesn't belong to user

  **Example Usage:**
  ```bash
  # Get a specific saved filter
  curl -H "Authorization: Bearer YOUR_TOKEN" \
    "{{base_url}}/api/saved-filters/550e8400-e29b-41d4-a716-446655440000"
  ```

  **Notes:**
  - Filters are user-specific (ownership verified via JWT)
  - Returns 404 if filter doesn't exist OR doesn't belong to authenticated user
  - Use `GET /api/saved-filters?resource_type=X` to list all filters first

  **Scenarios:**
  - Get filter by ID from list response
  - Load filter details for editing
  - Verify filter exists before updating
  - Mobile app on-demand filter loading
