Create Subscription
Intent
Creates a subscription from the values supplied in the request.
When to call it
Call this when your application has collected the required values and is ready to create a subscription.
Access boundary
Authorize the request with a token that carries subscriptions:write.
Successful result
A successful request returns 201. The response schema below defines the body your integration receives.
Operational notes
This endpoint only allows to create subscription on free products. For paid products, use the checkout flow.
No initial order will be created and no confirmation email will be sent.
Authorizations
Body
- SubscriptionCreateCustomer
- SubscriptionCreateExternalCustomer
Create a subscription for an existing customer.
Unique identifier for the recurring product to subscribe to. Must be a free product, otherwise the customer should go through a checkout flow.
"d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23"
Unique identifier for the customer to create the subscription for.
"992fae2a-2a17-4b7a-8d9e-e287cf90131b"
Metadata map for information your integration needs to retain.
The key must be a string with a maximum length of 40 characters. The value must be either:
- A string with a maximum length of 500 characters
- An integer
- A floating-point number
- A boolean
You can store up to 50 key-value pairs.
Response
Response: Subscription created.
The time Ruba created this record.
The time this record last changed.
The stable identifier for this record.
Amount: Amount of the subscription.
10000
Currency: Currency of the subscription.
"usd"
Recurring Interval: Interval at which the subscription recurs.
day, week, month, year "month"
Count of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.
Status: Status of the subscription.
incomplete, incomplete_expired, trialing, active, past_due, canceled, unpaid "active"
Current Period Start: Start timestamp of the current billing period.
Current Period End: End timestamp of the current billing period.
Trial Start: Start timestamp of the trial period, if any.
Trial End: End timestamp of the trial period, if any.
Indicates whether the subscription will be canceled at the end of the current period.
Canceled At: Timestamp when the subscription was canceled. The subscription might still be active if cancel_at_period_end is true.
Started At: Timestamp when the subscription started.
Ends At: Timestamp when the subscription will end.
Ended At: Timestamp when the subscription ended.
Unique identifier for the subscribed customer.
Unique identifier for the subscribed product.
Unique identifier for the applied discount, if any.
customer_service, low_quality, missing_features, switched_service, too_complex, too_expensive, unused, other Object representing product.
- DiscountFixedOnceForeverDurationBase
- DiscountFixedRepeatDurationBase
- DiscountPercentageOnceForeverDurationBase
- DiscountPercentageRepeatDurationBase
Collection of enabled prices for the subscription.
A recurring price for a product, i.e. a subscription.
Deprecated: The recurring interval should be set on the product itself.
- LegacyRecurringProductPriceFixed
- LegacyRecurringProductPriceCustom
- ProductPriceFixed
- ProductPriceCustom
- ProductPriceSeatBased
- ProductPriceMeteredUnit
Collection of meters associated with the subscription.
Pending Update: Pending subscription update that will be applied at the beginning of the next period. If null, there is no pending update.
Past Due At: Timestamp when the subscription entered past_due status.
Count of seats for seat-based subscriptions. None for non-seat subscriptions.
Map containing values collected through custom fields.