Rule reference

Field required by the declared exchange profile

openrtb.profile.field_requirederrorBid request

An exchange profile was declared, and a field that exchange documents as required is missing or empty.

What it means

The payload was validated against an exchange profile (today, google-ab for Google Authorized Buyers). That profile documents extra required fields the OpenRTB specification leaves optional. Google's bid request requires Imp.ext.billing_id, the eligible billing IDs a winning bid may attribute the impression to.

Why it matters

A payload that is valid OpenRTB can still be undeliverable on a specific exchange. Without the profile, billing_id is just another extension and at: 3 is an illegal auction type. Declaring the profile is how the extra protocol is asked for rather than guessed.

How to fix it

Populate the field the profile names, or drop --profile / profile: google-ab if you meant the specification only. Floors, blocklists, and other business policy are not encoded here.

Example that trips it

{ "id": "req-1", "imp": [{ "id": "1", "banner": { "w": 300, "h": 250 } }] }

Validated with --profile google-ab. The same payload is valid against the specification, which does not require Imp.ext.billing_id.

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.