> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # UpdateDataItem # Package: cms # Namespace: DataItemService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/cms/data-items/update-data-item.md ## Permission Scopes: Write Data Items: SCOPE.DC-DATA.WRITE ## Introduction Updates an item in a collection. This method replaces the data item's existing data with the payload provided in `dataItem.data` in the request. To update an item, you need to specify an item ID and a collection ID. If an item is found in the specified collection with the specified ID, that item is updated. If the collection doesn't contain an item with that ID, the request fails. When an item is updated, its `data._updatedDate` field is changed to the current date and time. > **Note:** > After an item is updated, it only contains the fields included in the `dataItem.data` payload in Update Data Item request. If the existing item has fields with values and those fields aren't included in the updated item, their values are lost. --- ## REST API ### Schema ``` Method: updateDataItem Description: Updates an item in a collection. This method replaces the data item's existing data with the payload provided in `dataItem.data` in the request. To update an item, you need to specify an item GUID and a collection GUID. If an item is found in the specified collection with the specified GUID, that item is updated. If the collection doesn't contain an item with that GUID, the request fails. When an item is updated, its `data._updatedDate` field is changed to the current date and time. > **Note:** > After an item is updated, it only contains the fields included in the `dataItem.data` payload in Update Data Item request. If the existing item has fields with values and those fields aren't included in the updated item, their values are lost. URL: https://www.wixapis.com/wix-data/v2/items/{dataItem.id} Method: PUT # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: dataCollectionId, dataItem, dataItem.id Method parameters: param name: appOptions | type: appOptions | description: Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying. When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields.md), pass the following optional parameters: - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`. - `includeVariants`: Whether to include product variants in the query. Default: `false`. param name: condition | type: Condition - name: filter | type: object | description: Filter, changes to item(s) will only apply if they satisfy this filter. Learn more about filters in [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language.md#filters). param name: dataCollectionId | type: dataCollectionId | description: GUID of the collection containing the existing item. | required: true param name: dataItem | type: DataItem | required: true - name: id | type: string | description: Data item GUID. | required: true - name: data | type: object | description: Data item contents. Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields: + `_id`: Item GUID. + `_createdDate`: Date and time the item was added to the collection. + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. + `_ownerId`: GUID of the user who created the item. Can be modified with site owner permissions. param name: publishPluginOptions | type: PublishPluginOptions - name: includeDraftItems | type: boolean | description: Whether to include draft items. When `true`, both published and draft items are affected. Default: `false`. Return type: UpdateDataItemResponse - name: dataItem | type: DataItem | description: Updated data item. - name: id | type: string | description: Data item GUID. - name: dataCollectionId | type: string | description: GUID of the collection this item belongs to - name: data | type: object | description: Data item contents. Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields: + `_id`: Item GUID. + `_createdDate`: Date and time the item was added to the collection. + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. + `_ownerId`: GUID of the user who created the item. Can be modified with site owner permissions. ``` ### Examples ### Update an item conditionally: Mark an item on sale only if it has sufficient inventory. ```curl curl -X PUT \ 'https://www.wixapis.com/wix-data/v2/items/5331fc15-9441-4fd4-bc7b-7f6870c69228' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "dataCollectionId": "products", "dataItem": { "data": { "name": "Cat toy", "stock": 441, "onSale": true } }, "condition": { "filter": { "stock": { "$gt": 100 } } } }' ``` ### Update existing item ```curl curl -X PUT \ 'https://www.wixapis.com/wix-data/v2/items/5331fc15-9441-4fd4-bc7b-7f6870c69228' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "dataCollectionId": "cities", "dataItem": { "data": { "state": "California", "year": 2022, "city": "Los Angeles", "population": 3800000 } } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.cms.DataItemService.updateDataItem(dataCollectionId, item, options) Description: Updates an item in a collection. This method replaces the data item's existing data with the payload provided in `dataItem.data` in the request. To update an item, you need to specify an item GUID and a collection GUID. If an item is found in the specified collection with the specified GUID, that item is updated. If the collection doesn't contain an item with that GUID, the request fails. When an item is updated, its `data._updatedDate` field is changed to the current date and time. > **Note:** > After an item is updated, it only contains the fields included in the `dataItem.data` payload in Update Data Item request. If the existing item has fields with values and those fields aren't included in the updated item, their values are lost. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: dataCollectionId, item Method parameters: param name: dataCollectionId | type: string | description: GUID of the collection containing the existing item. | required: true param name: item | type: WixDataItem | description: Data item contents. Property-value pairs representing the data item's payload | required: true - name: _id | type: string | description: Data item GUID. - name: _createdDate | type: Date | description: Date and time the item was added to the collection. - name: _updatedDate | type: Date | description: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. - name: _owner | type: string | description: GUID of the user who created the item. Can be modified with site owner permissions. param name: options | type: WixDataUpdateOptions none - name: suppressHooks | type: boolean | description: Whether to suppress data hooks. When `true`, data hooks typically triggered by this endpoint don't run. **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend.md). Default: `false` - name: appOptions | type: object | description: Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying. When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields.md), pass the following optional parameters: - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`. - `includeVariants`: Whether to include product variants in the query. Default: `false`. - name: condition | type: Condition | description: Condition for updating the item. When a condition is provided, the item is only updated if the condition is met. - name: filter | type: object | description: Filter, changes to item(s) will only apply if they satisfy this filter. Learn more about filters in [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language.md#filters). - name: saveReferences | type: boolean | description: Whether to save multi-reference fields. When `true`, multi-reference fields in the data item will be updated to match the provided values, replacing any existing references. Multi-reference field values must be arrays of referenced item GUIDs (strings) or referenced items containing an `_id` field. Default: `false` - name: showDrafts | type: boolean | description: When `true`, operations include draft items. Read operations include draft items in their response, and write operations modify draft items. - name: includeReferences | type: boolean | description: If true, referenced items are included. Return type: PROMISE - name: _id | type: string | description: Data item GUID. - name: _createdDate | type: Date | description: Date and time the item was added to the collection. - name: _updatedDate | type: Date | description: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. - name: _owner | type: string | description: GUID of the user who created the item. Can be modified with site owner permissions. ``` ### Examples ### update ```javascript import { items } from '@wix/data'; async function update(dataCollectionId,item,options) { const response = await items.update(dataCollectionId,item,options); }; ``` ### update (with elevated permissions) ```javascript import { items } from '@wix/data'; import { auth } from '@wix/essentials'; async function myUpdateMethod(dataCollectionId,item,options) { const elevatedUpdate = auth.elevate(items.update); const response = await elevatedUpdate(dataCollectionId,item,options); } ``` ### update (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { items } from '@wix/data'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { items }, // Include the auth strategy and host as relevant }); async function update(dataCollectionId,item,options) { const response = await myWixClient.items.update(dataCollectionId,item,options); }; ``` ---