COAR Notify notifications are designed to be sent and received using the W3C Linked Data Notifications (LDN) standard. Payloads have a predictable structure, based primarily on Activity Streams 2.0, with some additional vocabularies included for particular properties. COAR Notify implements the generic notifications described by the Event Notifications in Value-Adding Networks specification.
In the COAR Notify protocol, we call these standardised payloads Patterns.
All COAR Notify patterns MUST define an Activity Streams 2.0 activity
. The following properties and their descriptions represents a baseline set of requirements. The individual patterns may add additional constraints. The workflows which use the patterns may, in turn, add additional constraints.
@context
@context
is REQUIRED. This is the JSON-LD 'context' for the activity.
id
id
is REQUIRED. This must be a URI, and the use of URN:UUID is recommended. An HTTP URI may be used, but in such cases the URI should resolve to a resource which represents the activity.
type
type
is REQUIRED. This should include one of the Activity Stream 2.0 Activity Types. It may (depending on the activity) also include a type from the Notify Activity Types vocabulary
origin
origin
is REQUIRED. The originator of the activity, typically the service responsible for sending the notification.
target
target
is REQUIRED. The intended destination of the activity, typically the service which consumes the notification.
object
object
is REQUIRED. This should be the focus of the activity. Other object properties may appear in notifications, as properties of other properties.
actor
actor
is RECOMMENDED. It describes the party responsible for this activity. It:
id
which MUST be a URI identifying the actor
(HTTP URIs are RECOMMENDED, but any valid URI is permitted)type
which MUST be one of: Application, Group, Organization, Person or Service from Activity Streams 2.0.name
The inclusion of actor
is highly RECOMMENDED in order to facilitate the broadest possible interoperability beyond the immediate COAR Notify context. Some external systems which can usefully consume notifications based on Activity Streams 2.0 may require the presence of an actor
to function correctly.
inReplyTo
inReplyTo
is OPTIONAL. This property is used when the notification is a direct response to a previous notification (usually a request) and references the Activity Streams 2.0 activity id
of the previous notification.
context
context
is OPTIONAL. This identifies another resource which is relevant to understanding the notification.
summary
summary
is OPTIONAL. This is used rarely, but may be used to provide a brief textual summary of the notification (for example in the case of an error)