> ## Documentation Index
> Fetch the complete documentation index at: https://docs.creptapay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Plan

Create a subscription plan — the price, how often it bills, and how long a late
payer has to catch up.

## Request authentication

This endpoint requires a **Secret Key** (`sk_...`) passed in either the
`x-api-key` header or as a Bearer token in the `Authorization` header.

## Request parameters

<ResponseField name="name" type="string" required>
  What customers see on the plan, for example `Pro monthly`.
</ResponseField>

<ResponseField name="amount" type="number" required>
  The price per billing period, in `currency`.
</ResponseField>

<ResponseField name="interval" type="string" required>
  How often the plan bills: `day`, `week`, `month` or `year`.
</ResponseField>

<ResponseField name="currency" type="string" default="USD">
  The fiat currency the plan is priced in. Customers pay the stablecoin
  equivalent.
</ResponseField>

<ResponseField name="interval_count" type="integer" default="1">
  Bill every N intervals. `3` with `month` is quarterly.
</ResponseField>

<ResponseField name="trial_days" type="integer" default="0">
  A free trial before the first charge.
</ResponseField>

<ResponseField name="grace_days" type="integer" default="7">
  Days after a period ends that a subscriber can still pay before the
  subscription expires. Between `0` and `30`.
</ResponseField>

<ResponseField name="collection_mode" type="string" default="invoice">
  `invoice` sends a pay link each cycle. `auto_debit` pulls on-chain from an
  approved allowance. `both` lets the subscriber choose.
</ResponseField>

<ResponseField name="description" type="string">
  What subscribers get on this plan.
</ResponseField>

<ResponseField name="metadata" type="object">
  Any key-value data you want stored alongside the plan.
</ResponseField>
