# CreateRecurringBillingSubscriptionInput

Input · GraphQL API

Top-level input fields for creating a subscription.

## Fields

- `clientMutationId` (`String`): An identifier used to reconcile requests and responses. 255 characters maximum.
- `planId` (`ID!`) — required: Required. The plan identifier.
- `paymentMethodId` (`ID!`) — required: The payment method to use for this subscription. Accepts single-use or vaulted payment methods.
- `merchantAccountId` (`ID`): The merchant account ID used to create the subscription's transactions. Currency is determined by merchant account ID and must match the plan's currency.
- `descriptor` (`RecurringBillingSubscriptionDescriptorInput`): The descriptor for bank statements.
- `price` (`Amount`): The base price for the subscription. Must be a positive value (e.g., 10 or 10.00). Overrides the plan's price regardless of billing frequency. Currency is determined by the merchant account.
- `numberOfBillingCycles` (`Int`): The number of times the billing cycle will be executed. Set to 0 to indicate the subscription never expires (bills indefinitely). Valid range: 0-999.
- `options` (`RecurringBillingSubscriptionOptionsInput`): Controls when the subscription starts billing. Only one option may be provided. If omitted, the plan's default settings are used.
- `payPalDescription` (`String`): The description displayed to customers in PayPal email receipts. 127 character maximum.
- `modifications` (`RecurringBillingSubscriptionModificationInput`): How to apply add-on and discount modifications. If omitted, the plan's add-ons and discounts are inherited.

## Used by

- [createRecurringBillingSubscription](/braintree/graphql/reference/mutations/create-recurring-billing-subscription) — Mutation; input

## GraphQL definition

```graphql
input CreateRecurringBillingSubscriptionInput {
  clientMutationId: String
  planId: ID!
  paymentMethodId: ID!
  merchantAccountId: ID
  descriptor: RecurringBillingSubscriptionDescriptorInput
  price: Amount
  numberOfBillingCycles: Int
  options: RecurringBillingSubscriptionOptionsInput
  payPalDescription: String
  modifications: RecurringBillingSubscriptionModificationInput
}
```

---

[View the complete GraphQL schema on GitHub](https://raw.githubusercontent.com/braintree/graphql-api/refs/heads/master/schema.graphql)