MCP tools

Validate structure rules

Validate an engine StructureState against the rules engine WITHOUT saving.

Tool name: validate-structure-rules.

Validate an engine StructureState against the rules engine WITHOUT saving. Returns whether it is representable and the derived distribution (sets x creatives x max-per-set) plus any issues. Always call before authoring/editing to confirm the distribution is real. Read-only.

When to use

Dry-run a candidate StructureState before author/edit so you never promise an impossible distribution.

Access

PropertyValue
Required scoperead
PublishesNo
Read-onlyYes
DestructiveNo
IdempotentYes
Open worldNo

Input

FieldTypeRequiredDescription
configobjectYes
config.countModestringYesdynamic = use the real attached-creative count at apply; fixed = exactly n. One of dynamic, fixed.
config.nintegerYescreative count (for dynamic, a placeholder the engine substitutes at apply). Maximum 1000.
config.adsetsstringYesfixed = exactly k sets; distributed = ceil(n/per) sets of per. One of fixed, distributed.
config.kintegerYesnumber of ad sets when adsets=fixed (clamped 1..20). Maximum 20.
config.perintegerYescreatives per set when adsets=distributed. Maximum 20.
config.placementstringYesfixed-adsets only: broadcast = every set gets every creative; split = partition. One of broadcast, split.
config.splitModestringYesOne of even, weighted, roundrobin.
config.weightsnumber[] | nullYesAt most 20 items.
config.namestringYes
config.opsobject[] | nullYesfixed-N custom drag-drop ops: clone/move/remove/group/addset
config.remainderPolicystringNoOne of frontload, lastset, drop.
config.minPerSetintegerNoMinimum 0, maximum 50.
config.maxPerSetintegerNoMinimum 0, maximum 50.
audiencesobject[]NoTemplate-level audiences (targetingSet | customAudience | savedAudience). At least one is required to save or apply.

Output

The tool catalog does not declare an output schema for this tool.

REST equivalent

MCP only. No REST operation does the same thing.

On this page