Easy Labs
APIBillingSubscription plan

Create a subscription plan (legacy compatibility)

Legacy compatibility endpoint for legacy Finix plan APIs. New integrations should use product-first price creation (`/v1/api/product-prices`) plus subscription item setup.

POST
/v1/api/subscription-plans/
x-easy-api-key<token>

Merchant API key. Publishable keys (pk_test_* / pk_live_) are safe for browser/frontend use and carry a limited scope set (sessions, payment_instruments, customers, orders writes; products, product_prices, payment_links reads). Secret keys (sk_test_ / sk_live_*) grant full admin access and must only be used server-side.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v1/api/subscription-plans/" \  -H "Content-Type: application/json" \  -d '{    "plan_name": "Premium Monthly",    "amount": 2999,    "currency": "USD",    "billing_interval": "MONTHLY",    "description": "Monthly premium subscription"  }'
{
  "success": true,
  "timestamp": "2026-02-06T12:00:00.000Z",
  "message": "Subscription plan created",
  "data": {
    "id": "SPxxxxxxxxxxxxxxxxxx",
    "name": "Premium Monthly",
    "amount": 2999,
    "currency": "USD",
    "billing_interval": "MONTHLY",
    "billing_interval_count": 1,
    "trial_period_days": 14,
    "created_at": "2026-02-06T12:00:00.000Z"
  }
}
{
  "success": false,
  "timestamp": "2019-08-24T14:15:22Z",
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}
{
  "success": false,
  "timestamp": "2019-08-24T14:15:22Z",
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}
{
  "success": false,
  "timestamp": "2019-08-24T14:15:22Z",
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}