{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/logius/main/json-schema/logius-event-schema.json", "title": "Event", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/logius-notificatieservices-openapi.yml#/components/schemas/Event", "required": [ "id", "source", "domain", "specversion", "type" ], "type": "object", "additionalProperties": { "type": "string" }, "properties": { "specversion": { "title": "specversion", "description": "The version of the CloudEvents specification which the event uses. Compliant event producers MUST use a value of 1.0 when referring to this version of the specification.", "type": "string", "minLength": 1 }, "id": { "title": "id", "description": "Identifies the event. Producers MUST ensure that source + id is unique for each distinct event. SHOULD be a uuid.", "type": "string", "minLength": 1 }, "source": { "title": "source", "description": "Identifies the context in which an event happened. SHOULD be a URN notation with 'nld' as namespace identifier. SHOULD contain consecutive a unique identifier of the organization that publishes the event followed by the source system that publishes the event. Involved organizations SHOULD agree on how organizations and systems are uniquely identified (e.g. via the use of OIN, KVK-nummer or eIDAS legal identifier for organization identification);", "type": "string", "format": "urn", "minLength": 1 }, "domain": { "title": "domain", "description": "Name of the domain to which the event belongs. Can be seen as the namespace of the event.(This attribute is not listed in the GOV NL profile for CloudEvents)", "type": "string", "format": "reverse-dns", "minLength": 1 }, "type": { "title": "type", "description": "This attribute contains a value describing the type of event. Type SHOULD start with the domain followed by the name of the event. Events SHOULD be expressed in the past tense. If subtypes are required those SHOULD be expressed using a dot '.' between the super and subtype(s). The type MAY contain version information. Version information SHOULD be appended at the end of the string.", "type": "string", "format": "reverse-dns", "minLength": 1 }, "time": { "title": "time", "description": "Timestamp of the event. SHOULD be the timestamp the event was registerd in the source system and NOT the time the event occurred in reality. The exact meaning of time MUST be clearly documented.", "type": [ "string", "null" ], "format": "date-time", "minLength": 1 }, "subscription": { "title": "subscription", "description": "Usually empty. Only used in situations where notificationservices are chained. For example notificationservice2 (ns2) is subscribed to notifcationservice1 (ns1). When ns1 sends an event to ns2 this attribute SHOULD contain the subscription id of the subscription that ns1 has on ns2 (that was resposible for receiving the event). Note this attribute is overwritten when the event is passed through to a client. It will be set to the value of the subscription id of the subscription of the client.", "type": [ "string", "null" ], "format": "uuid", "minLength": 1 }, "subscriberReference": { "title": "subscriberReference", "description": "Usually empty. Only used in situations where notificationservices are chained. For example notificationservice2 (ns2) is subscribed to notifcationservice1 (ns1). When ns1 sends an event to ns2 this attribute COULD contain the subscriberReference the was specified when ns2 subscribed to ns1. Note this attribute is overwritten when the event is passed through to a client. It will be set to the value of the subscriberReference of the subscription of the client (when specified by the client).", "type": [ "string", "null" ], "minLength": 1 }, "datacontenttype": { "title": "datacontenttype", "description": "Content type of data value. In this version of the API the value MUST be 'application/json'. In future versions of the API other values such as described in [RFC 2046](https://tools.ietf.org/html/rfc2046) MAY be used.", "type": [ "string", "null" ], "minLength": 1 }, "dataschema": { "title": "dataschema", "description": "Identifies the schema that data adheres to.", "type": [ "string", "null" ], "format": "uri", "minLength": 1 }, "subject": { "title": "subject", "description": "Included to be compatible with CloudEvents specification. The GOV NL profile states 'Decision on whether or not to use the attribute and/or the exact interpretation is postponed. To be determined partly on the basis of future agreements about subscription and filtering.'", "type": [ "string", "null" ], "minLength": 1 }, "sequence": { "description": "Value expressing the relative order of the event. This enables interpretation of data supercedence.", "type": [ "string", "null" ], "minLength": 1 }, "sequencetype": { "description": "Specifies the semantics of the sequence attribute. (Currently limited to the value INTEGER).", "type": [ "string", "null" ], "minLength": 1, "enum": [ "Integer" ] }, "data": { "oneOf": [ { "type": "object" }, { "type": "string" }, { "type": "number" }, { "type": "array" }, { "type": [ "boolean", "null" ] } ] }, "data_base64": { "description": "The presence of the data_base64 member clearly indicates that the value is a Base64 encoded binary data, which the serializer MUST decode into a binary runtime data type.", "type": [ "string", "null" ], "format": "byte" }, "dataref": { "description": "A reference to a location where the event payload is stored. If both the data attribute and the dataref attribute are specified their contents MUST be identical.", "type": [ "string", "null" ], "format": "uri", "minLength": 1 } } }