---
title: "Create a subscription plan."
method: POST
path: "/subscription-plans"
tags: ["Subscription Plan"]
---

# Create a subscription plan.

`POST /subscription-plans`

This endpoint enables the creation of a subscription plan for recurring billing. Once a plan is created, customers can subscribe to it.

## Headers

- `X-Amzn-Trace-Id` string

## Request body

- SubscriptionPlanRequestObject
  - `name` string — Optional. commercial name of the plan.
  - `reference` string — Optional. subscription plan reference.
  - `amount` number, double, required — recurrent amount to charge for the plan
  - `currency` string, required — currency associated to the amount.
  - `nbrInstallments` integer — Required. number of installments. If there is no limit, ignore it,
  - `installmentIntervalDays` integer — Number of days between two installments. Defaults to 30 if not specified.
  - `customerMessage` string — Message intended to customer for installment payment. The message is sent to the customer with the payment link at every occurence. Do no add customer name or grettings in the message.

## Response `201`

The subscription plan is created successfully

- SubscriptionPlanResponseObject
  - `id` string, uuid — Unique Identifier of the Subscription Plan Response object
  - `name` string — Optional. commercial name of the plan.
  - `reference` string — Optional. subscription plan reference.
  - `amount` number, double, required — recurrent amount to charge for the plan
  - `currency` string, required — currency associated to the amount.
  - `nbrInstallments` integer — Required. number of installments. If there is no limit, ignore it,
  - `installmentIntervalDays` integer — Number of days between two installments. Defaults to 30 if not specified.
  - `customerMessage` string — Message intended to customer for installment payment. The message is sent to the customer with the payment link at every occurence. Do no add customer name or grettings in the message.
  - `createdAt` string — The merchant entity registration timestamp in our platform in ISO 8601 (YYYY-mm-dd HH:mm:ss,SSSS)
  - `updatedAt` string — updated timestamp in our platform in ISO 8601 (YYYY-mm-dd HH:mm:ss,SSSS)

## Other responses

- `400` — Bad Request
- `401` — The caller is not authenticated
- `403` — Access rights not sufficient
- `500` — Internal Server Error.

---

[API](https://skmtc.dev/bictorys/apis/pay.md) · [All operations](https://skmtc.dev/bictorys/apis/pay/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bictorys/pay/revisions/b85cce14340b/schema)
