Postman collection
Items Write

pixiTagMatchDeleteForItems

Removes tag assignments (TagMatch) from items for a list of tag/item pairs passed as XML and returns a status row per pair.

Deletes the assignment of item tags to items in bulk.

Input

TagsXML contains one Item element per item, each with a TagList of Tag elements. Every Tag element is one request (tag/item pair). The item is identified either by ItemId (the item key) or by ItemNrInt (internal item number, looked up in ItemCode with code type 2). If ItemId is given, it takes precedence over ItemNrInt. Values 0 for TagId/ItemId and empty ItemNrInt are treated as missing.

Validation per pair

  • TagId missing, or neither ItemId nor ItemNrInt given → Error / Mandatory parameter is missing.
  • ItemNrInt given but not found, ItemId not found in items, or TagId not an existing tag of type 1 (item tag) → Error / One of the provided values is not valid.
  • Tag and item valid and an assignment exists in TagMatch → assignment is deleted, Success / Tag was successfully removed from item.
  • Tag and item valid but no assignment exists → Warning / Tag is not assigned to that item.

Output

One result set with one row per processed Tag element (ordered by the position in the XML) containing TagId, the resolved ItemId, the given ItemNrInt, Status and Message. Invalid pairs do not stop the processing of the other pairs.

Notes

  • The whole call runs in a transaction (XACT_ABORT ON); if called inside an existing transaction, a savepoint is used instead.
  • On an unexpected SQL error the transaction is rolled back and the error is written to the error log via log.InsertError. The procedure does not return a result set in this case, so an empty response must be treated as failure.
  • If TagsXML is omitted (NULL) or contains no Tag elements, nothing is deleted and no rows (or no result set) are returned.
  • When ItemId and ItemNrInt are both given, only ItemId is used; consistency between the two is not checked.
  • If an ItemNrInt matches several items in ItemCode, the pair can produce several result rows.
  • Lookups use NOLOCK; the delete uses ROWLOCK.
  • Only tags with TypeId = 1 (item tags) are considered.

Tables used

ItemCode · Read items · Read Tag · Read TagMatch · Write
SQL object:
dbo.pipiTagMatchDeleteForItems
Updated at 2026-10-30