# replenishment_listOfferMetrics (https://sellersheetai.com/docs/mcp-api/tools/replenishment_listOfferMetrics)

> List Subscribe & Save replenishment metrics per offer (ASIN/SKU).

Access: **READ** · toolset amazon_sp · family sp.replenishment-2022-11-07

Amazon SP-API · listOfferMetrics · POST /replenishment/2022-11-07/offers/metrics/search Drill into per-offer performance (and forecast) to see which products carry the program. Pass the filters as flat arguments; the server nests them under Amazon's filters and fills marketplaceId, programTypes and (when omitted) timePeriodType=PERFORMANCE.

## Call it

MCP tool call:

```json
{
  "name": "replenishment_listOfferMetrics",
  "arguments": {
    "store": "myStore-US",
    "timeInterval": {}
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/replenishment_listOfferMetrics \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","timeInterval":{}}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `store` | string | yes | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
| `timeInterval` | object | yes | {startDate, endDate}, ISO 8601 datetimes with timezone, e.g. {"startDate": "2026-04-01T00:00:00Z", "endDate": "2026-04-15T00:00:00Z"}. |
| `timePeriodType` | string |  | PERFORMANCE (historical; the default when omitted) or FORECAST (fills the next30/60/90Day* fields). |
| `aggregationFrequency` | string |  | optional row grouping, PERFORMANCE only — omit it with FORECAST. |
| `programTypes` | object[] |  | omit — SUBSCRIBE_AND_SAVE, the only value, is sent for you. |
| `asins` | object[] |  | Filter by ASIN list. maxItems 20. |
| `skus` | object[] |  | Filter by SKU list (sellers only). maxItems 20. |
| `fulfillmentChannelTypes` | object[] |  | Filter list (sellers only), at most 2 values. |
| `brandNames` | object[] |  | Filter list (US marketplace only). maxItems 20. |
| `productGroups` | object[] |  | Filter list (vendors only). maxItems 20. |
| `sort` | object |  | Optional {"order": ASC or DESC, "key": one of the sort keys the Body block lists}. |
| `pageSize` | integer |  | Results per page → pagination.limit. 1-500; default 20. |
| `offset` | integer |  | Pagination offset → pagination.offset. 0-9000; default 0. |
| `marketplaceId` | string |  | optional Amazon marketplaceId; defaults to the store ref's marketplace. |

## Result

- `data.result.offers[]` — per-offer metrics (asin, sku, fulfillmentChannelType, brandName, productGroup, activeSubscriptions, totalSubscriptionsRevenue, shippedSubscriptionUnits, notDeliveredDueToOOS, revenuePenetration, next30/60/90DayTotalSubscriptionsRevenue, next30/60/90DayShippedSubscriptionUnits, timeInterval, currencyCode, ...).
- `data.result.pagination.totalResults` — total matching offers (for paging).

## Body (Amazon schema)

- pagination*: {limit* (1–500), offset* (0–9000)} sort: {order*: ASC | DESC, key*} sort.key: SHIPPED_SUBSCRIPTION_UNITS | TOTAL_SUBSCRIPTIONS_REVENUE | ACTIVE_SUBSCRIPTIONS | NEXT_90DAYS_SHIPPED_SUBSCRIPTION_UNITS | NEXT_60DAYS_SHIPPED_SUBSCRIPTION_UNITS | NEXT_30DAYS_SHIPPED_SUBSCRIPTION_UNITS | NEXT_90DAYS_TOTAL_SUBSCRIPTIONS_REVENUE | NEXT_60DAYS_TOTAL_SUBSCRIPTIONS_REVENUE | NEXT_30DAYS_TOTAL_SUBSCRIPTIONS_REVENUE filters*: {aggregationFrequency: DAY | WEEK | MONTH | QUARTER | YEAR, timeInterval*: {startDate*, endDate*}, timePeriodType*: PERFORMANCE | FORECAST, marketplaceId*, programTypes*: [SUBSCRIBE_AND_SAVE] (min 1), asins: [string] (1–20), skus: [string] (1–20), fulfillmentChannelTypes: [AMAZON | MERCHANT] (1–2), brandNames: [string] (1–20), productGroups: [string] (1–20)}