Prices

Clone Price

Create a copy of an existing price, optionally modifying fields like currency, planId, or pricingData. Useful for creating similar prices for different currencies or plans without manually recreating complex pricing configurations. The clonedFromPriceId field tracks the source price.

POST
/prices/clone/{priceId}

Authorization

bearerAuth
AuthorizationBearer <token>

Use your secret API key as the bearer token

In: header

Path Parameters

priceId*string

Source price ID to clone (must start with prc_)

Match^prc_[a-z0-9]+$

Request Body

application/json

planId?string

Assign cloned price to a different plan. If omitted, clones to the same plan.

Match^pln_[a-z0-9]+$
currency?string

Change currency for the cloned price. If omitted, uses the same currency as source.

pricingData?object

Override pricing configuration. If omitted, uses the same pricingData as source.

isOverridePrice?boolean

Set override flag. If omitted, uses the same value as source.

Response Body

application/json

application/json

application/json

curl -X POST "https://api.getlumen.dev/v1/prices/clone/prc_01hrwzqrz4ytkwv07syv8k7g3z" \  -H "Content-Type: application/json" \  -d '{    "planId": "pln_01hrx999different"  }'
{
  "price": {
    "id": "prc_01hrxnewclone",
    "planId": "pln_01hrx123",
    "merchantId": "mrc_01hptv3p6xj173pfv96pxd5pke",
    "currency": "EUR",
    "pricingData": {
      "type": "recurring",
      "interval": "month",
      "intervalCount": 1,
      "amountCents": 2999
    },
    "isOverridePrice": false,
    "clonedFromPriceId": "prc_01hrwzqrz4ytkwv07syv8k7g3z",
    "createdAt": "2025-02-20T17:30:00.000Z",
    "deletedAt": null
  }
}

{
  "error": "Source price not found or access denied"
}

{
  "error": "Failed to clone price"
}