# CreateSubscriptionInput

Input for `createSubscription`.

```
input CreateSubscriptionInput {

  amount: Int!

  trialAmount: Int

  currency: Currencies

  allowedPaymentMethods: [SubscriptionPaymentMethods]

  description: String

  descriptor: String

  customer: CustomerInput

  billingDetails: ContactDetailsInput

  shippingDetails: ContactDetailsInput

  interval: IntervalInput

  intervalCount: Int

  trialPeriodDays: Int

  trialPeriodEnd: AWSTimestamp

  callbackUrl: String

  paymentCallbackUrl: String

  storeId: ID

  retrySchedule: [RetryScheduleInput!]

  metadata: [KeyValueInput!]

}
```

### Fields[​](#fields "Direct link to Fields")

#### [`CreateSubscriptionInput.amount`](#amount) ● [`Int!`](https://docs.monei.com/apis/graphql/types/scalars/int/.md) non-null scalar[​](#amount "Direct link to amount")

A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge 1.00 USD).

#### [`CreateSubscriptionInput.trialAmount`](#trial-amount) ● [`Int`](https://docs.monei.com/apis/graphql/types/scalars/int/.md) scalar[​](#trial-amount "Direct link to trial-amount")

Amount charged during the trial period in minor units. Use `0` for a free trial.

#### [`CreateSubscriptionInput.currency`](#currency) ● [`Currencies`](https://docs.monei.com/apis/graphql/types/enums/currencies/.md) enum[​](#currency "Direct link to currency")

Three-letter ISO 4217 currency code.

#### [`CreateSubscriptionInput.allowedPaymentMethods`](#allowed-payment-methods) ● [`[SubscriptionPaymentMethods]`](https://docs.monei.com/apis/graphql/types/enums/subscription-payment-methods/.md) list enum[​](#allowed-payment-methods "Direct link to allowed-payment-methods")

List of payment methods allowed for subscriptions.

#### [`CreateSubscriptionInput.description`](#description) ● [`String`](https://docs.monei.com/apis/graphql/types/scalars/string/.md) scalar[​](#description "Direct link to description")

An arbitrary string attached to the subscription. Often useful for displaying to users.

#### [`CreateSubscriptionInput.descriptor`](#descriptor) ● [`String`](https://docs.monei.com/apis/graphql/types/scalars/string/.md) scalar[​](#descriptor "Direct link to descriptor")

Statement descriptor shown on the customer's bank statement.

#### [`CreateSubscriptionInput.customer`](#customer) ● [`CustomerInput`](https://docs.monei.com/apis/graphql/types/inputs/customer-input/.md) input[​](#customer "Direct link to customer")

Customer details.

#### [`CreateSubscriptionInput.billingDetails`](#billing-details) ● [`ContactDetailsInput`](https://docs.monei.com/apis/graphql/types/inputs/contact-details-input/.md) input[​](#billing-details "Direct link to billing-details")

Billing details.

#### [`CreateSubscriptionInput.shippingDetails`](#shipping-details) ● [`ContactDetailsInput`](https://docs.monei.com/apis/graphql/types/inputs/contact-details-input/.md) input[​](#shipping-details "Direct link to shipping-details")

Shipping details.

#### [`CreateSubscriptionInput.interval`](#interval) ● [`IntervalInput`](https://docs.monei.com/apis/graphql/types/enums/interval-input/.md) enum[​](#interval "Direct link to interval")

Subscription interval. The `minute` and `hour` intervals are only available in test mode.

#### [`CreateSubscriptionInput.intervalCount`](#interval-count) ● [`Int`](https://docs.monei.com/apis/graphql/types/scalars/int/.md) scalar[​](#interval-count "Direct link to interval-count")

Number of intervals between subscription payments. Total period (`interval` × `intervalCount`) cannot exceed one year.

#### [`CreateSubscriptionInput.trialPeriodDays`](#trial-period-days) ● [`Int`](https://docs.monei.com/apis/graphql/types/scalars/int/.md) scalar[​](#trial-period-days "Direct link to trial-period-days")

Number of days the trial period lasts. Mutually exclusive with `trialPeriodEnd`.

#### [`CreateSubscriptionInput.trialPeriodEnd`](#trial-period-end) ● [`AWSTimestamp`](https://docs.monei.com/apis/graphql/types/scalars/awstimestamp/.md) scalar[​](#trial-period-end "Direct link to trial-period-end")

The end date of the trial period. Measured in seconds since the Unix epoch. Mutually exclusive with `trialPeriodDays`.

#### [`CreateSubscriptionInput.callbackUrl`](#callback-url) ● [`String`](https://docs.monei.com/apis/graphql/types/scalars/string/.md) scalar[​](#callback-url "Direct link to callback-url")

The URL will be called each time subscription status changes. You will receive a subscription object in the body of the request.

#### [`CreateSubscriptionInput.paymentCallbackUrl`](#payment-callback-url) ● [`String`](https://docs.monei.com/apis/graphql/types/scalars/string/.md) scalar[​](#payment-callback-url "Direct link to payment-callback-url")

The URL will be called each time subscription creates a new payment. You will receive the payment object in the body of the request.

#### [`CreateSubscriptionInput.storeId`](#store-id) ● [`ID`](https://docs.monei.com/apis/graphql/types/scalars/id/.md) scalar[​](#store-id "Direct link to store-id")

Related store ID.

#### [`CreateSubscriptionInput.retrySchedule`](#retry-schedule) ● [`[RetryScheduleInput!]`](https://docs.monei.com/apis/graphql/types/inputs/retry-schedule-input/.md) list input[​](#retry-schedule "Direct link to retry-schedule")

Defines a custom schedule for retrying failed subscription payments. Total retry duration must not exceed one billing period.

#### [`CreateSubscriptionInput.metadata`](#metadata) ● [`[KeyValueInput!]`](https://docs.monei.com/apis/graphql/types/inputs/key-value-input/.md) list input[​](#metadata "Direct link to metadata")

A set of key-value pairs attached to the subscription.

### Member Of[​](#member-of "Direct link to Member Of")

[`createSubscription`](https://docs.monei.com/apis/graphql/operations/mutations/create-subscription/.md) mutation
