Products API CRUD

Manage products directly via Core API instead of relying only on Dashboard UI.

Create product

{
  "name": "Pro Monthly",
  "description": "Recurring access to premium feature set",
  "price": 49.99,
  "currency": "USD",
  "active": true,
  "successUrl": "https://merchant.example.com/pay/success",
  "cancelUrl": "https://merchant.example.com/pay/cancel",
  "productType": "subscription",
  "billingType": "recurring",
  "interval": "month"
}

List products

GET /v1/products?limit=20&offset=0&active=true&search=pro&sortBy=createdAt&sortDir=desc

Get one product

GET /v1/products/{id}

Update product

PUT /v1/products/{id}
{
  "name": "Pro Monthly Updated",
  "price": 59.99,
  "active": true
}

Delete product

DELETE /v1/products/{id}

Returns 409 when licenses or customer subscriptions are still linked to the product.

Response shape

{
  "id": "prod_8c9a1d74",
  "userId": "user_123",
  "name": "Pro Monthly",
  "description": "Recurring access to premium feature set",
  "price": 49.99,
  "currency": "USD",
  "active": true,
  "successUrl": "https://merchant.example.com/pay/success",
  "cancelUrl": "https://merchant.example.com/pay/cancel",
  "productType": "subscription",
  "billingType": "recurring",
  "interval": "month",
  "createdAt": "2026-05-11T07:00:00.000Z",
  "updatedAt": "2026-05-11T07:00:00.000Z"
}