# Plan ## Fields | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique identifier for the plan. | | `name` | *str* | :heavy_check_mark: | Display name of the plan. | | `description` | *Nullable[str]* | :heavy_check_mark: | Optional description of the plan. | | `group` | *Nullable[str]* | :heavy_check_mark: | Group identifier for organizing related plans. Plans in the same group are mutually exclusive. | | `version` | *float* | :heavy_check_mark: | Version number of the plan. Incremented when plan configuration changes. | | `add_on` | *bool* | :heavy_check_mark: | Whether this is an add-on plan that can be attached alongside a main plan. | | `auto_enable` | *bool* | :heavy_check_mark: | If true, this plan is automatically attached when a customer is created. Used for free plans. | | `price` | [Nullable[models.PlanPrice]](../models/planprice.md) | :heavy_check_mark: | Base recurring price for the plan. Null for free plans or usage-only plans. | | `items` | List[[models.Item](../models/item.md)] | :heavy_check_mark: | Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. | | `free_trial` | [Optional[models.FreeTrial]](../models/freetrial.md) | :heavy_minus_sign: | Free trial configuration. If set, new customers can try this plan before being charged. | | `created_at` | *float* | :heavy_check_mark: | Unix timestamp (ms) when the plan was created. | | `env` | [models.PlanEnv](../models/planenv.md) | :heavy_check_mark: | Environment this plan belongs to ('sandbox' or 'live'). | | `archived` | *bool* | :heavy_check_mark: | Whether the plan is archived. Archived plans cannot be attached to new customers. | | `base_variant_id` | *Nullable[str]* | :heavy_check_mark: | If this is a variant, the ID of the base plan it was created from. |