Skip to main content
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"]
]