> 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 # BulkUpdateSupplierTags # Package: suppliersHub # Namespace: MarketplaceSupplier # Method link: https://dev.wix.com/docs/api-reference/business-solutions/suppliers-hub/suppliers/bulk-update-supplier-tags.md ## Permission Scopes: Write Marketplace: SCOPE.SUPPLIERS_HUB.WRITE_MARKETPLACE ## Introduction Updates tags on multiple suppliers specified by supplier IDs in a single synchronous request. Supports up to 100 suppliers per request. You can assign new tags, unassign existing tags, or both in a single operation. If a tag appears in both `assignTags` and `unassignTags` lists, it will be assigned. Assignment takes precedence. Use this endpoint to organize suppliers with public tags for categorization visible to site members, or private tags for internal management requiring additional permissions. --- ## REST API ### Schema ``` Method: bulkUpdateSupplierTags Description: Updates tags on multiple suppliers specified by supplier GUIDs in a single synchronous request. Supports up to 100 suppliers per request. You can assign new tags, unassign existing tags, or both in a single operation. If a tag appears in both `assignTags` and `unassignTags` lists, it will be assigned. Assignment takes precedence. Use this endpoint to organize suppliers with public tags for categorization visible to site members, or private tags for internal management requiring additional permissions. URL: https://www.wixapis.com/suppliers-hub/v1/bulk/suppliers/update-tags Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: supplierIds Method parameters: param name: assignTags | type: Tags | description: Common object for tags. Should be use as in this example: message Foo { option (.wix.api.decomposite_of) = "wix.commons.v2.tags.Foo"; string id = 1; ... Tags tags = 5 } example of taggable entity { id: "123" tags: { public_tags: { tag_ids:["11","22"] }, private_tags: { tag_ids: ["33", "44"] } } } - name: privateTags | type: TagList | description: Tags that require an additional permission in order to access them, normally not given to site members or visitors. - name: tagIds | type: array | description: List of tag GUIDs. - name: publicTags | type: TagList | description: Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. param name: supplierIds | type: array | description: List of supplier GUIDs to update tags for. | required: true param name: unassignTags | type: Tags | description: Common object for tags. Should be use as in this example: message Foo { option (.wix.api.decomposite_of) = "wix.commons.v2.tags.Foo"; string id = 1; ... Tags tags = 5 } example of taggable entity { id: "123" tags: { public_tags: { tag_ids:["11","22"] }, private_tags: { tag_ids: ["33", "44"] } } } - name: privateTags | type: TagList | description: Tags that require an additional permission in order to access them, normally not given to site members or visitors. - name: publicTags | type: TagList | description: Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. Return type: BulkUpdateSupplierTagsResponse - name: results | type: array | description: Results - name: itemMetadata | type: ItemMetadata | description: Metadata regarding the specific single update operation - name: id | type: string | description: Item GUID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed. - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action for this item was successful. When `false`, the `error` field is returned. - name: error | type: ApplicationError | description: Details about the error in case of failure. - name: code | type: string | description: Error code. - name: description | type: string | description: Description of the error. - name: data | type: object | description: Data related to the error. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata regarding the bulk update operation - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: EMPTY_ASSIGN_AND_UNASSIGN_LISTS | Description: Both `assignTags` and `unassignTags` are empty. Provide at least one tag to assign or unassign. ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.suppliersHub.MarketplaceSupplier.bulkUpdateSupplierTags(supplierIds, options) Description: Updates tags on multiple suppliers specified by supplier GUIDs in a single synchronous request. Supports up to 100 suppliers per request. You can assign new tags, unassign existing tags, or both in a single operation. If a tag appears in both `assignTags` and `unassignTags` lists, it will be assigned. Assignment takes precedence. Use this endpoint to organize suppliers with public tags for categorization visible to site members, or private tags for internal management requiring additional permissions. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: supplierIds Method parameters: param name: options | type: BulkUpdateSupplierTagsOptions none - name: assignTags | type: Tags | description: Tags to assign to the specified suppliers. If a tag appears in both `assignTags` and `unassignTags`, it will be assigned. - name: privateTags | type: TagList | description: Tags that require an additional permission in order to access them, normally not given to site members or visitors. - name: tagIds | type: array | description: List of tag GUIDs. - name: publicTags | type: TagList | description: Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. - name: unassignTags | type: Tags | description: Tags to remove from the specified suppliers. param name: supplierIds | type: array | description: List of supplier GUIDs to update tags for. | required: true Return type: PROMISE - name: results | type: array | description: Results - name: itemMetadata | type: ItemMetadata | description: Metadata regarding the specific single update operation - name: _id | type: string | description: Item GUID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed. - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action for this item was successful. When `false`, the `error` field is returned. - name: error | type: ApplicationError | description: Details about the error in case of failure. - name: code | type: string | description: Error code. - name: description | type: string | description: Description of the error. - name: data | type: object | description: Data related to the error. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata regarding the bulk update operation - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: EMPTY_ASSIGN_AND_UNASSIGN_LISTS | Description: Both `assignTags` and `unassignTags` are empty. Provide at least one tag to assign or unassign. ``` ### Examples ### bulkUpdateSupplierTags ```javascript import { suppliers } from '@wix/suppliers-hub'; async function bulkUpdateSupplierTags(supplierIds,options) { const response = await suppliers.bulkUpdateSupplierTags(supplierIds,options); }; ``` ### bulkUpdateSupplierTags (with elevated permissions) ```javascript import { suppliers } from '@wix/suppliers-hub'; import { auth } from '@wix/essentials'; async function myBulkUpdateSupplierTagsMethod(supplierIds,options) { const elevatedBulkUpdateSupplierTags = auth.elevate(suppliers.bulkUpdateSupplierTags); const response = await elevatedBulkUpdateSupplierTags(supplierIds,options); } ``` ### bulkUpdateSupplierTags (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 { suppliers } from '@wix/suppliers-hub'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { suppliers }, // Include the auth strategy and host as relevant }); async function bulkUpdateSupplierTags(supplierIds,options) { const response = await myWixClient.suppliers.bulkUpdateSupplierTags(supplierIds,options); }; ``` ---