> ## Documentation Index
> Fetch the complete documentation index at: https://dev.puppetvendors.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Pending Payouts

> List line items that are pending payout with offset pagination

<Note>
  **V2 Preview** — This endpoint is part of the V2 API preview. Breaking changes may occur.
</Note>

## Overview

Return a paginated list of line items that are pending payout for the authenticated vendor. Unlike the transactions endpoint, this uses **offset-based pagination** (limit/offset) instead of cursors.

### Use Cases

* **Pending earnings table** — Show vendors what they have earned but not yet been paid for
* **Payout preview** — Let vendors see what will be included in the next payout
* **Filtered views** — Show only refunded or adjusted line items separately

## Headers

<ParamField header="x-access-token" type="string" required>
  A valid vendor JWT. Requires `payouts:read` scope.
</ParamField>

## Query Parameters

<ParamField query="vendorId" type="string">
  Filter by vendor ID (24-character hex string). Defaults to the authenticated vendor.
</ParamField>

<ParamField query="dateMin" type="string">
  ISO 8601 lower bound on line item date.
</ParamField>

<ParamField query="dateMax" type="string">
  ISO 8601 upper bound on line item date.
</ParamField>

<ParamField query="search" type="string">
  Free-text search (max 200 characters). Searches order names, SKUs, and product titles.
</ParamField>

<ParamField query="lineItemType" type="string">
  Filter by type: `paid` · `refunded` · `adjustment`.
</ParamField>

<ParamField query="limit" type="integer">
  Number of records per page. Min `1`, max `500`. Defaults to `50`.
</ParamField>

<ParamField query="offset" type="integer">
  Number of records to skip. Min `0`. Defaults to `0`.
</ParamField>

## Response

```json 200 theme={null}
{
  "success": true,
  "data": {
    "items": [
      {
        "_id": "664a1b2c3d4e5f6a7b8c9d40",
        "orderId": "664a1b2c3d4e5f6a7b8c9d30",
        "orderName": "#1050",
        "productTitle": "Classic T-Shirt",
        "variantTitle": "Red / Medium",
        "sku": "TSH-RED-M",
        "quantity": 1,
        "type": "paid",
        "sales": 24.99,
        "commission": 3.75,
        "payout": 21.24,
        "createdAt": "2026-05-10T08:30:00Z"
      },
      {
        "_id": "664a1b2c3d4e5f6a7b8c9d41",
        "orderId": "664a1b2c3d4e5f6a7b8c9d32",
        "orderName": "#1048",
        "productTitle": "Premium Hoodie",
        "variantTitle": "Navy / Large",
        "sku": "HOD-NAV-L",
        "quantity": 1,
        "type": "refunded",
        "sales": -89.99,
        "commission": -13.50,
        "payout": -76.49,
        "createdAt": "2026-05-08T11:00:00Z"
      }
    ],
    "total": 42,
    "limit": 50,
    "offset": 0
  }
}
```

### Error Responses

```json 401 theme={null}
{ "success": false, "error": { "message": "Invalid or expired token" } }
```

```json 403 theme={null}
{ "success": false, "error": { "message": "Insufficient scope", "code": "FORBIDDEN" } }
```

## Example

```bash theme={null}
curl -X GET "https://staging-api.puppetvendors.com/payouts/pending?lineItemType=paid&limit=25&offset=0" \
  -H "x-access-token: YOUR_VENDOR_JWT"
```

### More Examples

**Filter refunded items**

```bash theme={null}
curl -X GET "https://staging-api.puppetvendors.com/payouts/pending?limit=50&lineItemType=refunded&dateMin=2026-05-01T00:00:00Z" \
  -H "x-access-token: YOUR_VENDOR_JWT"
```
