Get all collections
const url = 'https://acme.mykreezalid.com/api/v1/collections?page=1&limit=25';const options = {method: 'GET', headers: {Authorization: 'Basic <credentials>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://acme.mykreezalid.com/api/v1/collections?page=1&limit=25' \ --header 'Authorization: Basic <credentials>'Returns your top-level collections, the most recent first, 25 per page by default. Their sub-collections are listed with GET /collections/{parent_handle}.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Page to return, starting at 1.
Number of collections per page, at most 100.
Responses
Section titled “Responses”A page of top-level collections
object
Represents a logical group of listings, such as construction projects or promotions, or a storefront page presenting listings or users. A collection made by a collection model follows its model’s conditions; its fields left null show the model’s patterns.
object
Collection’s unique identifier
URL-friendly identifier for the collection (slug)
Human-readable title of the collection
Flexible metadata container for the collection
object
Handle of the parent collection, if this is a sub-collection. It is not returned in responses: list a parent’s sub-collections with GET /collections/{parent_handle}.
Whether the collection is a storefront page, at /{handle}
Whether its page is online
What it presents: listing or user
The title its page shows. On a collection made by a model: null for the model’s pattern, empty for nothing, or its own
Same three states as page_title
HTML; same three states as page_title
Alternative text of the image (the image itself is uploaded in the back office)
Its conditions: inclusion {type: AND or OR, rules: […]} and exclusion […]. Read-only on a collection made by a model
object
Suffix of the theme’s collection template; empty, the default one
Snippet drawing each item; empty, the default card of its type
Full URL; never inherited
SEO title
SEO description
SEO keywords
Kept out of search engines; null on a collection made by a model: as the model
Links not followed; null on a collection made by a model: as the model
Always, hourly, daily, weekly, monthly, yearly or never
From 0 to 1
The id of the collection model it is made by; read-only
The handle of that model; read-only
The model’s value it stands for; read-only
The label of that value; read-only
The criterion its model varies on: type, field (an attribute’s alias) and a readable name
object
Collection creation date
Date of last update
Paging information, added next to the results of a paginated list. Request another page with the page query parameter and change the page size with limit (at most 100).
object
Number of results across all pages.
Number of the page returned, starting at 1.
Whether a next page exists.
Whether a previous page exists.
Number of results on this page.
Number of pages.
Example
{ "collections": [ { "id": 432432, "handle": "soldes", "title": "Promotions de Printemps", "metadata": { "last_updated_at": "2025-07-01T10:00:00Z", "theme": "blue" }, "parent_handle": "promos", "storefront_enabled": true, "is_online": true, "type": "listing", "page_title": "Voitures électriques", "subtitle": null, "description": null, "image_alt": null, "rules": null, "template": null, "thumbnail": null, "canonical_url": null, "meta_title": null, "meta_description": null, "meta_keywords": null, "no_index": false, "no_follow": false, "sitemap_changefreq": null, "sitemap_priority": null, "model_id": null, "model_handle": null, "pivot_value": null, "pivot_label": null, "model_pivot": { "type": "attribute", "field": "marque", "name": "Marque" }, "created_at": "2025-07-20T10:30:00Z", "updated_at": "2025-07-20T14:45:00Z" } ], "pagination": { "totalResultsCount": 137, "currentPage": 1, "resultOnPageCount": 25, "pageCount": 6 }}