> 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 # UpdateRibbon # Package: catalogV3 # Namespace: RibbonService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/ribbons-v3/update-ribbon.md ## Permission Scopes: Ribbon write in v3 catalog: SCOPE.STORES.RIBBON_WRITE ## Introduction Updates a ribbon. Each time the ribbon is updated, `revision` increments by 1. The current `revision` must be passed when updating the ribbon. This ensures you're working with the latest ribbon and prevents unintended overwrites. --- ## REST API ### Schema ``` Method: updateRibbon Description: Updates a ribbon. Each time the ribbon is updated, `revision` increments by 1. The current `revision` must be passed when updating the ribbon. This ensures you're working with the latest ribbon and prevents unintended overwrites. URL: https://www.wixapis.com/stores/v3/ribbons/{ribbon.id} Method: PATCH # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: ribbon, ribbon.id, ribbon.revision Method parameters: param name: fields | type: array | description: Fields to include in the response. Supported values: `ASSIGNED_PRODUCTS_COUNT` - enum: ASSIGNED_PRODUCT_COUNT param name: ribbon | type: Ribbon | description: A Ribbon is a visual element that you can assign to products to highlight them on your site. | required: true - name: id | type: string | description: Ribbon GUID. | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the ribbon is updated. To prevent conflicting changes, the current revision must be passed when updating the ribbon. Ignored when creating a ribbon. | required: true - name: name | type: string | description: Ribbon name. Return type: UpdateRibbonResponse - name: ribbon | type: Ribbon | description: Updated Ribbon. - name: id | type: string | description: Ribbon GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the ribbon is updated. To prevent conflicting changes, the current revision must be passed when updating the ribbon. Ignored when creating a ribbon. - name: createdDate | type: string | description: Date and time the ribbon was created. - name: updatedDate | type: string | description: Date and time the ribbon was updated. - name: name | type: string | description: Ribbon name. - name: assignedProductCount | type: integer | description: Number of products this ribbon is assigned to. Includes both primary and additional ribbons. > **Note:** Returned only when you pass `"ASSIGNED_PRODUCT_COUNT"` to the `fields` array in Ribbon API requests. ``` ### Examples ### Update a ribbon ```curl curl -X PATCH \ 'https://www.wixapis.com/stores/v3/ribbons/2254c3b3-6bbd-457d-b868-9122657c5d1c' \ -H 'Content-type: application/json' \ -H 'Authorization: ' \ -d '{ "ribbon": { "name": "New!", "revision": "1" } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.catalogV3.RibbonService.updateRibbon(_id, ribbon, options) Description: Updates a ribbon. Each time the ribbon is updated, `revision` increments by 1. The current `revision` must be passed when updating the ribbon. This ensures you're working with the latest ribbon and prevents unintended overwrites. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: ribbon, _id, ribbon.revision Method parameters: param name: _id | type: string | description: Ribbon GUID. | required: true param name: options | type: UpdateRibbonOptions none - name: fields | type: array | description: Fields to include in the response. Supported values: `ASSIGNED_PRODUCTS_COUNT` - enum: ASSIGNED_PRODUCT_COUNT param name: ribbon | type: UpdateRibbon | description: A Ribbon is a visual element that you can assign to products to highlight them on your site. | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the ribbon is updated. To prevent conflicting changes, the current revision must be passed when updating the ribbon. Ignored when creating a ribbon. | required: true - name: name | type: string | description: Ribbon name. Return type: PROMISE - name: _id | type: string | description: Ribbon GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the ribbon is updated. To prevent conflicting changes, the current revision must be passed when updating the ribbon. Ignored when creating a ribbon. - name: _createdDate | type: Date | description: Date and time the ribbon was created. - name: _updatedDate | type: Date | description: Date and time the ribbon was updated. - name: name | type: string | description: Ribbon name. - name: assignedProductCount | type: integer | description: Number of products this ribbon is assigned to. Includes both primary and additional ribbons. > **Note:** Returned only when you pass `"ASSIGNED_PRODUCT_COUNT"` to the `fields` array in Ribbon API requests. ``` ### Examples ### Update a ribbon ```javascript import { ribbonsV3 } from "@wix/stores"; const ribbonId = "2254c3b3-6bbd-457d-b868-9122657c5d1c"; const ribbon = { name: "New!", revision: "1" }; async function updateRibbon() { const response = await ribbonsV3.updateRibbon(ribbonId, ribbon); } /* Promise resolves to: * { * "_id": "2254c3b3-6bbd-457d-b868-9122657c5d1c", * "_createdDate": "2025-12-11T09:27:03.000Z", * "_updatedDate": "2025-12-11T09:27:06.000Z", * "revision": "2", * "name": "New!" * } */ ``` ### updateRibbon (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 { ribbonsV3 } from '@wix/stores'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { ribbonsV3 }, // Include the auth strategy and host as relevant }); async function updateRibbon(_id,ribbon,options) { const response = await myWixClient.ribbonsV3.updateRibbon(_id,ribbon,options); }; ``` ---