Rule reference

Mutation op is OPERATION_UNSPECIFIED

artf.mutation.op_unspecifiederrorARTF mutation set

The operation is unset, so the change has a target and a value but no verb.

What it means

op is the enum's zero value, which protobuf cannot distinguish from an unset field.

Why it matters

For an id list the difference between add and replace is the difference between extending the deals on an impression and discarding the ones already there. That is not a detail an orchestrator can infer from intent alone.

How to fix it

Set the operation explicitly on every mutation.

Example that trips it

{ "intent": "ACTIVATE_DEALS", "op": "OPERATION_UNSPECIFIED", "path": "/imp/imp-1", "ids": { "id": ["deal-2"] } }

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.