display_type on each pricing.modifiers entry for a modifier product. Fire spark validates that the value matches the group and modifier minimum and maximum quantities when you upsert a menu.
Menu sync overview
Read the menu sync guide for payload structure, modifier groups, and nested
modifiers.
Where the field lives
display_type is not set on the modifier group. Groups use display_type for layout only (LIST or GRID).
Per-modifier UI control lives on the modifier product under pricing.modifiers, one object per modifier_group_id where that product appears as an option:
display_type, Fire spark infers the control from group and modifier quantity limits using the table below. Inference is deterministic when those bounds are present.
When the group max is greater than 1 and you omit
maximum_quantity on the
modifier entry, Fire spark treats the modifier as quantity-capable and infers
QUANTITY. For checkbox-style options in a multi-select group, set
maximum_quantity: 1. An explicit display_type is optional in that case —
it documents intent for API consumers but must match the quantity bounds when
you send it.Expected display type by quantity limits
Use the group bounds frommodifier_groups[].minimum_quantity and modifier_groups[].maximum_quantity, and the modifier bounds from the matching pricing.modifiers entry on the modifier product.
When the group max is greater than 1 and you omit
maximum_quantity on the
modifier entry, validation treats the modifier as quantity-capable (QUANTITY).
Set maximum_quantity: 1 explicitly when the option should behave as a
checkbox inside a multi-select group.Examples
Validation errors
Menu sync runs these checks onstyle: "DEFAULT" payloads.
Modifier group breaks the rule
Modifier breaks the rule
Example rejection:
Decision flow
Related fields
See Upsert menus for the full
pricing.modifiers schema.