Tags are key-value pairs attached to events that nodes use for indexing and filtering. When a client queries a node (e.g., “give me all supply listings for part MAT-00042”), it filters by tags. Only single-letter tags are indexed by nodes, which is why OMA uses them exclusively. All tags SHOULD be lowercase, with no spaces. All tags exceptDocumentation Index
Fetch the complete documentation index at: https://docs.seminode.com/llms.txt
Use this file to discover all available pages before exploring further.
u (UserPublicKey) are expected to have one value.
Format: ["<single-letter>", "<value>"]
Tag Reference
| Tag | Name | Use | Example | Notes |
|---|---|---|---|---|
a | Address | Referential address of an event for replacement, i.e. when a listing must be updated, it is done so on the address. | ["a","<kind integer>:<32-bytes lowercase hex of a pubkey>:<d tag value>"] | |
d | Identifier | Stable identifier for a given material, this is a concatenation of material information that makes it physically unique among other components with the same part number. | ["d","MaterialNo + Supply + DateCode"] | |
n | MaterialNo | Material/part number from your system. | ["n","MAT-00042"] | |
m | Manufacturer | Manufacturer name. | ["m","Acme Corp"] | |
h | Thread | Groups related events. | A deterministic thread ID computed from the root event_id and two participant pubkeys. | |
y | Type | Material transaction type (e.g., supply, demand). | ["y","supply"] | |
c | Company | Event publisher namespace. | ["c","acme"] | |
b | Batch | Groups listings created by a single publish action (e.g., one API call or one file import). | ["b","XYZ123"] | |
i | InternalNo | Internal ERP/DB tracking/reference. | ["i","INT-7788"] | |
t | Generic | Free-form topic tag (search/filter). | ["t","diodes"] | |
r | Reply Node | Websocket URL for reply events. | ["r","wss://domain.seminode.com/inbox"] | |
p | Recipient | Intended recipient’s pubkey. | ["p","<pubkey>"] | Exclusive to thread events of kind Quote, or Quote Response |
s | Status | Workflow state this event belongs to (e.g., accepted, rejected). | ["s","accepted"] | Exclusive to thread events of kind Quote Response |
z | Finalized | Workflow state this event belongs to (e.g., pending, complete). | ["z","pending"] | Exclusive to thread events of kind Quote, or Quote Response |
e | Event | Reference to another event (mention/link). | ["e","<event-id>"] | |
u | UserPublicKey | User pubkey(s) associated with the event, allows fine grain filtering for company users. | ["u","<pubkey>"] |
- Example(s):
["u","<hex>"](repeat tag if multiple)
Query Modifying Tags
Query Modifying tags offer further specification for what events the client wants returned. These tags are not stored in events — they are passed in filters and modify the underlying query.-
Match:
"match"<Optional["match", "fuzzy"]>- Supports
"fuzzy"for prefix or trigram matching on select tags. Useful for partial part number searches.
- Supports
-
Intent:
"intent"<Optional["intent", "tail"]>- Supports
"tail", which returns only the most recent event in a conversation between two parties for a given listing. This is useful for showing the current state of a quoting thread without returning the full history. - Determined by the most recent timestamp for a unique combination of the
"e"tag (listing event) and an unordered pair of the event author and recipient"p"tag.
- Supports

