---
updatedAt: 2026-09-19T08:28:29.000Z
agentTools:
  projectIndex: https://developers.deliverect.com/v3.0-ordering-experience/llms.txt
---

# Update Basket - Item(s)

### Purpose

Update existing items with changes to e.g.  "quantity" or "note' or add new items to the basket.

<HTMLBlock>{`
<div class="callout-banner callout-banner--neutral">
  <span class="callout-icon"><i class="fa-regular fa-square-info"></i></span>
  <p>
    <strong>Patch Behaviour</strong><br>
  Each patch will fully replace the curent basket content, to update or add new products, retain the existing basket items.
  </p>
</div>
`}</HTMLBlock>

<br />

<br />

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Commerce API",
    "description": " Our Commerce API powers digital ordering via endpoints that provide store details, menu data, basket calculation and validation and provides a checkout flow to handle POS order injection.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.staging.deliverect.com"
    }
  ],
  "security": [
    {
      "oauth2ClientCredentials": []
    }
  ],
  "components": {
    "securitySchemes": {
      "oauth2ClientCredentials": {
        "type": "oauth2",
        "description": "Obtain an access token using the partner client ID and client secret. Send the returned token with each API request in the Authorization header as a Bearer token.",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/oauth/token",
            "scopes": {}
          }
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true,
    "oauth-options": {
      "useInsecureClientAuthentication": true
    }
  },
  "x-readme-fauxas": true,
  "paths": {
    "/commerce/{accountId}/baskets/{basketId}/items": {
      "patch": {
        "tags": [
          "Endpoints"
        ],
        "summary": "Update Basket - Item(s)",
        "operationId": "commerce-channel-api-baskets-update-basket-items",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "schema": {
              "type": "string",
              "default": "668e4aa170efd23c474b2ad1"
            },
            "required": true
          },
          {
            "name": "basketId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "RAW_BODY"
                ],
                "properties": {
                  "RAW_BODY": {
                    "type": "array",
                    "items": {
                      "properties": {
                        "menuId": {
                          "type": "string"
                        },
                        "plu": {
                          "type": "string",
                          "default": "3F_COMBO"
                        },
                        "quantity": {
                          "type": "integer",
                          "default": 2,
                          "format": "int32"
                        },
                        "note": {
                          "type": "string"
                        },
                        "subItems": {
                          "type": "array",
                          "items": {
                            "properties": {
                              "plu": {
                                "type": "string",
                                "default": "A_FRS"
                              },
                              "customizationPlu": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer",
                                "default": 1,
                                "format": "int32"
                              },
                              "note": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "plu",
                              "customizationPlu",
                              "quantity"
                            ],
                            "type": "object"
                          }
                        }
                      },
                      "required": [
                        "menuId",
                        "plu",
                        "quantity"
                      ],
                      "type": "object"
                    }
                  }
                }
              },
              "examples": {
                "Group Basket": {
                  "value": [
                    {
                      "plu": "3F_COMBO",
                      "quantity": 3,
                      "menuId": "681a721c98b4e6d4ec09d83d",
                      "note": "No Salad",
                      "customerId": "691327c5d367f4588f948201"
                    }
                  ],
                  "summary": "Group Basket"
                },
                "Request example": {
                  "summary": "Request example",
                  "value": [
                    {
                      "plu": "3F_COMBO",
                      "quantity": 3,
                      "menuId": "681a721c98b4e6d4ec09d83d",
                      "note": "No Salad"
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "663dff85512e27ec790fe713",
                      "created": "2024-05-10T11:05:41.194000+00:00",
                      "updated": "2024-05-10T11:05:41.226000+00:00",
                      "deleted": false,
                      "etag": "4f95244e98557fec08e449e767afb340842cf4f2",
                      "accountId": "65c35d109a19b819b7cf78d8",
                      "storeId": "65eee6a9984a1bc1b9637c59",
                      "channelLinkId": "65eee6a9984a1bc1b9637c59",
                      "channelOrderId": null,
                      "channelOrderDisplayId": null,
                      "currency": "EUR",
                      "taxExclusive": false,
                      "status": "open",
                      "items": [
                        {
                          "plu": "PLU-1",
                          "quantity": 1,
                          "note": "extra salt please",
                          "menuId": "662fa50c9ddcfc5397580587",
                          "price": 1500,
                          "gross": 1500,
                          "taxes": [],
                          "net": 1500,
                          "subItems": [],
                          "discounts": [],
                          "discountTotal": 0
                        },
                        {
                          "plu": "PLU-2",
                          "quantity": 1,
                          "menuId": "662fa50c9ddcfc5397580587",
                          "price": 1500,
                          "gross": 1500,
                          "taxes": [],
                          "net": 1500,
                          "subItems": [],
                          "discounts": [],
                          "discountTotal": 0
                        },
                        {
                          "plu": "PLU-3",
                          "quantity": 1,
                          "menuId": "662fa50c9ddcfc5397580587",
                          "price": 1500,
                          "gross": 1500,
                          "taxes": [],
                          "net": 1500,
                          "subItems": [],
                          "discounts": [],
                          "discountTotal": 0
                        }
                      ],
                      "payment": {
                        "tips": [],
                        "discountsTotal": 0,
                        "taxTotal": 0,
                        "tipTotal": 0,
                        "total": 4500
                      },
                      "customer": null,
                      "fulfillment": {
                        "type": "pickup"
                      },
                      "taxes": [],
                      "discounts": []
                    }
                  },
                  "Group Basket": {
                    "summary": "Group Basket",
                    "value": {
                      "id": "663dff85512e27ec790fe713",
                      "created": "2024-05-10T11:05:41.194000+00:00",
                      "updated": "2024-05-10T11:05:41.226000+00:00",
                      "deleted": false,
                      "etag": "4f95244e98557fec08e449e767afb340842cf4f2",
                      "accountId": "65c35d109a19b819b7cf78d8",
                      "storeId": "65eee6a9984a1bc1b9637c59",
                      "channelLinkId": "65eee6a9984a1bc1b9637c59",
                      "channelOrderId": null,
                      "channelOrderDisplayId": null,
                      "currency": "EUR",
                      "taxExclusive": false,
                      "status": "open",
                      "items": [
                        {
                          "plu": "PLU-1",
                          "quantity": 1,
                          "note": "extra salt please",
                          "menuId": "662fa50c9ddcfc5397580587",
                          "price": 1500,
                          "gross": 1500,
                          "taxes": [],
                          "net": 1500,
                          "subItems": [],
                          "discounts": [],
                          "discountTotal": 0,
                          "customerId": "691327c5d367f4588f948201"
                        },
                        {
                          "plu": "PLU-2",
                          "quantity": 1,
                          "menuId": "662fa50c9ddcfc5397580587",
                          "price": 1500,
                          "gross": 1500,
                          "taxes": [],
                          "net": 1500,
                          "subItems": [],
                          "discounts": [],
                          "discountTotal": 0,
                          "customerId": "691327c5d367f4588f948201"
                        },
                        {
                          "plu": "PLU-3",
                          "quantity": 1,
                          "menuId": "662fa50c9ddcfc5397580587",
                          "price": 1500,
                          "gross": 1500,
                          "taxes": [],
                          "net": 1500,
                          "subItems": [],
                          "discounts": [],
                          "discountTotal": 0,
                          "customerId": "691327c5d367f4588f948202"
                        }
                      ],
                      "group": {
                        "customers": [
                          {
                            "id": "691327c5d367f4588f948201",
                            "role": "host",
                            "name": "John Doe",
                            "companyName": "ACME",
                            "phoneNumber": "+3211223344",
                            "email": "john.doe@acme.com",
                            "externalId": "crm-id-1234",
                            "tin": "123456789"
                          },
                          {
                            "id": "691327c5d367f4588f948202",
                            "role": "guest",
                            "name": "Patrick Doe",
                            "companyName": "ACME",
                            "phoneNumber": "+3211223344",
                            "email": "patrick.doe@acme.com",
                            "externalId": "crm-id-1235",
                            "tin": "123456790"
                          }
                        ]
                      },
                      "customer": null,
                      "payment": {
                        "tips": [],
                        "discountsTotal": 0,
                        "taxTotal": 0,
                        "tipTotal": 0,
                        "total": 4500
                      },
                      "fulfillment": {
                        "type": "pickup"
                      },
                      "taxes": [],
                      "discounts": []
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "663dff85512e27ec790fe713"
                    },
                    "created": {
                      "type": "string",
                      "example": "2024-05-10T11:05:41.194000+00:00"
                    },
                    "updated": {
                      "type": "string",
                      "example": "2024-05-10T11:05:41.226000+00:00"
                    },
                    "deleted": {
                      "type": "boolean",
                      "example": false,
                      "default": true
                    },
                    "etag": {
                      "type": "string",
                      "example": "4f95244e98557fec08e449e767afb340842cf4f2"
                    },
                    "accountId": {
                      "type": "string",
                      "example": "65c35d109a19b819b7cf78d8"
                    },
                    "storeId": {
                      "type": "string",
                      "example": "65eee6a9984a1bc1b9637c59"
                    },
                    "channelOrderId": {
                      "type": "string"
                    },
                    "channelOrderDisplayId": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string",
                      "example": "EUR"
                    },
                    "taxExclusive": {
                      "type": "boolean",
                      "example": false,
                      "default": true
                    },
                    "status": {
                      "type": "string",
                      "example": "open"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "plu": {
                            "type": "string",
                            "example": "PLU-1"
                          },
                          "quantity": {
                            "type": "integer",
                            "example": 1,
                            "default": 0
                          },
                          "note": {
                            "type": "string",
                            "example": "extra salt please"
                          },
                          "menuId": {
                            "type": "string",
                            "example": "662fa50c9ddcfc5397580587"
                          },
                          "price": {
                            "type": "integer",
                            "example": 1500,
                            "default": 0
                          },
                          "gross": {
                            "type": "integer",
                            "example": 1500,
                            "default": 0
                          },
                          "taxes": {
                            "type": "array"
                          },
                          "net": {
                            "type": "integer",
                            "example": 1500,
                            "default": 0
                          },
                          "subItems": {
                            "type": "array"
                          },
                          "discounts": {
                            "type": "array"
                          },
                          "discountTotal": {
                            "type": "integer",
                            "example": 0,
                            "default": 0
                          }
                        }
                      }
                    },
                    "payment": {
                      "type": "object",
                      "properties": {
                        "tips": {
                          "type": "array"
                        },
                        "discountsTotal": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "taxTotal": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "tipTotal": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "total": {
                          "type": "integer",
                          "example": 4500,
                          "default": 0
                        }
                      }
                    },
                    "customer": {},
                    "fulfillment": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "pickup"
                        }
                      }
                    },
                    "taxes": {
                      "type": "array"
                    },
                    "discounts": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "Insufficient permissions": {
                    "summary": "Insufficient permissions",
                    "value": {
                      "code": "insufficient_permissions",
                      "description": ""
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "Basket not found": {
                    "summary": "Basket not found",
                    "value": {
                      "error": "basket not found"
                    }
                  },
                  "Account not found": {
                    "summary": "Account not found",
                    "value": {
                      "error": "account not found",
                      "http_code": 404,
                      "description": "account not found"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict — a concurrent update to the basket was detected"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message",
                    "context",
                    "traceId"
                  ],
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "context": {
                      "type": "object"
                    },
                    "traceId": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "Menu not found": {
                    "summary": "Menu not found",
                    "value": {
                      "code": "menu_not_found",
                      "message": "Menu was not found",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1"
                      },
                      "traceId": "73a156c0d2a9dc4502be08cbe949ac40"
                    }
                  },
                  "Product not found": {
                    "summary": "Product not found",
                    "value": {
                      "code": "product_not_found",
                      "message": "Product was not found",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "plu": "BURGER-01",
                        "fulfillmentType": "delivery"
                      },
                      "traceId": "cff0411a4a5ce137b5a353efd1c83b5b"
                    }
                  },
                  "Product snoozed": {
                    "summary": "Product snoozed",
                    "value": {
                      "code": "product_snoozed",
                      "message": "Product is currently snoozed",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "plu": "FRIES-L"
                      },
                      "traceId": "7e4df4393c55c85a308cf7e01dda19b5"
                    }
                  },
                  "Product fulfillment type not supported": {
                    "summary": "Product fulfillment type not supported",
                    "value": {
                      "code": "product_fulfillment_not_supported",
                      "message": "Product does not support the requested fulfillment type",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "plu": "BURGER-01",
                        "fulfillmentType": "delivery"
                      },
                      "traceId": "224ec5a7122ddeed5d7ffbd9310b2f8b"
                    }
                  },
                  "Product customization not found": {
                    "summary": "Product customization not found",
                    "value": {
                      "code": "product_customization_not_found",
                      "message": "Product customization was not found. It is not present in the menu",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "plu": "SAUCE-BBQ"
                      },
                      "traceId": "c2683d2d5304eb93bc65179bc533dc69"
                    }
                  },
                  "Product unavailable": {
                    "summary": "Product unavailable",
                    "value": {
                      "code": "product_unavailable",
                      "message": "Product unavailable. The product belongs to a category (or categories) that is (are) unavailable at the time.",
                      "context": {
                        "fulfillmentTime": "2026-09-02T09:30:00+02:00",
                        "plu": "BURGER-01",
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1"
                      },
                      "traceId": "d469dfe6494f742606eb5f9eb3e32d4d"
                    }
                  },
                  "Product maximum quantity exceeded": {
                    "summary": "Product maximum quantity exceeded",
                    "value": {
                      "code": "product_max_quantity_exceeded",
                      "message": "At most 5 allowed for the product BURGER-01",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "plu": "BURGER-01",
                        "maxAllowed": 5,
                        "actualQuantity": 7
                      },
                      "traceId": "ab475a8c97943665bb148e89c2da6a96"
                    }
                  },
                  "Product requires modifiers": {
                    "summary": "Product requires modifiers",
                    "value": {
                      "code": "product_requires_modifiers",
                      "message": "Product BURGER-01 requires modifiers to be selected",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "plu": "BURGER-01"
                      },
                      "traceId": "d88c12386a5b9aea80e875cac0c7e9e8"
                    }
                  },
                  "Customization minimum selection not met": {
                    "summary": "Customization minimum selection not met",
                    "value": {
                      "code": "customization_min_selection_not_met",
                      "message": "At least 1 items must be selected for this customization group",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "customizationPlu": "MOD-SAUCES",
                        "minRequired": 1,
                        "actualQuantity": 0
                      },
                      "traceId": "478c54a9368324e2fb0f1ef73e99a54d"
                    }
                  },
                  "Customization maximum selection exceeded": {
                    "summary": "Customization maximum selection exceeded",
                    "value": {
                      "code": "customization_max_selection_exceeded",
                      "message": "At most 2 items can be selected for this customization group",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "customizationPlu": "MOD-SAUCES",
                        "maxAllowed": 2,
                        "actualQuantity": 3
                      },
                      "traceId": "a9cab52d0d2199af25e70e9a9821a45c"
                    }
                  },
                  "Customization multi-maximum selection exceeded": {
                    "summary": "Customization multi-maximum selection exceeded",
                    "value": {
                      "code": "customization_multi_max_selection_exceeded",
                      "message": "At most 1 of the same item allowed in customization",
                      "context": {
                        "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                        "customizationPlu": "MOD-SAUCES",
                        "multiMaxAllowed": 1,
                        "plu": "SAUCE-BBQ"
                      },
                      "traceId": "9e93036e1a24d44e0f6c7f130f81a368"
                    }
                  },
                  "Grouped product errors": {
                    "summary": "Grouped product errors",
                    "value": {
                      "code": "grouped_errors",
                      "message": "2 product(s) could not be added to the basket",
                      "context": {
                        "errors": [
                          {
                            "code": "product_not_found",
                            "message": "Product was not found",
                            "context": {
                              "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                              "plu": "missing-1",
                              "fulfillmentType": "pickup"
                            }
                          },
                          {
                            "code": "product_snoozed",
                            "message": "Product is currently snoozed",
                            "context": {
                              "menuId": "64f1a2b3c4d5e6f7a8b9c0d1",
                              "plu": "snoozed-1"
                            }
                          }
                        ]
                      },
                      "traceId": "1530dc84458cf62320e53b6bdf5cb878"
                    }
                  },
                  "Customer not a member of basket": {
                    "summary": "Customer not a member of basket",
                    "value": {
                      "code": "customer_not_a_member_of_basket",
                      "message": "One or more items reference a customerId that does not exist in the basket.",
                      "context": {},
                      "traceId": "d8be571307caebca396abf228683f434"
                    }
                  },
                  "Customer ID required for group basket": {
                    "summary": "Customer ID required for group basket",
                    "value": {
                      "code": "customer_id_required_for_group_basket",
                      "message": "One or more items are missing a customerId. All items in a group basket must have a customerId.",
                      "context": {},
                      "traceId": "6b71bf300eaf9ddd4d757517fc0e8b9e"
                    }
                  },
                  "Basket modification deadline passed": {
                    "summary": "Basket modification deadline passed",
                    "value": {
                      "code": "basket_modification_deadline_passed",
                      "message": "The deadline for modifying the basket has passed. You can no longer modify the basket.",
                      "context": {
                        "deadline": "2026-09-02T11:30:00+00:00",
                        "customerId": "cust-002"
                      },
                      "traceId": "4f85937d58366a504fffab2a9cafc607"
                    }
                  },
                  "Group spending limit exceeded": {
                    "summary": "Group spending limit exceeded",
                    "value": {
                      "code": "group_spending_limit_exceeded",
                      "message": "Basket total exceeds the maximum allowed spending limit of 10000.",
                      "context": {
                        "limit": 10000,
                        "actualTotal": 10850
                      },
                      "traceId": "c788566c2a592f39d3d4c115916528a1"
                    }
                  },
                  "Customer spending limit exceeded": {
                    "summary": "Customer spending limit exceeded",
                    "value": {
                      "code": "customer_spending_limit_exceeded",
                      "message": "Customer total exceeds the maximum allowed spending limit of 2000.",
                      "context": {
                        "customerId": "cust-002",
                        "limit": 2000,
                        "currentSpend": 2450
                      },
                      "traceId": "4f023bb5f2dc092cb34001a769a7ab5d"
                    }
                  },
                  "Unable to calculate taxes": {
                    "summary": "Unable to calculate taxes",
                    "value": {
                      "code": "unable_to_calculate_taxes",
                      "message": "Unable to calculate taxes for the basket.",
                      "context": {},
                      "traceId": "85a503f98203349c87269488edd29351"
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  }
}
```