---
title: "Create a new plan"
method: POST
path: "/api/plans"
tags: ["Plans"]
---

# Create a new plan

`POST /api/plans`

Create a billing plan with a unique code. Optionally include prices for different currencies. Plans can have MONTHLY, QUARTERLY, or YEARLY billing intervals.

## Request body

- CreatePlanDto
  - `name` string, required
  - `code` string, required — Unique plan code (lowercase, underscores)
  - `description` string
  - `billingInterval` 'HOURLY' | 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'YEARLY', required
  - `billingTiming` 'IN_ADVANCE' | 'IN_ARREARS' — When to charge: IN_ADVANCE (at period start) or IN_ARREARS (at period end). Defaults to IN_ARREARS.
  - `features` string[]
  - `prices` CreatePlanPriceDto[]
    - `currency` string, required — ISO currency code
    - `amount` number, required — Price amount
  - `netPaymentTerms` number — Net payment terms in days (overrides org default)
  - `invoiceGracePeriodDays` number — Grace period in days before draft invoices are finalized
  - `progressiveBillingThreshold` number — Usage cost threshold for mid-cycle progressive billing invoices

## Response `201`

Plan created

- PlanResponse
  - `id` string, required
  - `name` string, required
  - `code` string, required
  - `description` string
  - `billingInterval` 'HOURLY' | 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'YEARLY', required
  - `features` string[]
  - `isActive` boolean, required
  - `billingTiming` 'IN_ADVANCE' | 'IN_ARREARS', required
  - `minimumCommitment` string — Minimum commitment amount
  - `prices` PlanPriceResponse[], required
    - `id` string, required
    - `planId` string, required
    - `currency` string, required
    - `amount` string, required — Decimal amount as string
    - `isActive` boolean, required
    - `createdAt` string, required
    - `updatedAt` string, required
  - `createdAt` string, required
  - `updatedAt` string, required

## Other responses

- `409` — Plan with this code already exists

---

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