SupplyChain.nodes
The ordered array of SupplyChainNode objects. In a complete chain the first node is the inventory owner's system; in an incomplete one it is the earliest known hop. The last node is always the system sending this request.
Field facts
- Path
source.schain.nodes- Object
- SupplyChain
- Type
- object array
- Requirement
- Required
- Added
- OpenRTB 2.6-202204
- Spec section
- 3.2.25
How it is used
Append, never rewrite. A forwarding system copies the nodes it received and adds one node describing itself: its own domain in asi and, in sid, the account its upstream partner holds with it. Real chains are short, a handful of nodes at most, and the validator warns when a chain passes ten.
Example
Where the field sits in a payload, with everything else left out:
{
"id": "req-1",
"source": {
"schain": {
"nodes": [
{
"asi": "ssp.example",
"sid": "pub-4791",
"hp": 1
},
{
"asi": "exchange.example",
"sid": "reseller-102",
"hp": 1
}
]
}
}
}Common mistakes
- Appending your node twice, or adding a node that upstream already added, creates adjacent duplicates (
openrtb.schain.duplicate_node). - An empty array paired with
completeset to 1 asserts a complete path with nobody on it. - Splicing two chains together when requests pass through two wrappers produces an implausibly long path.
Version history
Added in OpenRTB 2.6-202204, and present in the latest snapshot. The table shows how each version's spec text types the field.
| Versions | Type in the spec | Required | Deprecated |
|---|---|---|---|
| 2.6-202204 | Added in the first 2.6 release, published without a structured text archive; the 2.6-202210 republication is the first tagged text. | ||
| 2.6-202210 to 2.6-202606 | object array | Yes | No |
Versioned rules that name this field
openrtb.2.6.network_channel_supplychain_eidsOpenRTB 2.6 added network, channel, supply-chain, and extended-ID object families.
Related fields
Other SupplyChain fields
For a walkthrough of the whole object, read Supply chain (schain).