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.

Currentobject arrayRequiredSince 2.6-202204

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 complete set 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.

VersionsType in the specRequiredDeprecated
2.6-202204Added 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-202606object arrayYesNo

Versioned rules that name this field

Related fields

Other SupplyChain fields

For a walkthrough of the whole object, read Supply chain (schain).