**Version: 202601**

# Create collection

**POST** `/openapi/2026-01/collections`

Allows users to create a new collection in the store, including details like the title, description, associated products, SEO attributes, and merchandise sorting rules.

## Request

**application/json**

**Body | Example**

**Body (required)**

- `collection` object (required)

  Collection

  - `title` string (required)

    The name of the collection
  - `handle` string

    A unique URL-friendly identifier for the collection
  - `description` string

    The description of the collection
  - `image` object

    Image

    - `src` string (required)

      The source URL of the collection image
    - `width` int32

      The width of the collection image in pixels
    - `height` int32

      The height of the collection image in pixels
    - `alt` string

      Alt text for the collection image
  - `seo_title` string

    The SEO title for the collection
  - `seo_keywords` string[]

    The keywords for SEO
  - `seo_description` string

    The SEO description for the collection
  - `sort_order` string

    Merchandise sorting rules. Options include: manual (default), sales-desc, price-asc, price-desc, views-desc, vendor-asc, vendor-desc, intelligent, and more

    **Default value:** `manual`
  - `product_ids` string[]

    List of product IDs to include in the collection. Must be valid UUIDs
  - `smart` boolean

    Whether it is a smart collection
  - `match_rules` object

    Smart collection match rules

    - `disjunctive` boolean

      Logical relationship between rule modules:

      *   `true`: any rule module matched is sufficient (OR)
      *   `false`: all rule modules must be matched (AND, default)
    - `rule_modules` object[]

      List of rule modules

      *   Array \[

      - `disjunctive` boolean

        Logical relationship between rules in this module:

        *   `true`: any rule matched is sufficient (OR)
        *   `false`: all rules must be matched (AND, default)
      - `rules` object[]

        List of rules in this module

        *   Array \[

        - `column` string

          Target field to apply the rule on. Supported values:

          *   `title`: product title
          *   `product_status`: product status
          *   `tags`: product tags
          *   `vendor`: vendor / supplier
          *   `variant_price`: SKU price
          *   `variant_weight`: SKU weight
          *   `inventory_quantity`: inventory quantity
          *   `product_note`: product note
          *   `sales`: sales volume
          *   `real_sales`: actual sales volume
          *   `views`: view count
          *   `add_to_cart_count`: add-to-cart count
          *   `created_at`: product creation time
          *   `spu`: SPU identifier
          *   `spus_match`: SPU match status
          *   `published_at`: publish time
          *   `category_id`: category ID
          *   `brand`: brand
        - `relation` string

          Comparison operator used for matching. Supported values:

          *   `equals`: equals
          *   `not_equals`: not equals
          *   `starts_with`: starts with
          *   `ends_with`: ends with
          *   `contains`: contains
          *   `not_contains`: does not contain
          *   `greater_than`: greater than
          *   `less_than`: less than
          *   `top`: top N results (usually used with sortable fields)
        - `condition` string

          Condition value for the rule

          *   Text fields: plain string
          *   Numeric fields: string convertible to a number
          *   Time fields: timestamp or agreed time format
          *   `top` relation: represents the value of N
        *   \]
      *   \]
  - `tags` string[]

    List of tags for the collection

```json
{
  "collection": {
    "title": "string",
    "handle": "string",
    "description": "string",
    "image": {
      "src": "string",
      "width": 0,
      "height": 0,
      "alt": "string"
    },
    "seo_title": "string",
    "seo_keywords": [
      "string"
    ],
    "seo_description": "string",
    "sort_order": "manual",
    "product_ids": [
      "string"
    ],
    "smart": true,
    "match_rules": {
      "disjunctive": true,
      "rule_modules": [
        {
          "disjunctive": true,
          "rules": [
            {
              "column": "string",
              "relation": "string",
              "condition": "string"
            }
          ]
        }
      ]
    },
    "tags": [
      "string"
    ]
  }
}
```

## Responses

**200**

OK

**application/json**

**Schema | Example**

**Schema**

- `code` string

  error code
- `message` string

  error message
- `data` object

  - `collection` object

    Collection

    - `id` string

      Collection ID
    - `title` string

      Title
    - `description` string

      Description
    - `handle` string

      URL-friendly identifier (handle)
    - `smart` boolean

      Smart
    - `image` object

      Image

      - `src` string

        The source URL of the image
      - `width` int32

        The width of the image in pixels
      - `height` int32

        The height of the image in pixels
      - `alt` string

        Alt text for the image
    - `seo_title` string

      SEO title
    - `seo_keywords` string[]

      SEO keywords
    - `seo_description` string

      SEO description
    - `sort_order` string

      Sort order
    - `created_at` string

      Creation timestamp, in ISO-8601 format
    - `updated_at` string

      Last update timestamp, in ISO-8601 format
    - `match_rules` object

      Smart collection match rules

      - `disjunctive` boolean

        Whether conditions are disjunctive (OR)
      - `rule_modules` object[]

        List of rule modules

        *   Array \[

        - `disjunctive` boolean

          Whether conditions are disjunctive (OR)
        - `rules` object[]

          List of rules in this module

          *   Array \[

          - `column` string

            Column
          - `relation` string

            Relation
          - `condition` string

            Condition
          *   \]
        *   \]
    - `tags` string[]

      List of tags for the collection
    - `product_count` int64

      Number of products in the collection

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "collection": {
      "id": "string",
      "title": "string",
      "description": "string",
      "handle": "string",
      "smart": true,
      "image": {
        "src": "string",
        "width": 0,
        "height": 0,
        "alt": "string"
      },
      "seo_title": "string",
      "seo_keywords": [
        "string"
      ],
      "seo_description": "string",
      "sort_order": "string",
      "created_at": "string",
      "updated_at": "string",
      "match_rules": {
        "disjunctive": true,
        "rule_modules": [
          {
            "disjunctive": true,
            "rules": [
              {
                "column": "string",
                "relation": "string",
                "condition": "string"
              }
            ]
          }
        ]
      },
      "tags": [
        "string"
      ],
      "product_count": 0
    }
  }
}
```
