# sellingPlanGroupUpdate - admin - MUTATION
Version: unstable

## Description
Update a Selling Plan Group.

### Access Scopes
`write_products` access scope as well as any of `write_own_subscription_contracts`, `write_purchase_options` access scopes. Also: The user must have `manage_orders_information` permissions.


## Arguments
* [id](/docs/api/admin/unstable/scalars/ID): ID! - The Selling Plan Group to update.
* [input](/docs/api/admin/unstable/input-objects/SellingPlanGroupInput): SellingPlanGroupInput! - The properties of the Selling Plan Group to update.


## Returns
* [deletedSellingPlanIds](/docs/api/admin/unstable/scalars/ID): ID The IDs of the deleted Subscription Plans.
* [sellingPlanGroup](/docs/api/admin/unstable/objects/SellingPlanGroup): SellingPlanGroup The updated Selling Plan Group.
* [userErrors](/docs/api/admin/unstable/objects/SellingPlanGroupUserError): SellingPlanGroupUserError! The list of errors that occurred from executing the mutation.


## Examples
### Update a selling plan group and its metafields
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/unstable/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation sellingPlanGroupUpdate($id: ID!, $input: SellingPlanGroupInput!) { sellingPlanGroupUpdate(id: $id, input: $input) { sellingPlanGroup { id sellingPlans(first: 1) { edges { node { id metafields(first: 1) { edges { node { id namespace key value } } } } } } } userErrors { field message } } }\",\n \"variables\": {\n    \"id\": \"gid://shopify/SellingPlanGroup/964742479\",\n    \"input\": {\n      \"sellingPlansToUpdate\": [\n        {\n          \"id\": \"gid://shopify/SellingPlan/563068713\",\n          \"metafields\": [\n            {\n              \"value\": \"waterproof\",\n              \"type\": \"single_line_text_field\",\n              \"key\": \"test_key\",\n              \"namespace\": \"example-selling-plan\"\n            }\n          ]\n        }\n      ]\n    }\n  }\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: {\n    \"query\": `mutation sellingPlanGroupUpdate($id: ID!, $input: SellingPlanGroupInput!) {\n      sellingPlanGroupUpdate(id: $id, input: $input) {\n        sellingPlanGroup {\n          id\n          sellingPlans(first: 1) {\n            edges {\n              node {\n                id\n                metafields(first: 1) {\n                  edges {\n                    node {\n                      id\n                      namespace\n                      key\n                      value\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n        userErrors {\n          field\n          message\n        }\n      }\n    }`,\n    \"variables\": {\n      \"id\": \"gid://shopify/SellingPlanGroup/964742479\",\n      \"input\": {\n        \"sellingPlansToUpdate\": [\n          {\n            \"id\": \"gid://shopify/SellingPlan/563068713\",\n            \"metafields\": [\n              {\n                \"value\": \"waterproof\",\n                \"type\": \"single_line_text_field\",\n                \"key\": \"test_key\",\n                \"namespace\": \"example-selling-plan\"\n              }\n            ]\n          }\n        ]\n      }\n    },\n  },\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  mutation sellingPlanGroupUpdate($id: ID!, $input: SellingPlanGroupInput!) {\n    sellingPlanGroupUpdate(id: $id, input: $input) {\n      sellingPlanGroup {\n        id\n        sellingPlans(first: 1) {\n          edges {\n            node {\n              id\n              metafields(first: 1) {\n                edges {\n                  node {\n                    id\n                    namespace\n                    key\n                    value\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\nQUERY\n\nvariables = {\n  \"id\": \"gid://shopify/SellingPlanGroup/964742479\",\n  \"input\": {\n    \"sellingPlansToUpdate\": [{\"id\"=>\"gid://shopify/SellingPlan/563068713\", \"metafields\"=>[{\"value\"=>\"waterproof\", \"type\"=>\"single_line_text_field\", \"key\"=>\"test_key\", \"namespace\"=>\"example-selling-plan\"}]}]\n  }\n}\n\nresponse = client.query(query: query, variables: variables)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  mutation sellingPlanGroupUpdate($id: ID!, $input: SellingPlanGroupInput!) {\n    sellingPlanGroupUpdate(id: $id, input: $input) {\n      sellingPlanGroup {\n        id\n        sellingPlans(first: 1) {\n          edges {\n            node {\n              id\n              metafields(first: 1) {\n                edges {\n                  node {\n                    id\n                    namespace\n                    key\n                    value\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }`,\n  {\n    variables: {\n      \"id\": \"gid://shopify/SellingPlanGroup/964742479\",\n      \"input\": {\n        \"sellingPlansToUpdate\": [\n          {\n            \"id\": \"gid://shopify/SellingPlan/563068713\",\n            \"metafields\": [\n              {\n                \"value\": \"waterproof\",\n                \"type\": \"single_line_text_field\",\n                \"key\": \"test_key\",\n                \"namespace\": \"example-selling-plan\"\n              }\n            ]\n          }\n        ]\n      }\n    },\n  },\n);\n\nconst data = await response.json();\n"
Graphql query: "mutation sellingPlanGroupUpdate($id: ID!, $input: SellingPlanGroupInput!) {\n  sellingPlanGroupUpdate(id: $id, input: $input) {\n    sellingPlanGroup {\n      id\n      sellingPlans(first: 1) {\n        edges {\n          node {\n            id\n            metafields(first: 1) {\n              edges {\n                node {\n                  id\n                  namespace\n                  key\n                  value\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    userErrors {\n      field\n      message\n    }\n  }\n}"
#### Graphql Input
{
  "id": "gid://shopify/SellingPlanGroup/964742479",
  "input": {
    "sellingPlansToUpdate": [
      {
        "id": "gid://shopify/SellingPlan/563068713",
        "metafields": [
          {
            "value": "waterproof",
            "type": "single_line_text_field",
            "key": "test_key",
            "namespace": "example-selling-plan"
          }
        ]
      }
    ]
  }
}
#### Graphql Response
{
  "data": {
    "sellingPlanGroupUpdate": {
      "sellingPlanGroup": {
        "id": "gid://shopify/SellingPlanGroup/964742479",
        "sellingPlans": {
          "edges": [
            {
              "node": {
                "id": "gid://shopify/SellingPlan/563068713",
                "metafields": {
                  "edges": [
                    {
                      "node": {
                        "id": "gid://shopify/Metafield/616145134",
                        "namespace": "example-selling-plan",
                        "key": "test_key",
                        "value": "waterproof"
                      }
                    }
                  ]
                }
              }
            }
          ]
        }
      },
      "userErrors": []
    }
  }
}