A Listing represents either an offer to supply a material or a request to source one. Listings are published to a company’s Network Node, where connected trading partners can discover and query them.
Kind: 31001
Kind 31001 is a replaceable addressable event. This means a listing can be updated in place — when you republish with the same d tag, the node replaces the previous version rather than creating a duplicate. This is how listing prices, quantities, and availability are kept current.
Content:
{
"material_no": "<string - Material Number (Required)>",
"mfr": "<string - Manufacturer (Required)>",
"qty": <int - Quantity (Required)>,
"timing": {
"lead_time": <string - Lead Time (Optional), supply listings>,
"required_date": <int64 - Required Date as Unix timestamp (Optional), demand listings>
"expiry": <int64 - Listing expiry as Unix timestamp (Optional)>
},
"unit_price": <float64 - Unit Price (Required)>,
"internal_no": "<string - Internal Number (Optional)>",
"type": "<string - 'supply' or 'demand' (Required)>",
"company": "<string - Publish Company Name (Optional)>",
"contact": {
"methods": ["<string - Contact method>"],
"reply_url": "<string - Contact reply URL>"
},
"image_url": "<string – Image URL (Optional)>",
"attributes": {
"coo": "<string - Country of Origin (Optional)>",
"eccn": "<string - Export Control Classification Number (Optional)>",
"moq": <int - Minimum Order Quantity (Optional)>,
"mpq": <int - Minimum Pack Quantity (Optional)>,
"currency": "<string - ISO 4217 Currency Code (Optional)>",
"lot_no": "<string - Lot Number (Optional)>",
"custom_attributes": {
"<string>": "<any - User-defined attributes>"
},
},
"encrypted": {
"payload": {
"ciphertext": "<string - Encrypted JSON object (type: object, Optional)>"
}
},
"schema_version": "<string - listing schema version"
}
Key fields:
type — Either "supply" (you have stock to sell) or "demand" (you need to source material). This determines which timing fields are relevant: supply listings use lead_time, demand listings use required_date.
contact.reply_url — The WebSocket URL of your Inbox Node. Trading partners use this to know where to send quotes in response to this listing.
encrypted.payload — An optional encrypted object for fields you want visible only to specific partners, not the broader network.
Listing Tags
[
["n", "material_no"],
["m", "manufacturer name"],
["y", "'supply' or 'demand'"],
["c", "company_name"],
["b", "any"],
["i", "internal_no"],
["c", "any"],
["t", "any"],
["r", "inbox_node_url"]
]