> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# Objects

> Every object and enum the Subscriptions tools accept.

## Model tree

<div className="model-tree"><div className="model-tree-scroll"><div className="tree-node"><a href="#subscriptionitemcreate">SubscriptionItemCreate</a><div className="tree-children"><div className="tree-node"><a href="#subscriptionpricedata">SubscriptionPriceData</a><div className="tree-children"><div className="tree-node"><a href="#pricerecurring">PriceRecurring</a></div></div></div><div className="tree-node"><a href="#subscriptiondiscount">SubscriptionDiscount</a></div></div></div><div className="tree-node"><a href="#subscriptiondiscount">SubscriptionDiscount</a></div><div className="tree-node"><a href="#subscriptionitemupdate">SubscriptionItemUpdate</a><div className="tree-children"><div className="tree-node"><a href="#subscriptionpricedata">SubscriptionPriceData</a> <span className="tree-note">above</span></div><div className="tree-node"><a href="#subscriptiondiscount">SubscriptionDiscount</a></div></div></div><div className="tree-node"><a href="#cancellationdetails">CancellationDetails</a></div></div></div>

## SubscriptionItemCreate

One item on a new subscription.

<div className="reference-table">
  | Field       | Type                                             | Description                                                                                    |
  | ----------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------- |
  | `price`     | `string`                                         | The ID of the price object.                                                                    |
  | `priceData` | [SubscriptionPriceData](#subscriptionpricedata)  | An inline price, instead of naming an existing one.                                            |
  | `quantity`  | `integer`                                        | How many of this price the subscription covers. <span className="field-constraints">≥ 0</span> |
  | `metadata`  | map of `string`                                  | Set of key-value pairs attached to this item.                                                  |
  | `taxRates`  | `string`\[]                                      | Tax rate IDs overriding the subscription's default\_tax\_rates for this item.                  |
  | `discounts` | [SubscriptionDiscount](#subscriptiondiscount)\[] | Discounts applying to this item alone.                                                         |
</div>

## SubscriptionPriceData

An inline price, created with the subscription rather than looked up.

<div className="reference-table">
  | Field                                                             | Type                                                                            | Description                                                                                                                                                                                                                                                                                                         |
  | ----------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `currency` <span className="required" title="required">\*</span>  | `string`                                                                        | Three-letter lowercase ISO currency code.                                                                                                                                                                                                                                                                           |
  | `product` <span className="required" title="required">\*</span>   | `string`                                                                        | The ID of the product this price is for.                                                                                                                                                                                                                                                                            |
  | `recurring` <span className="required" title="required">\*</span> | [PriceRecurring](#pricerecurring)                                               | The billing interval.                                                                                                                                                                                                                                                                                               |
  | `unitAmount`                                                      | `integer`                                                                       | A positive integer in the smallest currency unit. Mutually exclusive with unit\_amount\_decimal. Cents, not dollars: \$15.00 is 1500, and 15 charges fifteen cents each period. Multiply a decimal amount by 100.                                                                                                   |
  | `unitAmountDecimal`                                               | `string`                                                                        | Same as `unit_amount`, but accepts a decimal value in the smallest currency unit with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. Cents, not dollars: \$15.00 is "1500". The decimal places are fractions of a cent, so "1500.5" is fifteen dollars and half a cent. |
  | `taxBehavior`                                                     | [PriceTaxBehavior](/charter/charter/packs/stripe/invoiceitems/objects#pricetaxbehavior) | Whether the price is considered inclusive or exclusive of taxes. Stripe recommends setting this if you calculate taxes.                                                                                                                                                                                             |
</div>

## PriceRecurring

How often an inline price bills.

<div className="reference-table">
  | Field                                                            | Type                                    | Description                                                                                                                      |
  | ---------------------------------------------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
  | `interval` <span className="required" title="required">\*</span> | [RecurringInterval](#recurringinterval) | The billing frequency: day, week, month or year.                                                                                 |
  | `intervalCount`                                                  | `integer`                               | The number of intervals between billings. Absent, Stripe bills once per interval. <span className="field-constraints">≥ 1</span> |
</div>

## SubscriptionDiscount

One discount, on the subscription or on a single item.

<div className="reference-table">
  | Field           | Type     | Description                              |
  | --------------- | -------- | ---------------------------------------- |
  | `coupon`        | `string` | The ID of a coupon to apply.             |
  | `discount`      | `string` | The ID of an existing discount to reuse. |
  | `promotionCode` | `string` | The ID of a promotion code to apply.     |
</div>

## SubscriptionItemUpdate

One item on an existing subscription.

<div className="reference-table">
  | Field        | Type                                             | Description                                                                                                                                  |
  | ------------ | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
  | `price`      | `string`                                         | The ID of the price object.                                                                                                                  |
  | `priceData`  | [SubscriptionPriceData](#subscriptionpricedata)  | An inline price, instead of naming an existing one.                                                                                          |
  | `quantity`   | `integer`                                        | How many of this price the subscription covers. <span className="field-constraints">≥ 0</span>                                               |
  | `metadata`   | map of `string`                                  | Set of key-value pairs attached to this item.                                                                                                |
  | `taxRates`   | `string`\[]                                      | Tax rate IDs overriding the subscription's default\_tax\_rates for this item.                                                                |
  | `discounts`  | [SubscriptionDiscount](#subscriptiondiscount)\[] | Discounts applying to this item alone.                                                                                                       |
  | `id`         | `string`                                         | The ID of the subscription item to modify. Omit it and Stripe adds a new item instead of updating an existing one.                           |
  | `deleted`    | `boolean`                                        | Set true to remove this item from the subscription.                                                                                          |
  | `clearUsage` | `boolean`                                        | Whether to reset the billing period's usage. Required when deleting an item that records usage. No effect when the plan has a billing meter. |
</div>

## CancellationDetails

Why the subscription was cancelled.

<div className="reference-table">
  | Field            | Type                                          | Description                                                  |
  | ---------------- | --------------------------------------------- | ------------------------------------------------------------ |
  | `comment`        | `string`                                      | A free-text comment, if the customer gave one.               |
  | `feedback`       | [CancellationFeedback](#cancellationfeedback) | The customer-submitted reason, from Stripe's fixed set.      |
  | `feedbackOption` | `string`                                      | A customised feedback option, for more detail than the enum. |
</div>

## RecurringInterval

<div className="enum-table">
  | Value   |
  | ------- |
  | `day`   |
  | `week`  |
  | `month` |
  | `year`  |
</div>

## CollectionMethod

<div className="enum-table">
  | Value                  |
  | ---------------------- |
  | `charge_automatically` |
  | `send_invoice`         |
</div>

## CancelAtSentinel

<div className="enum-table">
  | Value              |
  | ------------------ |
  | `max_billed_until` |
  | `max_period_end`   |
  | `min_period_end`   |
</div>

## CancellationFeedback

<div className="enum-table">
  | Value              |
  | ------------------ |
  | `customer_service` |
  | `low_quality`      |
  | `missing_features` |
  | `other`            |
  | `switched_service` |
  | `too_complex`      |
  | `too_expensive`    |
  | `unused`           |
</div>

## ProrationBehaviorOnCreate

<div className="enum-table">
  | Value               |
  | ------------------- |
  | `create_prorations` |
  | `none`              |
</div>

## ProrationBehaviorOnUpdate

<div className="enum-table">
  | Value               |
  | ------------------- |
  | `always_invoice`    |
  | `create_prorations` |
  | `none`              |
</div>

## PaymentBehaviorOnCreate

<div className="enum-table">
  | Value                 |
  | --------------------- |
  | `allow_incomplete`    |
  | `default_incomplete`  |
  | `error_if_incomplete` |
</div>

## PaymentBehaviorOnUpdate

<div className="enum-table">
  | Value                   |
  | ----------------------- |
  | `allow_incomplete`      |
  | `default_incomplete`    |
  | `error_if_incomplete`   |
  | `pending_if_incomplete` |
</div>
