> 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 # QueryPackages # Package: resellers # Namespace: Packages # Method link: https://dev.wix.com/docs/api-reference/account-level/resellers/packages-and-product-instances/query-packages.md ## Introduction Retrieves a list of packages, given the provided paging, filtering, and sorting. You must pass the ID of the Wix account that the packages belong to in the header of the call. The call returns packages that belong to the parent account, regardless if you pass the ID of a parent or sub-account. In case you want to retrieve only packages that belong to a sub-account, you must pass the sub-account ID as `filter` in the `query` object like this: ```json { "query": { "filter": { "accountId": { "$eq": "" } } } } ``` Query Packages runs with these defaults, which you can override: - `createdDate` is sorted in `DESC` order - `cursorPaging.limit` is `100` By default `pagingMetadata.cursors` are returned, unless you specifically pass `query.paging`. The maximum for `cursorPaging.limit` is `100`. If you pass a cursor token that you have received in a previous Query Package response, passing additional sort or filter information results in an invalid cursor error. Since the received cursor token already holds all the needed information for sort and filter. Changing the sort and filter properties during the span of a cursor query isn't supported. But you can provide a different limit. To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection). > **Important**: This call requires an account level API key and cannot be > authenticated with the standard authorization header. --- ## REST API ### Schema ``` Method: queryPackages Description: Retrieves a list of packages, given the provided paging, filtering, and sorting. You must pass the GUID of the Wix account that the packages belong to in the header of the call. The call returns packages that belong to the parent account, regardless if you pass the GUID of a parent or sub-account. In case you want to retrieve only packages that belong to a sub-account, you must pass the sub-account GUID as `filter` in the `query` object like this: ```json { "query": { "filter": { "accountId": { "$eq": "" } } } } ``` Query Packages runs with these defaults, which you can override: - `createdDate` is sorted in `DESC` order - `cursorPaging.limit` is `100` By default `pagingMetadata.cursors` are returned, unless you specifically pass `query.paging`. The maximum for `cursorPaging.limit` is `100`. If you pass a cursor token that you have received in a previous Query Package response, passing additional sort or filter information results in an invalid cursor error. Since the received cursor token already holds all the needed information for sort and filter. Changing the sort and filter properties during the span of a cursor query isn't supported. But you can provide a different limit. To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection). > **Important**: This call requires an account level API key and cannot be > authenticated with the standard authorization header. URL: https://www.wixapis.com/resellers/v1/packages/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: query | type: QueryV2 | required: true - 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: QueryPackagesResponse - 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. - name: packages | type: array | description: Retrieved packages. Max: 1000 packages - name: id | type: string | description: Package GUID. - name: accountId | type: string | description: Wix account GUID. See [Account Level APIs](https://dev.wix.com/docs/rest/account-level/about-account-level-apis.md) for more details. - name: externalId | type: string | description: External reference. For example, an external subscription GUID. This field isn't validated by Wix. Max: 100 characters - name: productInstances | type: array | description: Product instances that are included in the package. Min: 1 product instance Max: 1000 product instances - ONE-OF: - name: billingInfo | type: Cycle | description: Billing information for the contract between the reseller and Wix. - name: type | type: CycleDescriptorType | description: Payment type. - enum: - ONE_TIME: The reseller pays Wix in a single payment. - RECURRING: The reseller pays Wix on a recurring schedule. - name: cycleDuration | type: Interval | description: Duration of the billing cycle. Available only for `RECURRING` payments. - name: unit | type: IntervalUnit | description: Unit of the billing cycle. - enum: - DAY: Day - WEEK: Week - MONTH: Month - YEAR: Year - name: count | type: integer | description: Count of units that make up the billing cycle. - name: instanceId | type: string | description: GUID of the instance of the resold Wix service. **Note:** Differs from the `catalogProductId`. Allows you to identify different instances of the same product in a package. - name: siteId | type: string | description: GUID of the Wix site that the product instance is assigned to. See the [Query Sites API](https://dev.wix.com/api/rest/account-level-apis/sites/query-sites) for more information. - name: catalogProductId | type: string | description: Product GUID, as defined in the Wix Premium Product Catalog. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more details about available Wix services. - name: status | type: Status | description: Status of the product instance. - enum: - PENDING: The product instance isn't yet available to the customer. - ENABLED: The customer can use the product instance. - CANCELED: The product instance isn't any longer available to the customer. - FAILED: The product instance couldn't be delivered successfully and has never been available to the customer. - AWAITING_ACTION: The product instance isn't yet available to the customer, because an external provider or the customer must take an action. - name: failure | type: FailureReason | description: Failure object. Only present for status `FAILED`. Describes why the product instance `FAILED`. - name: code | type: FailureReasonCode | description: Failure code. - enum: - DELIVERY_TIMEOUT: The product instance couldn't be created because the Resellers API timed out. - EXTERNAL_FAILURE: The product instance couldn't be created because an external process failed. - name: message | type: string | description: Failure message. - name: createdDate | type: string | description: Date and time the product instance was created. - name: updatedDate | type: string | description: Date and time the product instance was last updated. - name: countryCode | type: string | description: Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. Specifies where customers can claim vouchers that may come with the product. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) to get more information about vouchers and supported locations. - name: expirationDate | type: string | description: Date and time the product instance expires in `YYYY-MM-DDThh:mm:ss.sssZ` format. Used only for instances that don't auto renew at the end of the current billing cycle. - name: discountCode | type: string | description: Discount code indicating that the reseller provisioned the product instance during a sale. Wix doesn't guarantee that a discount code reduces the price between Wix and the reseller, even when it's valid. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more information. Max: 25 characters - name: referenceProductInstanceId | type: string | description: GUID of a different product instance that you can use to offer your customers time-limited free access to an additional product or service. For example, Wix offers a 1-year free domain registration to all customers who purchase a Premium plan. The referenced product instance must have either status `"PENDING"` or `"ACTIVE"`. You can use each product instance only a single time as reference instance. - name: createdDate | type: string | description: Date and time the package was created. - name: updatedDate | type: string | description: Date and time the package was last updated. ``` ### Examples ### Query packages ```curl curl -X POST \ 'www.wixapis.com/resellers/v1/packages/query' \ -H 'wix-account-id: ' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "query": { "filter": { "productInstances.status": { "$hasAll": ["Enabled"] } }, "fields": ["id"], "fieldsets": ["id"] } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.resellers.Packages.queryPackages(query) Description: Retrieves a list of packages, given the provided paging, filtering, and sorting. You must pass the GUID of the Wix account that the packages belong to in the header of the call. The call returns packages that belong to the parent account, regardless if you pass the GUID of a parent or sub-account. In case you want to retrieve only packages that belong to a sub-account, you must pass the sub-account GUID as `filter` in the `query` object like this: ```json { "query": { "filter": { "accountId": { "$eq": "" } } } } ``` Query Packages runs with these defaults, which you can override: - `createdDate` is sorted in `DESC` order - `cursorPaging.limit` is `100` By default `pagingMetadata.cursors` are returned, unless you specifically pass `query.paging`. The maximum for `cursorPaging.limit` is `100`. If you pass a cursor token that you have received in a previous Query Package response, passing additional sort or filter information results in an invalid cursor error. Since the received cursor token already holds all the needed information for sort and filter. Changing the sort and filter properties during the span of a cursor query isn't supported. But you can provide a different limit. To learn about working with _Query_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection). > **Important**: This call requires an account level API key and cannot be > authenticated with the standard authorization header. # 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: query | type: PackagesQuery | required: true - 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: 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. - name: packages | type: array | description: Retrieved packages. Max: 1000 packages - name: _id | type: string | description: Package GUID. - name: accountId | type: string | description: Wix account GUID. See [Account Level APIs](https://dev.wix.com/docs/rest/account-level/about-account-level-apis.md) for more details. - name: externalId | type: string | description: External reference. For example, an external subscription GUID. This field isn't validated by Wix. Max: 100 characters - name: productInstances | type: array | description: Product instances that are included in the package. Min: 1 product instance Max: 1000 product instances - ONE-OF: - name: billingInfo | type: Cycle | description: Billing information for the contract between the reseller and Wix. - name: type | type: CycleDescriptorType | description: Payment type. - enum: - ONE_TIME: The reseller pays Wix in a single payment. - RECURRING: The reseller pays Wix on a recurring schedule. - name: cycleDuration | type: Interval | description: Duration of the billing cycle. Available only for `RECURRING` payments. - name: unit | type: IntervalUnit | description: Unit of the billing cycle. - enum: - DAY: Day - WEEK: Week - MONTH: Month - YEAR: Year - name: count | type: integer | description: Count of units that make up the billing cycle. - name: instanceId | type: string | description: GUID of the instance of the resold Wix service. **Note:** Differs from the `catalogProductId`. Allows you to identify different instances of the same product in a package. - name: siteId | type: string | description: GUID of the Wix site that the product instance is assigned to. See the [Query Sites API](https://dev.wix.com/api/rest/account-level-apis/sites/query-sites) for more information. - name: catalogProductId | type: string | description: Product GUID, as defined in the Wix Premium Product Catalog. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more details about available Wix services. - name: status | type: Status | description: Status of the product instance. - enum: - PENDING: The product instance isn't yet available to the customer. - ENABLED: The customer can use the product instance. - CANCELED: The product instance isn't any longer available to the customer. - FAILED: The product instance couldn't be delivered successfully and has never been available to the customer. - AWAITING_ACTION: The product instance isn't yet available to the customer, because an external provider or the customer must take an action. - name: failure | type: FailureReason | description: Failure object. Only present for status `FAILED`. Describes why the product instance `FAILED`. - name: code | type: FailureReasonCode | description: Failure code. - enum: - DELIVERY_TIMEOUT: The product instance couldn't be created because the Resellers API timed out. - EXTERNAL_FAILURE: The product instance couldn't be created because an external process failed. - name: message | type: string | description: Failure message. - name: _createdDate | type: Date | description: Date and time the product instance was created. - name: _updatedDate | type: Date | description: Date and time the product instance was last updated. - name: countryCode | type: string | description: Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. Specifies where customers can claim vouchers that may come with the product. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) to get more information about vouchers and supported locations. - name: expirationDate | type: Date | description: Date and time the product instance expires in `YYYY-MM-DDThh:mm:ss.sssZ` format. Used only for instances that don't auto renew at the end of the current billing cycle. - name: discountCode | type: string | description: Discount code indicating that the reseller provisioned the product instance during a sale. Wix doesn't guarantee that a discount code reduces the price between Wix and the reseller, even when it's valid. Contact the [Wix B2B sales team](mailto:bizdev@wix.com) for more information. Max: 25 characters - name: referenceProductInstanceId | type: string | description: GUID of a different product instance that you can use to offer your customers time-limited free access to an additional product or service. For example, Wix offers a 1-year free domain registration to all customers who purchase a Premium plan. The referenced product instance must have either status `"PENDING"` or `"ACTIVE"`. You can use each product instance only a single time as reference instance. - name: _createdDate | type: Date | description: Date and time the package was created. - name: _updatedDate | type: Date | description: Date and time the package was last updated. ``` ### Examples ### Query packages with an API key ```javascript import { createClient, ApiKeyStrategy } from "@wix/sdk"; import { packages } from "@wix/packages"; const wixClient = createClient({ modules: { packages }, auth: ApiKeyStrategy({ apiKey: "MY-API-KEY", }), }); async function queryPackages() { const { items } = await packages.queryPackages().find(); } ``` ### queryPackages (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 { packages } from '@wix/packages'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { packages }, // Include the auth strategy and host as relevant }); async function queryPackages(query) { const response = await myWixClient.packages.queryPackages(query); }; ``` ---