> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # QueryCollections # Package: portfolio # Namespace: CollectionsService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/portfolio/collections/query-collections.md ## Permission Scopes: Wix Multilingual - Nile Wrapper Domain Events Read: SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ ## Introduction Retrieves a list of collections given the provided paging, filtering, and sorting. Up to 100 collections can be returned per request. The default `sort` is `id` in `ASC`. To learn how to query collections, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md). --- ## REST API ### Schema ``` Method: queryCollections Description: Retrieves a list of collections given the provided paging, filtering, and sorting. Up to 100 collections can be returned per request. The default `sort` is `id` in `ASC`. To learn how to query collections, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md). URL: https://www.wixapis.com/portfolio/collections/api/v1/portfolio/collections/query Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: query Method parameters: param name: includePageUrl | type: includePageUrl | description: Whether to include the collection's page URL and relative path in the response. Default: `false` param name: query | type: QueryV2 | required: true - ONE-OF: - required: true - name: paging | type: Paging | description: Paging options to limit and offset the number of items. - name: limit | type: integer | description: Number of items to load. - name: offset | type: integer | description: Number of items to skip in the current sort order. - name: cursorPaging | type: CursorPaging | description: Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. - name: limit | type: integer | description: Maximum number of items to return in the results. - name: cursor | type: string | description: Pointer to the next or previous page in the list of results. Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. Not relevant for the first request. - name: filter | type: object | description: Filter object. Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md#filters). - name: sort | type: array | description: Sort object. Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md#sorting). - name: fieldName | type: string | description: Name of the field to sort by. - name: order | type: SortOrder | description: Sort order. - enum: ASC, DESC - name: fields | type: array | description: Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. - name: fieldsets | type: array | description: Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. Return type: QueryCollectionsResponse - name: collections | type: array | description: List of collections. - name: id | type: string | description: Collection GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the collection is updated. To prevent conflicting changes, the existing revision must be passed when updating the collection object. - name: title | type: string | description: Collection title. - name: description | type: string | description: Collection description. - name: slug | type: string | description: Collection slug. - name: coverImage | type: Image | description: Collection cover image. - name: imageInfo | type: Image | description: Information about the Wix Media image. - name: id | type: string | description: WixMedia image GUID. Required. - name: url | type: string | description: Image URL. - name: height | type: integer | description: Original image height. Required. - name: width | type: integer | description: Original image width. Required. - name: altText | type: string | description: Image alt text. - name: filename | type: string | description: Image filename. - name: focalPoint | type: Point | description: Focal point of the image. - name: x | type: number | description: X-coordinate of the focal point. - name: y | type: number | description: Y-coordinate of the focal point. - name: hidden | type: boolean | description: Whether the collection is hidden from the portfolio. Default: `false` - name: sortOrder | type: number | description: Index that determines which position a collection is displayed in the portfolio.
Default: [Epoch](https://www.epoch101.com/) timestamp.
- name: createdDate | type: string | description: Date and time the collection was created. - name: updatedDate | type: string | description: Date and time the collection was updated. - name: url | type: PageUrlV2 | description: Collection page URL and relative path. Returned when `includePageUrl` is `true` in the request. - name: relativePath | type: string | description: The relative path for the page within the site. For example, `/product-page/a-product`. - name: url | type: string | description: The page's full URL. For example, `https://mysite.com/product-page/a-product`. - name: seoData | type: SeoSchema | description: Collection SEO data. - name: tags | type: array | description: SEO tag information. - name: type | type: string | description: SEO tag type. Supported values: `title`, `meta`, `script`, `link`. - name: props | type: object | description: A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. For example: `{"name": "description", "content": "the description itself"}`. - name: meta | type: object | description: SEO tag metadata. For example, `{"height": 300, "width": 240}`. - name: children | type: string | description: SEO tag inner content. For example, ` inner content `. - name: custom | type: boolean | description: Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). - name: disabled | type: boolean | description: Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. - name: settings | type: Settings | description: SEO general settings. - name: preventAutoRedirect | type: boolean | description: Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled. Default: `false` (automatical redirect is enabled). - name: keywords | type: array | description: User-selected keyword terms for a specific page. - name: term | type: string | description: Keyword value. - name: isMain | type: boolean | description: Whether the keyword is the main focus keyword. - name: origin | type: string | description: The source that added the keyword terms to the SEO settings. - name: metadata | type: PagingMetadataV2 | description: Paging metadata. - name: count | type: integer | description: Number of items returned in the response. - name: offset | type: integer | description: Offset that was requested. - name: total | type: integer | description: Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. - name: tooManyToCount | type: boolean | description: Flag that indicates the server failed to calculate the `total` field. - name: cursors | type: Cursors | description: Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. - name: next | type: string | description: Cursor string pointing to the next page in the list of results. - name: prev | type: string | description: Cursor pointing to the previous page in the list of results. ``` ### Examples ### Query Collections ```curl curl -X POST \ 'https://www.wixapis.com/portfolio/v1/collections/query' \ -H 'Authorization: ' \ -H 'Content-Type: application/json' \ -d '{ "query": { "filter": { "title": { "$contains": "Collection" } }, "sort": [ { "fieldName": "created_date", "order": "ASC" } ], "cursorPaging": { "limit": 10 } }, "includePageUrl": true }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.portfolio.CollectionsService.queryCollections(query, options) Description: Retrieves a list of collections given the provided paging, filtering, and sorting. Up to 100 collections can be returned per request. The default `sort` is `id` in `ASC`. To learn how to query collections, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md). # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: query Method parameters: param name: options | type: QueryCollectionsOptions none - name: includePageUrl | type: boolean | description: Whether to include the collection's page URL and relative path in the response. Default: `false` param name: query | type: CollectionQuery | required: true - ONE-OF: - required: true - name: paging | type: Paging | description: Paging options to limit and offset the number of items. - name: limit | type: integer | description: Number of items to load. - name: offset | type: integer | description: Number of items to skip in the current sort order. - name: cursorPaging | type: CursorPaging | description: Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. - name: limit | type: integer | description: Maximum number of items to return in the results. - name: cursor | type: string | description: Pointer to the next or previous page in the list of results. Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. Not relevant for the first request. - name: filter | type: object | description: Filter object. Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md#filters). - name: sort | type: array | description: Sort object. Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md#sorting). - name: fieldName | type: string | description: Name of the field to sort by. - name: order | type: SortOrder | description: Sort order. - enum: ASC, DESC Return type: PROMISE - name: collections | type: array | description: List of collections. - name: _id | type: string | description: Collection GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the collection is updated. To prevent conflicting changes, the existing revision must be passed when updating the collection object. - name: title | type: string | description: Collection title. - name: description | type: string | description: Collection description. - name: slug | type: string | description: Collection slug. - name: coverImage | type: Image | description: Collection cover image. - name: imageInfo | type: string | description: Information about the Wix Media image. - name: focalPoint | type: Point | description: Focal point of the image. - name: x | type: number | description: X-coordinate of the focal point. - name: y | type: number | description: Y-coordinate of the focal point. - name: hidden | type: boolean | description: Whether the collection is hidden from the portfolio. Default: `false` - name: sortOrder | type: number | description: Index that determines which position a collection is displayed in the portfolio.
Default: [Epoch](https://www.epoch101.com/) timestamp.
- name: _createdDate | type: Date | description: Date and time the collection was created. - name: _updatedDate | type: Date | description: Date and time the collection was updated. - name: url | type: string | description: Collection page URL and relative path. Returned when `includePageUrl` is `true` in the request. - name: seoData | type: SeoSchema | description: Collection SEO data. - name: tags | type: array | description: SEO tag information. - name: type | type: string | description: SEO tag type. Supported values: `title`, `meta`, `script`, `link`. - name: props | type: object | description: A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. For example: `{"name": "description", "content": "the description itself"}`. - name: meta | type: object | description: SEO tag metadata. For example, `{"height": 300, "width": 240}`. - name: children | type: string | description: SEO tag inner content. For example, ` inner content `. - name: custom | type: boolean | description: Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). - name: disabled | type: boolean | description: Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. - name: settings | type: Settings | description: SEO general settings. - name: preventAutoRedirect | type: boolean | description: Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled. Default: `false` (automatical redirect is enabled). - name: keywords | type: array | description: User-selected keyword terms for a specific page. - name: term | type: string | description: Keyword value. - name: isMain | type: boolean | description: Whether the keyword is the main focus keyword. - name: origin | type: string | description: The source that added the keyword terms to the SEO settings. - name: metadata | type: PagingMetadataV2 | description: Paging metadata. - name: count | type: integer | description: Number of items returned in the response. - name: offset | type: integer | description: Offset that was requested. - name: total | type: integer | description: Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. - name: tooManyToCount | type: boolean | description: Flag that indicates the server failed to calculate the `total` field. - name: cursors | type: Cursors | description: Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. - name: next | type: string | description: Cursor string pointing to the next page in the list of results. - name: prev | type: string | description: Cursor pointing to the previous page in the list of results. ``` ### Examples ### queryCollections ```javascript import { collections } from '@wix/portfolio'; async function queryCollections(query,options) { const response = await collections.queryCollections(query,options); }; ``` ### queryCollections (with elevated permissions) ```javascript import { collections } from '@wix/portfolio'; import { auth } from '@wix/essentials'; async function myQueryCollectionsMethod(query,options) { const elevatedQueryCollections = auth.elevate(collections.queryCollections); const response = await elevatedQueryCollections(query,options); } ``` ### queryCollections (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { collections } from '@wix/portfolio'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { collections }, // Include the auth strategy and host as relevant }); async function queryCollections(query,options) { const response = await myWixClient.collections.queryCollections(query,options); }; ``` ---