--- title: subscriptionContractUpdate - GraphQL Admin description: |- Creates a draft of an existing [`SubscriptionContract`](https://shopify.dev/docs/api/admin-graphql/latest/objects/SubscriptionContract). The draft captures the current state of the contract and allows incremental modifications through draft mutations such as [`subscriptionDraftLineAdd`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftLineAdd), [`subscriptionDraftDiscountAdd`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftDiscountAdd), and [`subscriptionDraftUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftUpdate). Changes remain in draft state and don't affect the live contract until committed. After you've made all necessary changes to the draft, commit it using [`subscriptionDraftCommit`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftCommit) to apply the updates to the original contract. Learn more about [updating subscription contracts](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/contracts/update-a-subscription-contract#step-2-create-a-draft-of-an-existing-contract). api_version: 2025-01 api_name: admin type: mutation api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/subscriptioncontractupdate md: https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/subscriptioncontractupdate.md --- # subscription​Contract​Update mutation Requires `write_own_subscription_contracts` access scope. Also: The user must have manage\_orders\_information permission. Creates a draft of an existing [`SubscriptionContract`](https://shopify.dev/docs/api/admin-graphql/latest/objects/SubscriptionContract). The draft captures the current state of the contract and allows incremental modifications through draft mutations such as [`subscriptionDraftLineAdd`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftLineAdd), [`subscriptionDraftDiscountAdd`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftDiscountAdd), and [`subscriptionDraftUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftUpdate). Changes remain in draft state and don't affect the live contract until committed. After you've made all necessary changes to the draft, commit it using [`subscriptionDraftCommit`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftCommit) to apply the updates to the original contract. Learn more about [updating subscription contracts](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/contracts/update-a-subscription-contract#step-2-create-a-draft-of-an-existing-contract). ## Arguments * contract​Id [ID!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/ID) required The gid of the Subscription Contract to update. *** ## Subscription​Contract​Update​Payload returns * draft [Subscription​Draft](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/SubscriptionDraft) The Subscription Contract object. * user​Errors [\[Subscription​Draft​User​Error!\]!](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/SubscriptionDraftUserError) non-null The list of errors that occurred from executing the mutation. *** ## Examples * ### subscriptionContractUpdate reference ## Mutation Reference ```graphql mutation subscriptionContractUpdate($contractId: ID!) { subscriptionContractUpdate(contractId: $contractId) { draft { # SubscriptionDraft fields } userErrors { field message } } } ``` ## Input ##### Variables ```json { "contractId": "gid://shopify//10079785100" } ```