openrtb.schain.node.asi_not_domain
What it means
A SupplyChain node's asi holds something other than a bare canonical domain. The usual shapes are a full URL, a domain with a trailing slash, a host:port pair, or a value with stray whitespace.
Why it matters
asi is a lookup key, not a label. Verifying a hop means fetching that domain's sellers.json and matching the sid inside it, then cross-checking the publisher's ads.txt. Anything that is not a bare domain fails the lookup, so the node cannot be authorised and the chain does not verify.
How to fix it
Strip the value to the canonical domain of the selling system, matching the identifier used for that system in ads.txt. Parse and normalise at the point the node is built rather than trusting a configured string.
Example that trips it
{ "source": { "schain": { "nodes": [{ "asi": "https://exchange.example/ssp", "sid": "pub-42", "hp": 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.