Rule reference

applicable_intents is not an array

artf.intents.not_arrayerrorARTF envelope

applicable_intents is a repeated field, so its JSON form is an array even when it holds one value.

What it means

applicable_intents carries a scalar or an object instead of an array. Protobuf repeated fields always serialise as JSON arrays.

Why it matters

A single-intent extension point is the case where this slips through, because a bare string looks natural and protojson will refuse it.

How to fix it

Wrap the value in an array, even when there is only one.

Example that trips it

{ "id": "ep-1", "tmax": 120, "lifecycle": "LIFECYCLE_PUBLISHER_BID_REQUEST", "applicable_intents": "ACTIVATE_DEALS", "bid_request": { "id": "a-1" } }

Check your payload

Paste a bid request or response into the tester to see whether this code fires against it, or gate on the id in CI with the CLI: the id is stable, wording is not.

Back to the full diagnostic code reference.