# discountCodeBasicUpdate - admin - MUTATION
Version: 2024-10

## Description
Updates an [amount off discount](https://help.shopify.com/manual/discounts/discount-types/percentage-fixed-amount) that's applied on a cart and at checkout when a customer enters a code. Amount off discounts can be a percentage off or a fixed amount off.

> Note:
> To update discounts that are automatically applied on a cart and at checkout, use the [`discountAutomaticBasicUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/discountAutomaticBasicUpdate) mutation.

### Access Scopes
Apps must have `write_discounts` access scope.


## Arguments
* [basicCodeDiscount](/docs/api/admin/2024-10/input-objects/DiscountCodeBasicInput): DiscountCodeBasicInput! - The input data used to update the discount code.
* [id](/docs/api/admin/2024-10/scalars/ID): ID! - The ID of the discount code to update.


## Returns
* [codeDiscountNode](/docs/api/admin/2024-10/objects/DiscountCodeNode): DiscountCodeNode The discount code that was updated.
* [userErrors](/docs/api/admin/2024-10/objects/DiscountUserError): DiscountUserError! The list of errors that occurred from executing the mutation.


## Examples
### Update a basic code discount
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) { discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) { codeDiscountNode { id } userErrors { field code message } } }\",\n \"variables\": {\n    \"id\": \"gid://shopify/DiscountCodeNode/206265824\",\n    \"basicCodeDiscount\": {\n      \"endsAt\": null,\n      \"code\": \"NEW_CODE\",\n      \"appliesOncePerCustomer\": true,\n      \"customerGets\": {\n        \"value\": {\n          \"percentage\": 0.4\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 discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n      discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n        codeDiscountNode {\n          id\n        }\n        userErrors {\n          field\n          code\n          message\n        }\n      }\n    }`,\n    \"variables\": {\n      \"id\": \"gid://shopify/DiscountCodeNode/206265824\",\n      \"basicCodeDiscount\": {\n        \"endsAt\": null,\n        \"code\": \"NEW_CODE\",\n        \"appliesOncePerCustomer\": true,\n        \"customerGets\": {\n          \"value\": {\n            \"percentage\": 0.4\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 discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n    discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n      codeDiscountNode {\n        id\n      }\n      userErrors {\n        field\n        code\n        message\n      }\n    }\n  }\nQUERY\n\nvariables = {\n  \"id\": \"gid://shopify/DiscountCodeNode/206265824\",\n  \"basicCodeDiscount\": {\n    \"endsAt\": null,\n    \"code\": \"NEW_CODE\",\n    \"appliesOncePerCustomer\": true,\n    \"customerGets\": {\n      \"value\": {\n        \"percentage\": 0.4\n      }\n    }\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 discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n    discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n      codeDiscountNode {\n        id\n      }\n      userErrors {\n        field\n        code\n        message\n      }\n    }\n  }`,\n  {\n    variables: {\n      \"id\": \"gid://shopify/DiscountCodeNode/206265824\",\n      \"basicCodeDiscount\": {\n        \"endsAt\": null,\n        \"code\": \"NEW_CODE\",\n        \"appliesOncePerCustomer\": true,\n        \"customerGets\": {\n          \"value\": {\n            \"percentage\": 0.4\n          }\n        }\n      }\n    },\n  },\n);\n\nconst data = await response.json();\n"
Graphql query: "mutation discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n  discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n    codeDiscountNode {\n      id\n    }\n    userErrors {\n      field\n      code\n      message\n    }\n  }\n}"
#### Graphql Input
{
  "id": "gid://shopify/DiscountCodeNode/206265824",
  "basicCodeDiscount": {
    "endsAt": null,
    "code": "NEW_CODE",
    "appliesOncePerCustomer": true,
    "customerGets": {
      "value": {
        "percentage": 0.4
      }
    }
  }
}
#### Graphql Response
{
  "data": {
    "discountCodeBasicUpdate": {
      "codeDiscountNode": {
        "id": "gid://shopify/DiscountCodeNode/206265824"
      },
      "userErrors": []
    }
  }
}

### Update a discount code to apply to specific products
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) { discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) { codeDiscountNode { id } userErrors { field code message } } }\",\n \"variables\": {\n    \"id\": \"gid://shopify/DiscountCodeNode/139986317\",\n    \"basicCodeDiscount\": {\n      \"endsAt\": \"2025-12-31T23:59:59Z\",\n      \"usageLimit\": 100,\n      \"appliesOncePerCustomer\": true,\n      \"customerGets\": {\n        \"items\": {\n          \"products\": {\n            \"productsToAdd\": [\n              \"gid://shopify/Product/121709582\",\n              \"gid://shopify/Product/108828309\"\n            ]\n          }\n        },\n        \"value\": {\n          \"percentage\": 0.1\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 discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n      discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n        codeDiscountNode {\n          id\n        }\n        userErrors {\n          field\n          code\n          message\n        }\n      }\n    }`,\n    \"variables\": {\n      \"id\": \"gid://shopify/DiscountCodeNode/139986317\",\n      \"basicCodeDiscount\": {\n        \"endsAt\": \"2025-12-31T23:59:59Z\",\n        \"usageLimit\": 100,\n        \"appliesOncePerCustomer\": true,\n        \"customerGets\": {\n          \"items\": {\n            \"products\": {\n              \"productsToAdd\": [\n                \"gid://shopify/Product/121709582\",\n                \"gid://shopify/Product/108828309\"\n              ]\n            }\n          },\n          \"value\": {\n            \"percentage\": 0.1\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 discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n    discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n      codeDiscountNode {\n        id\n      }\n      userErrors {\n        field\n        code\n        message\n      }\n    }\n  }\nQUERY\n\nvariables = {\n  \"id\": \"gid://shopify/DiscountCodeNode/139986317\",\n  \"basicCodeDiscount\": {\n    \"endsAt\": \"2025-12-31T23:59:59Z\",\n    \"usageLimit\": 100,\n    \"appliesOncePerCustomer\": true,\n    \"customerGets\": {\n      \"items\": {\n        \"products\": {\n          \"productsToAdd\": [\"gid://shopify/Product/121709582\", \"gid://shopify/Product/108828309\"]\n        }\n      },\n      \"value\": {\n        \"percentage\": 0.1\n      }\n    }\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 discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n    discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n      codeDiscountNode {\n        id\n      }\n      userErrors {\n        field\n        code\n        message\n      }\n    }\n  }`,\n  {\n    variables: {\n      \"id\": \"gid://shopify/DiscountCodeNode/139986317\",\n      \"basicCodeDiscount\": {\n        \"endsAt\": \"2025-12-31T23:59:59Z\",\n        \"usageLimit\": 100,\n        \"appliesOncePerCustomer\": true,\n        \"customerGets\": {\n          \"items\": {\n            \"products\": {\n              \"productsToAdd\": [\n                \"gid://shopify/Product/121709582\",\n                \"gid://shopify/Product/108828309\"\n              ]\n            }\n          },\n          \"value\": {\n            \"percentage\": 0.1\n          }\n        }\n      }\n    },\n  },\n);\n\nconst data = await response.json();\n"
Graphql query: "mutation discountCodeBasicUpdate($id: ID!, $basicCodeDiscount: DiscountCodeBasicInput!) {\n  discountCodeBasicUpdate(id: $id, basicCodeDiscount: $basicCodeDiscount) {\n    codeDiscountNode {\n      id\n    }\n    userErrors {\n      field\n      code\n      message\n    }\n  }\n}"
#### Graphql Input
{
  "id": "gid://shopify/DiscountCodeNode/139986317",
  "basicCodeDiscount": {
    "endsAt": "2025-12-31T23:59:59Z",
    "usageLimit": 100,
    "appliesOncePerCustomer": true,
    "customerGets": {
      "items": {
        "products": {
          "productsToAdd": [
            "gid://shopify/Product/121709582",
            "gid://shopify/Product/108828309"
          ]
        }
      },
      "value": {
        "percentage": 0.1
      }
    }
  }
}
#### Graphql Response
{
  "data": {
    "discountCodeBasicUpdate": {
      "codeDiscountNode": {
        "id": "gid://shopify/DiscountCodeNode/139986317"
      },
      "userErrors": []
    }
  }
}