Rule reference

tmax is not an integer

artf.tmax.not_integererrorARTF envelope

tmax carries a non-integer value. It is the milliseconds the exchange allows for mutations to come back.

What it means

tmax arrived as something other than a whole number: a string, a float, or a null. The field is an int32 carrying milliseconds.

Why it matters

A string tmax fails to unmarshal on the agent side, and a fractional one is a sign the value was computed in seconds and converted carelessly. Either way the agent cannot size its own work.

How to fix it

Send whole milliseconds as a number, not a string.

Example that trips it

{ "id": "ep-1", "tmax": "120", "lifecycle": "LIFECYCLE_PUBLISHER_BID_REQUEST", "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.