---
title: "List products"
method: GET
path: "/v1/sdk/products"
tags: ["Products"]
---

# List products

`GET /v1/sdk/products`

Retrieves a paginated list of products for the authenticated provider. Supports filtering by status, search term, and no-code MCP integration flag.

## Query parameters

- `limit` number
- `offset` number
- `search` string
- `status` 'active' | 'inactive'
- `isMcpPay` boolean

## Response `200`

Products retrieved successfully

- object
  - `limit` number — Applied page size (clamped to 1-100)
  - `offset` number — Applied pagination offset
  - `products` SdkProductResponse[]
    - `balance` number, required — Product balance in cents
    - `config` ProductConfigDto
      - `deliveryMethod` string — Delivery method
      - `fulfillmentType` string — Fulfillment type
      - `validityPeriod` number — Validity period in days
    - `createdAt` string, required — Creation timestamp
    - `description` string — Product description
    - `imageUrl` string — URL to the product image
    - `isMcpPay` boolean, required — Whether this product uses the no-code MCP integration (SolvaPay reverse proxy)
    - `mcp` object — MCP linkage details for MCP-enabled products
    - `metadata` object — Arbitrary key-value metadata
    - `name` string, required — Product name
    - `plans` SdkPlanResponse[] — Plans associated with this product
      - `billingCycle` string — Billing cycle
      - `billingModel` string — Billing model
      - `createdAt` string, required — Creation timestamp
      - `creditsPerUnit` number — Credits per usage unit (integer, >= 1)
      - `currency` string, required — Currency code (ISO 4217)
      - `currencySymbol` string — Currency symbol
      - `features` object — Plan features
      - `freeUnits` number — Included free units
      - `hidden` boolean, required — Whether the plan is hidden from the customer-facing catalog. Enterprise plans (true) do not appear in checkout or the SDK catalog and can only be granted via direct assignment.
      - `isActive` boolean, required — Whether the plan is active
      - `limit` number — Usage limit for the meter
      - `limits` object — Usage limits
      - `measures` string — What the plan measures for usage tracking
      - `meterRef` string — Meter reference for usage-based limits
      - `price` number, required — Plan price in cents
      - `reference` string, required — Plan reference
      - `requiresPayment` boolean, required — Whether payment is required
      - `rolloverUnusedUnits` boolean — Whether unused units roll over to next period
      - `setupFee` number — One-time setup fee
      - `status` string, required — Plan status
      - `trialDays` number — Free trial period in days
      - `updatedAt` string, required — Last update timestamp
    - `productType` string — Free-form product type
    - `reference` string, required — Product reference
    - `status` string, required — Product status
    - `totalTransactions` number, required — Total number of transactions
    - `updatedAt` string, required — Last update timestamp
  - `total` number — Total number of products matching the filters

---

[API](https://skmtc.net/solvapay/apis/solvapay-rest-api.md) · [All operations](https://skmtc.net/solvapay/apis/solvapay-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solvapay/solvapay-rest-api/versions/bbc2ff2bc849/schema)
