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

# Stream 3 — Sell-through

> Per-sale commission events — sale amount, commission, status — projected from CommissionEventV2.

<Note>**BETA.** The sell-through stream projects per-sale commission events from `CommissionEventV2`. Each row is one sale, not a daily rollup — aggregate client-side over the window you care about.</Note>

The **sell-through stream** emits one row per sale (commission event) for the merchant: the
product, order, agent, sale amount, commission amount, and status. The lending underwriter
consumes a trailing window of these as the cash-flow / velocity signal; the affiliate program
builder consumes the same rows to drive payout and tiering.

## Endpoint

```
GET /v1/api/inventory-os/streams/sell-through
```

**Query parameters:**

| Param    | Type     | Notes                                               |
| -------- | -------- | --------------------------------------------------- |
| `limit`  | int      | 1–200, default 50                                   |
| `cursor` | string   | Opaque pagination token                             |
| `since`  | ISO-8601 | Optional; events created on or after this timestamp |

## Row shape

```json theme={null}
{
  "id": "665fcomm123…",
  "productId": "665f8abc123…",
  "orderId": "665ford123…",
  "agentId": "665fagt123…",
  "saleAmountUsd": 99.0,
  "commissionAmountUsd": 9.9,
  "status": "CONFIRMED",
  "createdAt": "2026-06-01T12:00:00.000Z"
}
```

| Field                               | Meaning                                                          |
| ----------------------------------- | ---------------------------------------------------------------- |
| `id`                                | `CommissionEventV2` id; pagination cursor advances on this field |
| `productId` / `orderId` / `agentId` | Join keys to product, order, and affiliate agent                 |
| `saleAmountUsd`                     | Sale value in USD                                                |
| `commissionAmountUsd`               | Commission accrued on the sale, in USD                           |
| `status`                            | Commission event status                                          |

## Response envelope

```json theme={null}
{
  "streamType": "sell-through",
  "merchantId": "65df8abc123…",
  "data": [ /* rows */ ],
  "count": 50,
  "nextCursor": "NjY1ZmNvbW0xMjM..."
}
```

## curl

```bash theme={null}
curl "https://apiv3.droplinked.com/v1/api/inventory-os/streams/sell-through?since=2026-03-01T00:00:00.000Z&limit=200" \
  -H "x-droplinked-api-key: REPLACE_ME"
```

## Lender-facing usage

Aggregate `saleAmountUsd` over a trailing window (e.g. 90 days) client-side to derive the
net-revenue / velocity signal. Combined with Stream 4 (return rate) and Stream 7 (settlement),
the underwriter derives an LGD input. Use `since` to pull only the new events since the last
sync.

## Rate limits

Mid-budget class — **500 reads/min/key**, up to **5 subscriptions/key**.

## Related

* [Return-rate stream](/developers/inventory-os-api/streams/return-rate) — refunded + cancelled orders
* [Settlement stream](/developers/inventory-os-api/streams/settlement) — order payment + financial detail
* [Webhook subscriptions](/developers/inventory-os-api/subscriptions) — `sell-through.changed` events
