Factuarea APIDevelopers
Improved

Promotions on a variant and a presentation together

A promotion item can target a presentation sold with its variant, as its own item with its own price and previous price. Five updated promotions operations and two updated MCP tools.

5 November 2026 — A product without declared configurations is sold as a variant plus a presentation ("Soft · Box of 12"), and that pair has its own price. A promotion can now target it.

  • New field on each item — variant_id (UUID, optional). With target_type presentation, it is the variant of the same product the presentation is sold with. Omit it, or send null, for the presentation on its own.
  • Its own item — the pair is a different item from the presentation alone and from the variant alone, so the three can live in the same promotion. It only covers that pair, and it has its own price history and legal previous price.
  • Declared configurations — a product that declares its combinations keeps targeting the configuration with target_type configuration.
  • Rejected values — a variant of another product, or variant_id with any other target_type, returns 422 invalid_promotion_item with param items.N.target_id.
  • Where it is returned — every item of a promotion returns variant_id, null when there is no pair, and selection_label reads "Soft · Box of 12".
  • MCP tools — create_promotion and update_promotion accept variant_id on each item.

Integrations that do not send the field need no changes: an item without variant_id behaves as before.