Icarian

Sign In Sign Up

Creating Rule-Based Lists

Rule-based lists automatically populate with cards matching specific criteria. This guide is for administrators who manage card lists.

When to Use Rule-Based Lists

Rule-based lists are best for:

  • Large collections - Lists with hundreds or thousands of cards
  • Criteria-based collections - Cards that share specific attributes
  • Auto-updating lists - Lists that should update when new cards are added
  • Format-based lists - Cards legal in specific formats or meeting format criteria

Examples: - Reserved List (all cards where isReserved = true) - Elder Dragons (legendary creatures with “Dragon” subtype matching specific criteria) - Commander-Legal Mythics (all mythic rares legal in Commander) - Format Staples by Type (all artifacts legal in Modern)

Available Rule Criteria

Rule-based lists support these filter criteria:

Rarity

Filter by card rarity: - mythic - Mythic rare cards - rare - Rare cards - uncommon - Uncommon cards - common - Common cards

Example: { "rarity": ["mythic", "rare"] } - All mythic and rare cards

Types

Filter by card types (matches cards with ALL specified types): - Creature, Artifact, Enchantment, Instant, Sorcery, Land, Planeswalker - Subtypes: Dragon, Elf, Goblin, Equipment, Aura, etc. - Supertypes: Legendary, Basic, Snow

Example: { "types": ["Legendary", "Creature", "Dragon"] } - All legendary Dragon creatures

Name Pattern

Filter by card name (case-insensitive partial match):

Example: { "name_pattern": "Mox" } - Matches “Mox Sapphire”, “Chrome Mox”, “Mox Diamond”, etc.

Reserved List

Filter for Reserved List cards:

Example: { "isReserved": true } - All Reserved List cards

Commander Eligibility

Filter for cards that can be used as commanders:

Example: { "commander_eligible": true } - All legendary creatures and other cards with special commander rules

Commander Legality

Filter for cards legal in Commander format:

Example: { "is_commander_legal": true } - All cards legal in Commander (not banned)

Creating a Rule-Based List

As an administrator:

  1. Navigate to Admin > Lists
  2. Click New List
  3. Enter the list name
  4. Select Rule-Based as the list type
  5. Write a description
  6. Click Create List

The list is created in unpublished state.

Defining Rules

After creating the list, define the filter rules:

  1. Go to the list detail page in the admin area
  2. Click Edit Rules
  3. Enter your rules as JSON (see examples below)
  4. Click Preview to see which cards will match
  5. Review the preview results
  6. Click Save Rules

Rule Examples

Elder Dragons List

All legendary Dragon creatures with Dragon subtype:

json { "types": ["Legendary", "Creature", "Dragon"] }

This matches cards like: - Nicol Bolas - The Ur-Dragon - Kolaghan, the Storm’s Fury

Reserved List

All cards on the Reserved List:

json { "isReserved": true }

High-Value Commander Staples

Mythic or rare cards that are commander-legal:

json { "rarity": ["mythic", "rare"], "is_commander_legal": true }

Mox Cards

All cards with “Mox” in the name:

json { "name_pattern": "Mox" }

Matches: Mox Sapphire, Mox Diamond, Chrome Mox, etc.

Legendary Artifacts

All legendary artifacts:

json { "types": ["Legendary", "Artifact"] }

Reserved List Elder Dragons

Combining multiple criteria (all conditions must match):

json { "types": ["Legendary", "Creature", "Dragon"], "isReserved": true }

This matches only the original Elder Dragons from Legends that are on the Reserved List.

Rebuilding Lists

Rule-based lists automatically update when: - New cards are added to the database - Card metadata is updated

You can also manually rebuild a list:

  1. Navigate to the list in the admin area
  2. Click Rebuild List
  3. The list will be regenerated based on current rules

This is useful after: - Changing the rules - Importing new card data - Fixing card metadata

Publishing the List

Once your rule-based list is configured:

  1. Preview the results to verify correctness
  2. Check that the description explains the list clearly
  3. Click Publish

The list is now visible to all users!

Previewing Rules Before Saving

Before saving rules, always preview:

  1. Enter your JSON rules
  2. Click Preview Rules
  3. Review the card count and sample cards
  4. Verify the results match your expectations
  5. Adjust rules if needed
  6. Save when satisfied

This prevents publishing incorrect or empty lists.

Common Rule Patterns

By Supertype

json { "types": ["Legendary"] }

By Type and Subtype

json { "types": ["Creature", "Elf"] }

By Rarity and Format

json { "rarity": ["mythic"], "is_commander_legal": true }

By Name and Type

json { "name_pattern": "Jace", "types": ["Planeswalker"] }

Troubleshooting

“No cards matched”

  • Check your JSON syntax
  • Verify field names are correct (isReserved, not is_reserved)
  • Try previewing with simpler rules to isolate the issue
  • Ensure card database has the metadata you’re filtering on

“Too many cards”

  • Add more specific criteria
  • Combine filters to narrow results
  • Consider splitting into multiple lists

“Rules not updating”

  • Click Rebuild List to force regeneration
  • Clear browser cache if changes aren’t visible
  • Check that rules were saved (not just previewed)

Best Practices

  1. Test with preview - Always preview before saving rules
  2. Document clearly - Explain in the description what the rules match
  3. Start simple - Begin with one criterion, then add more
  4. Rebuild after changes - Manually rebuild when updating rules
  5. Monitor card count - Large lists (>1000 cards) may need refinement

Rule-Based vs. Manual Lists

Feature Rule-Based Lists Manual Lists
Maintenance Auto-updates Manual updates required
Size Great for large lists Best for small lists
Flexibility Limited to available rules Complete control
Order Alphabetical Custom ordering
Use case Criteria-based collections Curated, fixed collections

Advanced Example: Format Staples

Create a “Modern Red Burn Staples” list:

json { "types": ["Instant", "Sorcery"], "rarity": ["rare", "mythic"], "is_commander_legal": true }

Then manually filter by red color identity (when color filtering is added to rules).