meta:
  name: Create Custom Section with Filter Rules
  type: http
  seq: 1
http:
  method: POST
  url: '{{base_url}}/api/collections'
  auth: inherit
  body:
    type: json
    jsonBody: "{\n  \"library_id\": \"{{library_id}}\",\n  \"name\": \"Science Fiction\
      \ Books\",\n  \"icon\": \"🚀\",\n  \"description\": \"All my sci-fi books\",\n\
      \  \"show_on_dashboard\": true,\n  \"auto_assign_rules\": \"{\\\"rules\\\":[{\\\
      \"id\\\":\\\"rule1\\\",\\\"field\\\":\\\"genre\\\",\\\"operator\\\":\\\"equals\\\"\
      ,\\\"value\\\":\\\"Sci-Fi\\\",\\\"priority\\\":1}]}\",\n  \"manual_book_ids\"\
      : [],\n  \"match_type\": \"all\"\n}"
runtime:
  scripts:
  - type: tests
    code: "test(\"status must be 201 with valid request\", function() {\n    expect(res.status).to.eql(201);\n\
      });\n\ntest(\"response contains collection id\", function() {\n    expect(res.body.id).to.exist;\n\
            expect(res.body.id).to.be.a('string');\n  });\n\ntest(\"response contains\
      \ collection name\", function() {\n    expect(res.body.name).to.eql(\"Science\
      \ Fiction Books\");\n  });\n\ntest(\"response contains is_system false\", function()\
      \ {\n    expect(res.body.is_system).to.exist;\n    expect(res.body.is_system).to.eql(false);\n\
      \  });"

docs: |-
  Create a custom collection with filter rules.

  **Endpoint**: POST /api/collections
  **Auth**: Required (Bearer token)

  ## Request Body

  | Field | Type | Required | Description |
  |-------|------|----------|-------------|
  | library_id | string | Yes | Library UUID |
  | name | string | Yes | Collection name |
  | icon | string | No | Emoji icon |
  | description | string | No | Collection description |
  | show_on_dashboard | boolean | No | Show on dashboard (default: true) |
  | auto_assign_rules | string | No | JSON string of filter rules |
  | manual_book_ids | array | No | Array of book IDs |
  | match_type | string | No | "all" (AND) or "any" (OR) |

  ## Example Request

  ```json
  {
    "library_id": "cc23c3a7-f8fb-451a-a78d-2a16df1b725a",
    "name": "Science Fiction Books",
    "icon": "🚀",
    "description": "All my sci-fi books",
    "show_on_dashboard": true,
    "auto_assign_rules": "{\"rules\":[{\"id\":\"rule1\",\"field\":\"genre\",\"operator\":\"equals\",\"value\":\"Sci-Fi\",\"priority\":1}]}",
    "manual_book_ids": [],
    "match_type": "all"
  }
  ```

  ## Response

  Returns the created collection with generated ID.
