--- title: SellingPlan - GraphQL Admin description: |- Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. For more information on selling plans, refer to [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). api_version: 2025-10 api_name: admin type: object api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/latest/objects/sellingplan md: https://shopify.dev/docs/api/admin-graphql/latest/objects/sellingplan.md --- # Selling​Plan object Requires `read_products` access scope. Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. For more information on selling plans, refer to [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). ## Fields * billing​Policy [Selling​Plan​Billing​Policy!](https://shopify.dev/docs/api/admin-graphql/latest/unions/SellingPlanBillingPolicy) non-null A selling plan policy which describes the recurring billing details. * category [Selling​Plan​Category](https://shopify.dev/docs/api/admin-graphql/latest/enums/SellingPlanCategory) The category used to classify the selling plan for reporting purposes. * created​At [Date​Time!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/DateTime) non-null The date and time when the selling plan was created. * delivery​Policy [Selling​Plan​Delivery​Policy!](https://shopify.dev/docs/api/admin-graphql/latest/unions/SellingPlanDeliveryPolicy) non-null A selling plan policy which describes the delivery details. * description [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) Buyer facing string which describes the selling plan commitment. * id [ID!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID) non-null A globally-unique ID. * inventory​Policy [Selling​Plan​Inventory​Policy](https://shopify.dev/docs/api/admin-graphql/latest/objects/SellingPlanInventoryPolicy) When to reserve inventory for a selling plan. * metafield [Metafield](https://shopify.dev/docs/api/admin-graphql/latest/objects/Metafield) A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. * metafields [Metafield​Connection!](https://shopify.dev/docs/api/admin-graphql/latest/connections/MetafieldConnection) non-null A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. * name [String!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null A customer-facing description of the selling plan. If your store supports multiple currencies, then don't include country-specific pricing content, such as "Buy monthly, get 10$ CAD off". This field won't be converted to reflect different currencies. * options [\[String!\]!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String) non-null The values of all options available on the selling plan. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values. * position [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int) Relative position of the selling plan for display. A lower position will be displayed before a higher position. * pricing​Policies [\[Selling​Plan​Pricing​Policy!\]!](https://shopify.dev/docs/api/admin-graphql/latest/unions/SellingPlanPricingPolicy) non-null Selling plan pricing details. * translations [\[Translation!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/Translation) non-null The published translations associated with the resource. * metafield​Definitions [Metafield​Definition​Connection!](https://shopify.dev/docs/api/admin-graphql/latest/connections/MetafieldDefinitionConnection) non-nullDeprecated *** ## Map ### Fields and connections with this object * <->[SellingPlanConnection.nodes](https://shopify.dev/docs/api/admin-graphql/latest/connections/SellingPlanConnection#field-nodes) * {}[SellingPlanEdge.node](https://shopify.dev/docs/api/admin-graphql/latest/objects/SellingPlanEdge#field-node) * {}[SellingPlanGroup.sellingPlans](https://shopify.dev/docs/api/admin-graphql/latest/objects/SellingPlanGroup#field-sellingPlans) *** ## Interfaces * * [Has​Metafield​Definitions](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/HasMetafieldDefinitions) interface * [Has​Metafields](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/HasMetafields) interface * [Has​Published​Translations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/HasPublishedTranslations) interface * [Node](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Node) interface *** ## ||-SellingPlan Implements ### Implements * ||-[Has​Metafield​Definitions](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/HasMetafieldDefinitions) * ||-[Has​Metafields](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/HasMetafields) * ||-[Has​Published​Translations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/HasPublishedTranslations) * ||-[Node](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Node)