IntegrationsReference

Event Specification

Canonical reference for the built-in event categories — purpose, common fields, and ordering constraints.

Last updated on

This page is the canonical reference for event modeling at the macro/base level.

Built-in logical event categories

TypePurpose
ACTORGrants or updates participant roles/permissions on a document timeline.
CLOSECloses the document for future updates (except specific relation flows).
CANCELCancels the document and blocks future actions. Requires a reason.
RELATEDCreates relation links between documents.
UPDATEUpdates selected document visibility-related fields.
OUTPUTConventional name for an event that creates a downstream document.
CUSTOMMethodology/application-specific event names.

A downstream document is created by the presence of the target object on any event, not by the event name — OUTPUT is the conventional name for that pattern, and it is handled as a CUSTOM event.

A CANCEL event must carry a metadata.attributes entry named reason with a non-empty value; omitting it returns 400 with The reason metadata is required for CANCEL events.

For implementation patterns using specific event categories, see:

Common event fields

Most event payloads share these core fields:

  • name
  • externalCreatedAt
  • isPublic
  • metadata
  • participantId (or an inline participant object, which find-or-creates the record)
  • addressId (or an inline address object, which find-or-creates the record)

Every event must carry exactly one of participantId/participant and exactly one of addressId/address. Sending both forms, or neither, fails with 400 VALIDATION_ERROR (You must pass participantId or participant field, not both, not neither). The rule is identical on the single-event and batch endpoints.

  • optional attachments
  • optional deduplicationId

Give every ACTOR event a label — the label is the participant's role. The schema does not enforce it, so this is a platform requirement rather than a request-validation one. Each methodology integration guide defines its allowed labels and required order. Do not use deprecated role fields such as actor-type.

An absent or unrecognized label is not an error. The event is accepted, but the participant contributes no reward share and its name is withheld from the public record — a failure you will only notice downstream. MassID-document labels are Bin Custodian, Hauler, Integrator, Processor, Recycler, and Waste Generator (Integrator normalizes to the role Network Integrator).

CUSTOM events

CUSTOM events accept any event nameNetwork Integrators can define and send whatever operational events fit their workflow. The platform does not restrict CUSTOM event names at the API level.

Methodologies define their own expected CUSTOM event vocabularies and validate them through application rules. See the relevant methodology integration guide for the specific events and validation rules that apply.

Ordering and propagation constraints

  • Event timestamps must remain chronologically consistent.
  • Propagation behavior is constrained and should be explicitly validated in integration tests.
  • Use deterministic retry patterns to avoid duplicate timeline entries.

Endpoint reference: Events API.

On this page