The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the GraphQL Admin API. For details and migration steps, visit our migration guide.
Custom Collection
products
access scope.A custom collection is a grouping of products that a merchant can create to make their store easier to browse. The merchant creates a custom collection and then selects the products that will go into it.

Collections are typically displayed to customers so that buyers can select to view only the products in the collection. Shopify stores start with a single custom collection called frontpage—the collection of products shown on the front page of the online store.
The Collect resource is used to connect a product to a custom collection.
There are also smart collections, which contain products based on selection conditions rather than because they've been included manually. For more information, see the SmartCollection resource.
Endpoints
- post/admin/api/latest/custom_
collections. json Creates a custom collection - get/admin/api/latest/custom_
collections. json?ids=395646240,691652237,841564295 Retrieves a list of custom collections - get/admin/api/latest/custom_
collections/{custom_ collection_ id}. json Retrieves a single custom collection - get/admin/api/latest/custom_
collections/count. json Retrieves a count of custom collections - put/admin/api/latest/custom_
collections/{custom_ collection_ id}. json Updates an existing custom collection - del/admin/api/latest/custom_
collections/{custom_ collection_ id}. json Deletes a custom collection
The CustomCollection resource
Properties
The description of the custom collection, complete with HTML markup. Many templates display this on their custom collection pages.
A human-friendly unique string for the custom collection automatically generated from its title. This is used in shop themes by the Liquid templating language to refer to the custom collection. (limit: 255 characters)
Image associated with the custom collection. Valid values are:
Show image properties
- attachment: An image attached to a custom collection returned as Base64-encoded binary data.
- src: The source URL that specifies the location of the image.
- alt: Alternative text that describes the collection image.
- created_at: The time and date (ISO 8601 format) when the image was added to the collection.
- width: The width of the image in pixels.
- height: The height of the image in pixels.
The ID for the custom collection.
Whether the custom collection is published to the Online Store channel.
The time and date (ISO 8601 format) when the collection was made visible. Returns null
for a hidden custom collection.
Whether the collection is published to the Point of Sale channel. Valid values:
Show published_scope properties
web
: The custom collection is published to the Online Store channel but not published to the Point of Sale channel.global
: The custom collection is published to both the Online Store channel and the Point of Sale channel.
The order in which products in the custom collection appear. Valid values:
Show sort_order properties
- alpha-asc: Alphabetically, in ascending order (A - Z).
- alpha-desc: Alphabetically, in descending order (Z - A).
- best-selling: By best-selling products.
- created: By date created, in ascending order (oldest - newest).
- created-desc: By date created, in descending order (newest - oldest).
- manual: Order created by the shop owner.
- price-asc: By price, in ascending order (lowest - highest).
- price-desc: By price, in descending order (highest - lowest).
The suffix of the liquid template being used. For example, if the value is custom
, then the collection is using the collection.custom.liquid
template. If the value is null
, then the collection is using the default collection.liquid
.
The name of the custom collection. (limit: 255 characters)
The date and time (ISO 8601 format) when the custom collection was last modified.
The CustomCollection resource
Anchor to POST request, Creates a custom collectionpostCreates a custom collection
Creates a custom collection
Create a collection that contains a product by including a collect
Create a collection that contains a product by including a collect
Show custom_collection properties
The name of the custom collection. (limit: 255 characters)
Create a custom collection
Create a custom collection
Show custom_collection properties
The name of the custom collection. (limit: 255 characters)
Create a custom collection with a metafield
Create a custom collection with a metafield
Show custom_collection properties
The name of the custom collection. (limit: 255 characters)
Create a custom collection with an image, which will be uploaded to Shopify
Create a custom collection with an image, which will be uploaded to Shopify
Show custom_collection properties
The name of the custom collection. (limit: 255 characters)
Image associated with the custom collection. Valid values are:
Show image properties
- attachment: An image attached to a custom collection returned as Base64-encoded binary data.
- src: The source URL that specifies the location of the image.
- alt: Alternative text that describes the collection image.
- created_at: The time and date (ISO 8601 format) when the image was added to the collection.
- width: The width of the image in pixels.
- height: The height of the image in pixels.
Create an unpublished custom collection
Create an unpublished custom collection
Show custom_collection properties
The name of the custom collection. (limit: 255 characters)
Whether the custom collection is published to the Online Store channel.
Creating a custom collection without a title fails and returns an error
Creating a custom collection without a title fails and returns an error
/admin/api/2025-07/custom_ collections. json
Response
Anchor to GET request, Retrieves a list of custom collectionsgetRetrieves a list of custom collections
Retrieves a list of custom collections. Note: This endpoint implements pagination by using links that are provided in the response header. To learn more, refer to Make paginated requests to the REST Admin API.
Show only certain fields, specified by a comma-separated list of field names.
Filter by custom collection handle.
Show only collections specified by a comma-separated list of IDs.
The maximum number of results to retrieve.
Show custom collections that include a given product.
Show custom collections published before date (format: 2014-04-25T16:15:47-04:00).
Show custom collections published after date (format: 2014-04-25T16:15:47-04:00).
Show custom collectsion with a given published status.
Show published_status properties
published: Show only published custom collections.
unpublished: Show only unpublished custom collections.
any: Show custom collections of any published status.
Restrict results to after the specified ID.
Show custom collections with a given title.
Show custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).
Show custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).
Retrieve a list of specific custom collections
Retrieve a list of specific custom collections
Show only collections specified by a comma-separated list of IDs.
Retrieve all collections
Retrieve all collections
Retrieve all collections after the specified ID
Retrieve all collections after the specified ID
Restrict results to after the specified ID.
Retrieve all custom collections that contain a given product
Retrieve all custom collections that contain a given product
Show custom collections that include a given product.
/admin/api/2025-07/custom_ collections. json?ids= 395646240, 691652237, 841564295
Response
Anchor to GET request, Retrieves a single custom collectiongetRetrieves a single custom collection
Retrieves a single custom collection
Show only certain fields, specified by a comma-separated list of field names.
Retrieve a specific collection by its ID
Retrieve a specific collection by its ID
/admin/api/2025-07/custom_ collections/841564295. json
Response
Anchor to GET request, Retrieves a count of custom collectionsgetRetrieves a count of custom collections
Retrieves a count of custom collections
Count custom collections that include a given product.
Count custom collections published before date (format: 2014-04-25T16:15:47-04:00).
Count custom collections published after date (format: 2014-04-25T16:15:47-04:00).
Count custom collections with a given published status.
Show published_status properties
published: Count only published custom collections.
unpublished: Count only unpublished custom collections.
any: Count custom collections of any published status.
Count custom collections with given title.
Count custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).
Count custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).
Count all custom collections
Count all custom collections
Count all custom collections that contain a given product
Count all custom collections that contain a given product
Count custom collections that include a given product.
/admin/api/2025-07/custom_ collections/count. json
Response
Anchor to PUT request, Updates an existing custom collectionputUpdates an existing custom collection
Updates an existing custom collection
Add a collect to an existing collection by providing a product ID, and update an existing collect by its own ID to change its sort position
Add a collect to an existing collection by providing a product ID, and update an existing collect by its own ID to change its sort position
Show custom_collection properties
The ID for the custom collection.
Add a metafield to an existing collection
Add a metafield to an existing collection
Show custom_collection properties
The ID for the custom collection.
Hide a published collection
Hide a published collection
Show custom_collection properties
The ID for the custom collection.
Whether the custom collection is published to the Online Store channel.
Update a collection to remove its image
Update a collection to remove its image
Show custom_collection properties
The ID for the custom collection.
Image associated with the custom collection. Valid values are:
Show image properties
- attachment: An image attached to a custom collection returned as Base64-encoded binary data.
- src: The source URL that specifies the location of the image.
- alt: Alternative text that describes the collection image.
- created_at: The time and date (ISO 8601 format) when the image was added to the collection.
- width: The width of the image in pixels.
- height: The height of the image in pixels.
The date and time (ISO 8601 format) when the custom collection was last modified.
A human-friendly unique string for the custom collection automatically generated from its title. This is used in shop themes by the Liquid templating language to refer to the custom collection. (limit: 255 characters)
The name of the custom collection. (limit: 255 characters)
The description of the custom collection, complete with HTML markup. Many templates display this on their custom collection pages.
The time and date (ISO 8601 format) when the collection was made visible. Returns null
for a hidden custom collection.
The order in which products in the custom collection appear. Valid values:
Show sort_order properties
- alpha-asc: Alphabetically, in ascending order (A - Z).
- alpha-desc: Alphabetically, in descending order (Z - A).
- best-selling: By best-selling products.
- created: By date created, in ascending order (oldest - newest).
- created-desc: By date created, in descending order (newest - oldest).
- manual: Order created by the shop owner.
- price-asc: By price, in ascending order (lowest - highest).
- price-desc: By price, in descending order (highest - lowest).
The suffix of the liquid template being used. For example, if the value is custom
, then the collection is using the collection.custom.liquid
template. If the value is null
, then the collection is using the default collection.liquid
.
Whether the collection is published to the Point of Sale channel. Valid values:
Show published_scope properties
web
: The custom collection is published to the Online Store channel but not published to the Point of Sale channel.global
: The custom collection is published to both the Online Store channel and the Point of Sale channel.
Update a collection with a new collection image
Update a collection with a new collection image
Show custom_collection properties
The ID for the custom collection.
Image associated with the custom collection. Valid values are:
Show image properties
- attachment: An image attached to a custom collection returned as Base64-encoded binary data.
- src: The source URL that specifies the location of the image.
- alt: Alternative text that describes the collection image.
- created_at: The time and date (ISO 8601 format) when the image was added to the collection.
- width: The width of the image in pixels.
- height: The height of the image in pixels.
Update a collection with new alt text for its image
Update a collection with new alt text for its image
Show custom_collection properties
The ID for the custom collection.
Image associated with the custom collection. Valid values are:
Show image properties
- attachment: An image attached to a custom collection returned as Base64-encoded binary data.
- src: The source URL that specifies the location of the image.
- alt: Alternative text that describes the collection image.
- created_at: The time and date (ISO 8601 format) when the image was added to the collection.
- width: The width of the image in pixels.
- height: The height of the image in pixels.
Update the description of a custom collection
Update the description of a custom collection
Show custom_collection properties
The ID for the custom collection.
The description of the custom collection, complete with HTML markup. Many templates display this on their custom collection pages.
/admin/api/2025-07/custom_ collections/841564295. json
Response
Anchor to DELETE request, Deletes a custom collectiondelDeletes a custom collection
Deletes a custom collection
Delete a custom collection
Delete a custom collection