> 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

# QueryPremiumPayouts

# Package: earnings

# Namespace: RevSharePremiumPayouts

# Method link: https://dev.wix.com/docs/api-reference/account-level/studio-workspace/earnings/premium-payout-v1/query-premium-payouts.md

## Permission Scopes:
SCOPE.PARTNERS.REVSHARE: SCOPE.PARTNERS.REVSHARE

## Introduction

Retrieves a list of up to 100 premium payouts, given the provided paging, filtering, and sorting.


Query Premium Payouts runs with these defaults, which you can override:

- `createdDate` is sorted in `DESC` order
- `paging.limit` is `100`
- `paging.offset` is `0`

To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language.md), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging.md), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection.md).

---

## REST API

### Schema

```
 Method: queryPremiumPayouts
 Description: Retrieves a list of up to 100 premium payouts, given the provided paging, filtering, and sorting.   Query Premium Payouts runs with these defaults, which you can override:  - `createdDate` is sorted in `DESC` order - `paging.limit` is `100` - `paging.offset` is `0`  To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language.md), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging.md), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection.md).
 URL: https://www.wixapis.com/partners/revshare/v1/premium-payouts/query
 Method: POST
 Method parameters:
   param name: query | type: CursorQuery    
     - 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: Number of items to load.  | validation: minimum 0, maximum 100, format int32
        - name: cursor | type: string | description: Pointer to the next or previous page in the list of results.  You can get 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 in the following format: `"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }` Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`  
        - name: sort | type: array<Sorting> | description: Sort object in the following format: `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`  
           - name: fieldName | type: string | description: Name of the field to sort by.  
           - name: order | type: SortOrder | description: Sort order.  
                 - enum: ASC, DESC
 Query fields:
   - field: id | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: createdDate | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: transactionDate | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: transactionAmount | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: amount | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: paymentRevenueSharePercent | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: status | operators: $eq, $ne, $in, $exists | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: premiumProductId | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
 Return type: QueryPremiumPayoutsResponse
  - name: premiumPayouts | type: array<PremiumPayout> | description: Retrieved premium payouts.  
     - name: id | type: string | description: Payout GUID.  | read-only: true | validation: format GUID
     - name: revision | type: string | description: Revision number, which increments by 1 each time the PremiumPayout is updated. To prevent conflicting changes, the current revision must be passed when updating the PremiumPayout.  | read-only: true | validation: format int64
     - name: createdDate | type: string | description: Date and time the payout record was created in Wix's systems. This is when Wix recorded the earning, not when the subscription was charged. For the charge date, use `transactionDate`.  | read-only: true | validation: format date-time
     - name: updatedDate | type: string | description: Date and time the payout record was last updated, for example when its `status` was resolved. Not the date of the subscription charge. For the charge date, use `transactionDate`.  | read-only: true | validation: format date-time
     - name: premiumProductId | type: string | description: GUID of the premium product that the payout relates to. The Wix Studio dashboard displays the product's plan name instead of this GUID. For the plan family, use `premiumPlanType`.  | validation: minLength 1, maxLength 50
     - name: premiumPlanType | type: PremiumPlanType | description: Type of premium plan the payout was earned on. Derived automatically by Wix from the subscription's billing product.  
         - enum:
         -     STUDIO: Wix Studio plan.
         -     WIX_COM: Standard Wix.com premium plan.
         -     BRANDED_APP: Branded App plan (a native mobile app built for the partner's client).
         -     EMAIL_MARKETING: Email Marketing plan.
         -     LOGO: Logo Maker plan.
         -     HOPP: Hopp plan (Wix's link-in-bio product).
         -     GOOGLE_FACEBOOK_ADS: Google and Facebook Ads plan.
         -     BUSINESS_EMAIL: Business Email plan (a professional mailbox).
         -     POS: Point of Sale (POS) plan.
         -     ENTERPRISE: Enterprise plan.
         -     SOCIAL_MARKETING: Social Marketing plan.
     - name: metaSiteId | type: string | description: GUID of the meta site (the Wix site) that the partner receives this payout for. The Wix Studio dashboard displays the site's name and domain instead of this GUID.  | validation: format GUID
     - name: siteName | type: string | description: Name of the site (`metaSiteId`) that the partner receives this payout for, as it appeared when the payout was created. A snapshot of a past state, so it doesn't follow later renames of the site, and it's truncated to 200 UTF-16 code units, so a name using emoji or a non-Latin script can be cut shorter than 200 visible characters. The cut never splits a surrogate pair, but it can split a longer sequence such as an emoji built from several joined characters. Best effort - it may be empty, and it's always empty on payouts created before Wix started capturing it. Query Premium Payouts can't filter or sort on it, so use `metaSiteId` as the stable key.  | read-only: true | validation: maxLength 200
     - name: status | type: Status | description: Status of the payout. Approval is decided around the subscription's trial end date, within a 14-day window by default. PENDING - Awaiting approval. Shown as `Estimated` in the Wix Studio dashboard. APPROVED - Eligible to be invoiced. Set when the subscription is still active at approval time. Shown as `Paid` in the Wix Studio dashboard. REJECTED - Won't be paid. Set when the subscription is no longer active at approval time. Shown as `Cancelled` in the Wix Studio dashboard, and excluded from the dashboard's earnings total.  
         - enum:
         -     PENDING: Awaiting approval. Shown as `Estimated` in the Wix Studio dashboard.
         -     APPROVED: Eligible to be invoiced. Shown as `Paid` in the Wix Studio dashboard.
         -     REJECTED: Won't be paid. Shown as `Cancelled` in the Wix Studio dashboard, and excluded from its earnings total.
     - name: transactionAmount | type: number | description: Subscription charge the payout was calculated from, in USD. This is what the client paid Wix for the subscription, not what the partner earned - see `amount`.  The Wix Studio dashboard doesn't display this value. For a regular payout it can be derived from the earning and the rate: `transactionAmount` = `amount` / (`paymentRevenueSharePercent` / 100). The derivation doesn't hold when `negative` is `true` - a reversal carries a negative `amount` but keeps the original positive charge in `transactionAmount`.  | validation: format double
     - name: amount | type: number | description: Amount earned by the partner for this payout, in USD.  | validation: format double
     - name: negative | type: boolean | description: Whether this is a cancellation or refund payout. When `true`, the payout carries a negative `amount` that offsets a previous earning. Negative payouts are returned by queries like any other payout, and count toward totals, so don't filter them out when summing.  
     - name: paymentRevenueSharePercent | type: number | description: Fractional revenue-share percent applied to `transactionAmount` to calculate `amount`. For example, `0.05` means 0.05%. The earned amount is `transactionAmount` * `paymentRevenueSharePercent` / 100.  | validation: minimum 1, maximum 100, format double
     - name: transactionDate | type: string | description: Date of the subscription transaction that this payout was earned on.  | validation: format date-time
     - name: invoiceId | type: string | description: GUID of the partner payout invoice this payout was included in, once invoiced. Empty until the payout is invoiced. This is the partner's own payout invoice, not the invoice the client was charged on for the subscription.  This is the reference code of the partner's invoice. To resolve it, query the Materialized Invoices API for the materialized invoice whose `invoicesRefCodes` contains this value, and read that invoice's `status` to see whether it was paid.  | validation: maxLength 50
  - name: pagingMetadata | type: CursorPagingMetadata | description: Paging metadata.  
     - name: count | type: integer | description: Number of items returned in the response.  | validation: format int32
     - name: cursors | type: Cursors | description: Offset that was requested.  
        - name: next | type: string | description: Cursor pointing to next page in the list of results.  
        - name: prev | type: string | description: Cursor pointing to previous page in the list of results.  
     - name: hasNext | type: boolean | description: Indicates if there are more results after the current page. If `true`, another page of results can be retrieved. If `false`, this is the last page.  


```

### Examples

### Query Premium Payouts
Queries a partner's premium revenue-share payouts for a month, sorted by transaction date.

```curl
curl -X POST \
  'https://www.wixapis.com/v1/premium-payouts/query' \
  -H 'Authorization: <AUTH>' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": {
      "filter": {
        "transactionDate": {
          "$gte": "2026-03-01T00:00:00.000Z",
          "$lt": "2026-04-01T00:00:00.000Z"
        }
      },
      "sort": [
        { "fieldName": "transactionDate", "order": "ASC" }
      ],
      "cursorPaging": { "limit": 100 }
    }
  }'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.revsharePremiumPayouts.revsharePremiumPayouts.queryPremiumPayouts(query)
 Description: Retrieves a list of up to 100 premium payouts, given the provided paging, filtering, and sorting.   Query Premium Payouts runs with these defaults, which you can override:  - `createdDate` is sorted in `DESC` order - `paging.limit` is `100` - `paging.offset` is `0`  To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language.md), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging.md), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection.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: query | type: PremiumPayoutQuery   | 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: Number of items to load.  | validation: minimum 0, maximum 100, format int32
        - name: cursor | type: string | description: Pointer to the next or previous page in the list of results.  You can get 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 in the following format: `"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }` Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`  
        - name: sort | type: array<Sorting> | description: Sort object in the following format: `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`  
           - name: fieldName | type: string | description: Name of the field to sort by.  
           - name: order | type: SortOrder | description: Sort order.  
                 - enum: ASC, DESC
 Query fields:
   - field: _id | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: _createdDate | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: transactionDate | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: transactionAmount | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: amount | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: paymentRevenueSharePercent | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: status | operators: $eq, $ne, $in, $exists | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
   - field: premiumProductId | operators: $eq, $ne, $in, $exists, $gt, $gte, $lt, $lte, $startsWith | sort: ASC, DESC | aggregatable: undefined | searchable: undefined
 Return type: PROMISE<QueryPremiumPayoutsResponse>
  - name: premiumPayouts | type: array<PremiumPayout> | description: Retrieved premium payouts.  
     - name: _id | type: string | description: Payout GUID.  | read-only: true | validation: format GUID
     - name: revision | type: string | description: Revision number, which increments by 1 each time the PremiumPayout is updated. To prevent conflicting changes, the current revision must be passed when updating the PremiumPayout.  | read-only: true | validation: format int64
     - name: _createdDate | type: Date | description: Date and time the payout record was created in Wix's systems. This is when Wix recorded the earning, not when the subscription was charged. For the charge date, use `transactionDate`.  | read-only: true 
     - name: _updatedDate | type: Date | description: Date and time the payout record was last updated, for example when its `status` was resolved. Not the date of the subscription charge. For the charge date, use `transactionDate`.  | read-only: true 
     - name: premiumProductId | type: string | description: GUID of the premium product that the payout relates to. The Wix Studio dashboard displays the product's plan name instead of this GUID. For the plan family, use `premiumPlanType`.  | validation: minLength 1, maxLength 50
     - name: premiumPlanType | type: PremiumPlanType | description: Type of premium plan the payout was earned on. Derived automatically by Wix from the subscription's billing product.  
         - enum:
         -     STUDIO: Wix Studio plan.
         -     WIX_COM: Standard Wix.com premium plan.
         -     BRANDED_APP: Branded App plan (a native mobile app built for the partner's client).
         -     EMAIL_MARKETING: Email Marketing plan.
         -     LOGO: Logo Maker plan.
         -     HOPP: Hopp plan (Wix's link-in-bio product).
         -     GOOGLE_FACEBOOK_ADS: Google and Facebook Ads plan.
         -     BUSINESS_EMAIL: Business Email plan (a professional mailbox).
         -     POS: Point of Sale (POS) plan.
         -     ENTERPRISE: Enterprise plan.
         -     SOCIAL_MARKETING: Social Marketing plan.
     - name: metaSiteId | type: string | description: GUID of the meta site (the Wix site) that the partner receives this payout for. The Wix Studio dashboard displays the site's name and domain instead of this GUID.  | validation: format GUID
     - name: siteName | type: string | description: Name of the site (`metaSiteId`) that the partner receives this payout for, as it appeared when the payout was created. A snapshot of a past state, so it doesn't follow later renames of the site, and it's truncated to 200 UTF-16 code units, so a name using emoji or a non-Latin script can be cut shorter than 200 visible characters. The cut never splits a surrogate pair, but it can split a longer sequence such as an emoji built from several joined characters. Best effort - it may be empty, and it's always empty on payouts created before Wix started capturing it. Query Premium Payouts can't filter or sort on it, so use `metaSiteId` as the stable key.  | read-only: true | validation: maxLength 200
     - name: status | type: Status | description: Status of the payout. Approval is decided around the subscription's trial end date, within a 14-day window by default. PENDING - Awaiting approval. Shown as `Estimated` in the Wix Studio dashboard. APPROVED - Eligible to be invoiced. Set when the subscription is still active at approval time. Shown as `Paid` in the Wix Studio dashboard. REJECTED - Won't be paid. Set when the subscription is no longer active at approval time. Shown as `Cancelled` in the Wix Studio dashboard, and excluded from the dashboard's earnings total.  
         - enum:
         -     PENDING: Awaiting approval. Shown as `Estimated` in the Wix Studio dashboard.
         -     APPROVED: Eligible to be invoiced. Shown as `Paid` in the Wix Studio dashboard.
         -     REJECTED: Won't be paid. Shown as `Cancelled` in the Wix Studio dashboard, and excluded from its earnings total.
     - name: transactionAmount | type: number | description: Subscription charge the payout was calculated from, in USD. This is what the client paid Wix for the subscription, not what the partner earned - see `amount`.  The Wix Studio dashboard doesn't display this value. For a regular payout it can be derived from the earning and the rate: `transactionAmount` = `amount` / (`paymentRevenueSharePercent` / 100). The derivation doesn't hold when `negative` is `true` - a reversal carries a negative `amount` but keeps the original positive charge in `transactionAmount`.  
     - name: amount | type: number | description: Amount earned by the partner for this payout, in USD.  
     - name: negative | type: boolean | description: Whether this is a cancellation or refund payout. When `true`, the payout carries a negative `amount` that offsets a previous earning. Negative payouts are returned by queries like any other payout, and count toward totals, so don't filter them out when summing.  
     - name: paymentRevenueSharePercent | type: number | description: Fractional revenue-share percent applied to `transactionAmount` to calculate `amount`. For example, `0.05` means 0.05%. The earned amount is `transactionAmount` * `paymentRevenueSharePercent` / 100.  | validation: minimum 1, maximum 100
     - name: transactionDate | type: Date | description: Date of the subscription transaction that this payout was earned on.  
     - name: invoiceId | type: string | description: GUID of the partner payout invoice this payout was included in, once invoiced. Empty until the payout is invoiced. This is the partner's own payout invoice, not the invoice the client was charged on for the subscription.  This is the reference code of the partner's invoice. To resolve it, query the Materialized Invoices API for the materialized invoice whose `invoicesRefCodes` contains this value, and read that invoice's `status` to see whether it was paid.  | validation: maxLength 50
  - name: pagingMetadata | type: CursorPagingMetadata | description: Paging metadata.  
     - name: count | type: integer | description: Number of items returned in the response.  | validation: format int32
     - name: cursors | type: Cursors | description: Offset that was requested.  
        - name: next | type: string | description: Cursor pointing to next page in the list of results.  
        - name: prev | type: string | description: Cursor pointing to previous page in the list of results.  
     - name: hasNext | type: boolean | description: Indicates if there are more results after the current page. If `true`, another page of results can be retrieved. If `false`, this is the last page.  


```

### Examples

### Query Premium Payouts
Queries a partner's premium revenue-share payouts for a month, sorted by transaction date.

```javascript
import { wixPartnersRevshareV1PremiumPayout } from "@wix/dev";

const query = {
  filter: {
    transactionDate: {
      $gte: "2026-03-01T00:00:00.000Z",
      $lt: "2026-04-01T00:00:00.000Z",
    },
  },
  sort: [{ fieldName: "transactionDate", order: "ASC" }],
  cursorPaging: { limit: 100 },
};

async function queryPremiumPayouts() {
  const response = await wixPartnersRevshareV1PremiumPayout.queryPremiumPayouts(query);
}

/* Promise resolves to:
{
  "premiumPayouts": [
    {
      "_id": "3f29c1d4-7b8a-4e2f-9c11-5a6b7c8d9e01",
      "revision": "2",
      "_createdDate": "2026-03-04T08:12:45.120Z",
      "_updatedDate": "2026-03-18T00:00:00.000Z",
      "premiumProductId": "premium-business-vip",
      "premiumPlanType": "WIX_COM",
      "metaSiteId": "b2c3d4e5-f6a7-4890-8bcd-2345678901bc",
      "siteName": "Harborline Studio",
      "status": "APPROVED",
      "transactionAmount": 192.00,
      "amount": 28.80,
      "negative": false,
      "paymentRevenueSharePercent": 15.0,
      "transactionDate": "2026-03-04T00:00:00.000Z",
      "invoiceId": "REF-2026-03-001"
    },
    {
      "_id": "8e1f0a2b-4c3d-4e5f-9081-2a3b4c5d6e7f",
      "revision": "1",
      "_createdDate": "2026-03-21T10:45:02.880Z",
      "_updatedDate": "2026-03-21T10:45:02.880Z",
      "premiumProductId": "studio-pro",
      "premiumPlanType": "STUDIO",
      "metaSiteId": "c3d4e5f6-a7b8-4901-9cde-3456789012cd",
      "siteName": "Northgate Dental",
      "status": "PENDING",
      "transactionAmount": 240.00,
      "amount": 36.00,
      "negative": false,
      "paymentRevenueSharePercent": 15.0,
      "transactionDate": "2026-03-21T00:00:00.000Z"
    }
  ],
  "pagingMetadata": {
    "cursors": {},
    "hasNext": false
  }
}
*/

```

### queryPremiumPayouts (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 { revsharePremiumPayouts } from '@wix/revshare-premium-payouts';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { revsharePremiumPayouts },
  // Include the auth strategy and host as relevant
});


async function queryPremiumPayouts(query) {
  const response = await myWixClient.revsharePremiumPayouts.queryPremiumPayouts(query);
};
```

---