Skip to main content
This example publishes three rule sets: base earning, a promotional fallback pair, and purchase tracking. Every set with a matching ACTIVE rule runs.

Final run order

A premium purchase receives base earning plus the premium promotional credit. The premium rule has a per-rule budget. Budget exhaustion skips that rule and lets evaluation continue to the fallback and later sets.

Use semantic positions

Insert a new set before an existing one without choosing a numeric order:
Move a rule after a sibling with the current revision guard:
For an atomic proposal, the rule_sets array and each nested rules array carry the final order. Do not send temporary numeric order values.

Keep mutually exclusive rates inside one set

premium_bonus skips only standard_bonus after a successful match. Base earning and tracking still run in their sets.

Test the snapshot dependency

The tracking set increments purchase_count, then checks whether the participant reached ten purchases:
Both conditions read the event-start count. When the count starts at 8, the event ends at 9 and the tag does not apply. When it starts at 9, the tag applies and the event ends at 10. Moving the second rule to a later set would not make it see the same-event increment.

Ground and diagnose a typo

Before publish, compare the draft’s event.type, event.amount, and event.segment references with observed shapes. If the draft says event.segmnet, clause diagnostics show a missing field during simulation, while the observed-shape inventory shows segment in real traffic. Fix the field name before publishing. Follow Managing rule configuration to analyze, test, preview, apply, and verify the draft.

Suspend, reactivate, and roll back

A suspended rule stays in its set and keeps its position. Keep its existing id in a complete draft and switch status between SUSPENDED and ACTIVE. Omitting the rule archives it. Rollback creates a new forward revision. Preview the historical target, review the inverse diff and warnings, then apply it through the standard configuration apply endpoint. Past revisions stay unchanged.