---
title: "Create a product"
method: POST
path: "/v1/sdk/products"
tags: ["Products"]
---

# Create a product

`POST /v1/sdk/products`

Creates a new product for the authenticated provider.

## Request body

- CreateProductRequest
  - `config` object
    - `deliveryMethod` string
    - `fulfillmentType` string
    - `validityPeriod` integer
  - `description` string
  - `imageUrl` string
  - `isManagedMcp` boolean
  - `isMcpPay` boolean
  - `metadata` object
  - `name` string, required
  - `productType` string
  - `taxBehavior` 'auto' | 'inclusive' | 'exclusive'

## Response `201`

Product created successfully

- 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
  - `isManagedMcp` boolean, required — Whether this product uses the Managed MCP integration (SolvaPay reverse proxy)
  - `isMcpPay` boolean, required — Deprecated alias of isManagedMcp. Prefer isManagedMcp; still emitted for wire compatibility.
  - `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
    - `createdAt` string, required — Creation timestamp
    - `currency` string, required — Currency code (ISO 4217)
    - `currencySymbol` string — Currency symbol
    - `description` string — Plan description
    - `features` object — Plan features
    - `isActive` boolean, required — Whether the plan is active
    - `name` string — Plan name
    - `options` object[], required — Composable pricing options (money as integer minor units)
    - `price` number — Derived headline price in minor units (base or one-time charge)
    - `reference` string, required — Plan reference
    - `requiresPayment` boolean, required — Whether payment is required
    - `status` string, required — Plan status
    - `type` 'recurring' | 'one-time' | 'usage-based' | 'hybrid', required — Derived plan type (read from options)
    - `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

## Other responses

- `400` — Missing required fields or validation error

## Changes

- **2026-08-14** `aeecbfb5cb3c` — 3 info
  - added the new optional request property `isManagedMcp`
  - response property `isMcpPay` deprecated
  - added the required property `isManagedMcp` to the response with the `201` status
- **2026-08-13** `e356f6586bf2` — 1 info
  - added the optional property `plans/items/description` to the response with the `201` status
- **2026-08-05** `032545ac8d13` — 2 breaking, 12 warning, 1 info
  - the response property `plans/items/price` became optional for the status `201`
  - removed the required property `plans/items/hidden` from the response with the `201` status
  - removed the optional property `plans/items/billingCycle` from the response with the `201` status
  - removed the optional property `plans/items/billingModel` from the response with the `201` status
  - …11 more
- **2026-07-30** `8578b7536a9f` — 5 info
  - the request property `config` became optional
  - the request property `metadata` became optional
  - added the optional property `plans/items/description` to the response with the `201` status
  - added the optional property `plans/items/name` to the response with the `201` status
  - …1 more
- …earlier changes not shown

[Full history](https://skmtc.dev/solvapay/apis/solvapay-rest-api/changes/v1/sdk/products/post.md)

---

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