# CreateSubscriptionRequest

## Example Usage

```typescript
import { CreateSubscriptionRequest } from "@flexprice/sdk/sdk/models";

let value: CreateSubscriptionRequest = {
  billingPeriod: "ONETIME",
  currency: "East Caribbean Dollar",
  planId: "<id>",
};
```

## Fields

| Field                                                                                                                                                                                                       | Type                                                                                                                                                                                                        | Required                                                                                                                                                                                                    | Description                                                                                                                                                                                                 |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `addons`                                                                                                                                                                                                    | [models.AddAddonToSubscriptionRequest](../../sdk/models/add-addon-to-subscription-request.md)[]                                                                                                             | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `autoInvoiceThreshold`                                                                                                                                                                                      | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | AutoInvoiceThreshold triggers a mid-period invoice when usage (in subscription currency) exceeds this amount.<br/>Standalone subscriptions only; all plan prices must be usage-based. Immutable after creation. |
| `billingAnchor`                                                                                                                                                                                             | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)                                                                                                               | :heavy_minus_sign:                                                                                                                                                                                          | BillingAnchor overrides the derived anchor for anniversary billing. For monthly billing,<br/>the day-of-month defines cycle boundaries (shorter first period if start is before that day).                  |
| `billingCycle`                                                                                                                                                                                              | [models.BillingCycle](../../sdk/models/billing-cycle.md)                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `billingPeriod`                                                                                                                                                                                             | [models.BillingPeriod](../../sdk/models/billing-period.md)                                                                                                                                                  | :heavy_check_mark:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `billingPeriodCount`                                                                                                                                                                                        | *number*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `checkout`                                                                                                                                                                                                  | [models.CheckoutParams](../../sdk/models/checkout-params.md)                                                                                                                                                | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `collectionMethod`                                                                                                                                                                                          | [models.CollectionMethod](../../sdk/models/collection-method.md)                                                                                                                                            | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `commitmentAmount`                                                                                                                                                                                          | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `commitmentDuration`                                                                                                                                                                                        | [models.BillingPeriod](../../sdk/models/billing-period.md)                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `coupons`                                                                                                                                                                                                   | *string*[]                                                                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                          | Deprecated: use SubscriptionCoupons instead.                                                                                                                                                                |
| `creditGrants`                                                                                                                                                                                              | [models.CreateCreditGrantRequest](../../sdk/models/create-credit-grant-request.md)[]                                                                                                                        | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `currency`                                                                                                                                                                                                  | *string*                                                                                                                                                                                                    | :heavy_check_mark:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `customerId`                                                                                                                                                                                                | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | CustomerID takes priority over ExternalCustomerID when both are provided.                                                                                                                                   |
| `enableTrueUp`                                                                                                                                                                                              | *boolean*                                                                                                                                                                                                   | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `endDate`                                                                                                                                                                                                   | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)                                                                                                               | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `externalCustomerId`                                                                                                                                                                                        | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `gatewayPaymentMethodId`                                                                                                                                                                                    | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `inheritance`                                                                                                                                                                                               | [models.SubscriptionInheritanceConfig](../../sdk/models/subscription-inheritance-config.md)                                                                                                                 | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `lineItemCommitments`                                                                                                                                                                                       | Record<string, [models.LineItemCommitmentConfig](../../sdk/models/line-item-commitment-config.md)>                                                                                                          | :heavy_minus_sign:                                                                                                                                                                                          | LineItemCommitments sets per-line-item commitment config, keyed by price_id.                                                                                                                                |
| `lineItemCoupons`                                                                                                                                                                                           | Record<string, *string*[]>                                                                                                                                                                                  | :heavy_minus_sign:                                                                                                                                                                                          | Deprecated: use SubscriptionCoupons instead.                                                                                                                                                                |
| `lineItems`                                                                                                                                                                                                 | [models.CreateSubscriptionLineItemRequest](../../sdk/models/create-subscription-line-item-request.md)[]                                                                                                     | :heavy_minus_sign:                                                                                                                                                                                          | LineItems are extra (non-plan) line items added at creation.                                                                                                                                                |
| `lookupKey`                                                                                                                                                                                                 | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `metadata`                                                                                                                                                                                                  | Record<string, *string*>                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `overageFactor`                                                                                                                                                                                             | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `overrideEntitlements`                                                                                                                                                                                      | [models.OverrideEntitlementRequest](../../sdk/models/override-entitlement-request.md)[]                                                                                                                     | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `overrideLineItems`                                                                                                                                                                                         | [models.OverrideLineItemRequest](../../sdk/models/override-line-item-request.md)[]                                                                                                                          | :heavy_minus_sign:                                                                                                                                                                                          | OverrideLineItems overrides specific plan prices for this subscription.                                                                                                                                     |
| `paymentBehavior`                                                                                                                                                                                           | [models.PaymentBehavior](../../sdk/models/payment-behavior.md)                                                                                                                                              | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `paymentTerms`                                                                                                                                                                                              | [models.PaymentTerms](../../sdk/models/payment-terms.md)                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `phases`                                                                                                                                                                                                    | [models.SubscriptionPhaseCreateRequest](../../sdk/models/subscription-phase-create-request.md)[]                                                                                                            | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `planId`                                                                                                                                                                                                    | *string*                                                                                                                                                                                                    | :heavy_check_mark:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `prorationBehavior`                                                                                                                                                                                         | [models.ProrationBehavior](../../sdk/models/proration-behavior.md)                                                                                                                                          | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `startDate`                                                                                                                                                                                                 | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)                                                                                                               | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `subscriptionCoupons`                                                                                                                                                                                       | [models.SubscriptionCouponInput](../../sdk/models/subscription-coupon-input.md)[]                                                                                                                           | :heavy_minus_sign:                                                                                                                                                                                          | SubscriptionCoupons is the preferred way to attach coupons at creation.<br/>Accepts coupon_code; optionally targets a line item via price_id.                                                               |
| `subscriptionStatus`                                                                                                                                                                                        | [models.SubscriptionStatus](../../sdk/models/subscription-status.md)                                                                                                                                        | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `taxRateOverrides`                                                                                                                                                                                          | [models.TaxRateOverride](../../sdk/models/tax-rate-override.md)[]                                                                                                                                           | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `timezone`                                                                                                                                                                                                  | *string*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | N/A                                                                                                                                                                                                         |
| `trialPeriodDays`                                                                                                                                                                                           | *number*                                                                                                                                                                                                    | :heavy_minus_sign:                                                                                                                                                                                          | TrialPeriodDays: nil = inherit from plan prices, 0 = no trial, >0 = override in days.                                                                                                                       |