I am not able to graphql mutation API's productOptionUpdate using ShopifyAPI Gem

query = <<~QUERY
  mutation updateOption($productId: ID!, $option: OptionUpdateInput!, $optionValuesToAdd: [OptionValueCreateInput!], $optionValuesToUpdate: [OptionValueUpdateInput!], $optionValuesToDelete: [ID!]) {
    productOptionUpdate(productId: $productId, option: $option, optionValuesToAdd: $optionValuesToAdd, optionValuesToUpdate: $optionValuesToUpdate, optionValuesToDelete: $optionValuesToDelete) {
      userErrors {
        field
        message
        code
      }
      product {
        id
        options {
          id
          name
          values
          position
          optionValues {
            id
            name
            hasVariants
          }
        }
        variants(first: 5) {
          nodes {
            id
            title
            selectedOptions {
              name
              value
            }
          }
        }
      }
    }
  }
QUERY

variables = {
  "productId": "gid://shopify/Product/9089716257076",
  "option": {
    "id": "gid://shopify/ProductOption/11454348165428",
    "position": 1,
    "name": "Working"
  }
}

response = client.query(query: query, variables: variables)

I am getting error like this

{"errors"=>
    [{"message"=>"OptionUpdateInput isn't a defined input type (on $option)",
      "locations"=>[{"line"=>1, "column"=>40}],
      "path"=>["mutation updateOption"],
      "extensions"=>{"code"=>"variableRequiresValidType", "typeName"=>"OptionUpdateInput", "variableName"=>"option"}},
     {"message"=>"OptionValueCreateInput isn't a defined input type (on $optionValuesToAdd)",
      "locations"=>[{"line"=>1, "column"=>69}],
      "path"=>["mutation updateOption"],
      "extensions"=>{"code"=>"variableRequiresValidType", "typeName"=>"OptionValueCreateInput", "variableName"=>"optionValuesToAdd"}},
     {"message"=>"OptionValueUpdateInput isn't a defined input type (on $optionValuesToUpdate)",
      "locations"=>[{"line"=>1, "column"=>116}],
      "path"=>["mutation updateOption"],
      "extensions"=>{"code"=>"variableRequiresValidType", "typeName"=>"OptionValueUpdateInput", "variableName"=>"optionValuesToUpdate"}},
     {"message"=>"Field 'productOptionUpdate' doesn't exist on type 'Mutation'",
      "locations"=>[{"line"=>2, "column"=>3}],
      "path"=>["mutation updateOption", "productOptionUpdate"],
      "extensions"=>{"code"=>"undefinedField", "typeName"=>"Mutation", "fieldName"=>"productOptionUpdate"}},
     {"message"=>"Variable $productId is declared by updateOption but not used",
      "locations"=>[{"line"=>1, "column"=>1}],
      "path"=>["mutation updateOption"],
      "extensions"=>{"code"=>"variableNotUsed", "variableName"=>"productId"}},
     {"message"=>"Variable $option is declared by updateOption but not used",
      "locations"=>[{"line"=>1, "column"=>1}],
      "path"=>["mutation updateOption"],
      "extensions"=>{"code"=>"variableNotUsed", "variableName"=>"option"}},
     {"message"=>"Variable $optionValuesToAdd is declared by updateOption but not used",
      "locations"=>[{"line"=>1, "column"=>1}],
      "path"=>["mutation updateOption"],
      "extensions"=>{"code"=>"variableNotUsed", "variableName"=>"optionValuesToAdd"}},
     {"message"=>"Variable $optionValuesToUpdate is declared by updateOption but not used",
      "locations"=>[{"line"=>1, "column"=>1}],
      "path"=>["mutation updateOption"],
      "extensions"=>{"code"=>"variableNotUsed", "variableName"=>"optionValuesToUpdate"}},
     {"message"=>"Variable $optionValuesToDelete is declared by updateOption but not used",
      "locations"=>[{"line"=>1, "column"=>1}],
      "path"=>["mutation updateOption"],

Please help, how can I fix this

I have the same problème.

This mutation is defined in the documentation but i can’t find it into the list of the mutation defined by the api.