# CreateSubscriptionRequest

> A schema in the One API reference. Source: https://hub.ozow.com/api-reference/one-api/schemas/create-subscription-request/

The details required to create a recurring payment subscription. The customer authorises an amount band (see `amountConstraints`) on the hosted page returned in `redirectUrl`; charges are taken on the schedule defined by `frequency`, `firstPaymentDate` and `occurrences`.

## Fields

- `siteCode` (string, required, max length 50) - The site code the subscription belongs to.
- `amount` (object, required) - The recurring charge amount. Must be `ZAR` and fall within the authorised band `[amountConstraints.min, amountConstraints.max]`.
- `amountConstraints` (object, required) - The per-payment authorisation band the customer approves.
- `payableNow` (object) - An optional once-off charge taken at sign-up. This charge is not bound by `amountConstraints`.
- `identity` (object) - An optional customer identifier used for matching. Treated as personal information: it is accepted on the request but is never returned on any response (POPIA data minimisation).
  - `type` (string, required, one of "said", "passport", "registration", "cellphone") - The type of identification for the customer.
  - `country` (string, required, min length 2, max length 2) - The ISO 3166 alpha-2 code for the country of identification.
  - `identifier` (string, required, max length 20) - The identifier value for the given identity type.
- `description` (string, required, max length 20) - A short description of the subscription.
- `merchantReference` (string, required, max length 50, pattern ^\S+$) - Your unique reference for the subscription. Must not contain spaces.
- `bankReference` (string, required, max length 20, pattern ^[a-zA-Z0-9]+$) - The reference that appears on the merchant's bank statement for each payment in the subscription. Letters and numbers only. A site prefix, where one is configured, counts towards the 20 characters.
- `frequency` (string, required, one of "Daily", "Weekly", "Fortnightly", "Monthly", "Biannually", "Annually") - The billing cadence of a subscription.
- `firstPaymentDate` (string, date, required) - The date of the first scheduled charge. Must be today or a future date.
- `occurrences` (integer, required, min 1, max 120) - The total number of scheduled charges over the life of the subscription.
- `paymentMethod` (string, one of "capitec") - Optional. The payment method (rail) used to collect charges. Defaults to `capitec` when omitted, which is currently the only supported method. Not returned on responses.
