Skip to main content
Takes a set of entities and branches the data based on the supplied path. Each match in the pattern creates a separate branch (a new entity) that continues independently through the rest of the route.

Fields

Pattern

Required. The dot-notated path to the array you want to split into branches. The pattern must contain * to indicate where to split: each element matching * becomes its own branch.
  • products.* — creates one branch per product in the products array.
  • order.lines.* — creates one branch per line in order.lines.
Without *, the brancher cannot split data and will produce no branches.

Entity schema

The entity schema that describes the shape of each resulting branch.

Sample data

Pattern: products.* Input (one entity):
{
    "products": [
        { "sku": "A1", "stock": 5 },
        { "sku": "B2", "stock": 0 }
    ]
}
Output (two branches):
{ "sku": "A1", "stock": 5 }
{ "sku": "B2", "stock": 0 }

Notes

  • The * is required — unlike the “Pattern to items” field in stream deserializers, the brancher needs * to know which level to split on.
  • Nested wildcards (e.g. orders.*.lines.*) are not supported; use a second brancher step for deeper nesting.