Appearance
link-event
SOM 1.0.0 12 fieldsA link is the connection between an asset and a destination. An asset's usage[] is maintained from these events. (SOM 1.0 schema)
| Message types | link.committed, link.gate_changed, link.withdrawn |
| Typically published by | The system that commits an asset to a destination: graphics, a CMS, a rundown. (SOM Managed Bus) |
| Schema | https://storyobjectmodel.com/schema/1.0/link-event.schema.json (source at 7297fef) |
| Defined by SOM | 2 of 12 fields |
Payloads for link.committed, link.gate_changed, link.withdrawn (v0.3.1 Proposal §3.1). The link is the Asset↔Destination connection (decision 3); usage[] is maintained from exactly these events under the §5 idempotent-upsert rules. (SOM 1.0 schema)
Required: message_type, link_id, asset_id, destination_id, compliance_gate_status
Unknown fields: refused. The payload lists every field it accepts.
Rules across fields:
- When
message_typeislink.committed,committed_byandcommitted_atare required. - When
message_typeislink.withdrawn,withdrawnis required. Otherwisewithdrawnmust be absent.
Fields
| Field | Type | Defined by SOM | |
|---|---|---|---|
message_type | required | string | yes |
link_id | required | string (uuid) | not yet |
asset_id | required | string | not yet |
destination_id | required | string | not yet |
committed_by | optional | string | not yet |
committed_at | optional | string (date-time) | not yet |
compliance_gate_status | required | string | not yet |
withdrawn | optional | object | not yet |
withdrawn.withdrawn_by | required | string | not yet |
withdrawn.withdrawn_at | required | string (date-time) | not yet |
withdrawn.reason | optional | string | not yet |
extensions | optional | object | yes |
message_type
RequiredType string · Allowed values link.committed · link.gate_changed · link.withdrawn
Example link.committed (from examples/link/committed.json)
- Repeats the envelope's
message_type, which is what selects this schema. The two must agree: the bus refuses a payload that says something else (payload.message_type_mismatch). (SOM Managed Bus)
Checked by the bus link-event.required · link-event.type · link-event.enum
link_id
RequiredType string (uuid)
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.required · link-event.type · link-event.format.uuid
asset_id
RequiredType string
Example a1 (from examples/link/committed.json)
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.required · link-event.type
destination_id
RequiredType string
Example d1 (from examples/link/committed.json)
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.required · link-event.type
committed_by
OptionalType string
Example producer-7 (from examples/link/committed.json)
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.type
committed_at
OptionalType string (date-time)
Example 2026-06-12T10:00:00Z (from examples/link/committed.json)
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.type · link-event.format.date-time
compliance_gate_status
RequiredType string · Allowed values PENDING · CLEARED · BLOCKED
Example PENDING (from examples/link/committed.json)
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.required · link-event.type · link-event.enum
withdrawn
OptionalType object · Unknown fields refused
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.type · link-event.additionalProperties
withdrawn.withdrawn_by
RequiredType string
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.required · link-event.type
withdrawn.withdrawn_at
RequiredType string (date-time)
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.required · link-event.type · link-event.format.date-time
withdrawn.reason
OptionalType string
Not yet defined by SOM
Neither the 1.0 schema nor the SOM glossary says what this field means. Its facts above are exact; its meaning is an open question for the SOM working group.
Checked by the bus link-event.type
extensions
OptionalType object · Keys match ^com\.[a-z0-9-]+\. · Unknown fields refused
- Vendor fields, namespaced by reverse domain (
com.<vendor>.). Consumers must ignore extensions they don't recognise and must not reject a message for carrying them. (SOM 1.0 conformance §5)
Checked by the bus link-event.type · link-event.additionalProperties
Must be refused
SOM publishes messages that every conformant system must reject. These are the ones that concern this schema, with the rule this bus reports for each, checked by the same validator the gateway runs.
| Case | Why it must fail | Field | Bus rule |
|---|---|---|---|
| link-gate-status-unknown.json | compliance_gate_status is PENDING, CLEARED or BLOCKED | compliance_gate_status | link-event.enum |
Generated from the SOM 1.0 schemas at upstream commit 7297fef, the pack this bus validates against. Quoted SOM text is © the SOM authors, CC BY 4.0, with two changes: working-group decision numbers are shown without their #, and attributions to named working-group members are left out. How to read this reference: SOM 1.0 schema.