Skip to main content

Shared across providers, since pre-screen reads no provider signal. when may be { always: true }, which matches every screen; the post-screen rules have no such form, so an unconditional rule is unrepresentable there rather than merely rejected.

when
object
required

Boolean expression over the provider-independent fields only. Pre-screen decides whether the provider is called at all, so it cannot read a provider response. Exactly one of always, all, any, not, or a field/op/value comparison.

always is accepted only as a rule's whole condition, never nested, and only in preScreen — which is why it is declared here and not on the provider rule nodes. Anywhere else is a 400.

then
enum<string>
required

Whether the paid provider call happens. SCREEN when no rule matches.

Available options:
SCREEN,
SKIP
Last modified on October 6, 2026