What is missing?
The AAS specification currently lacks a standardised mechanism for consumers to be notified about changes to Assets, AAS, or Submodels without polling the full AAS Data API repeatedly.
A lightweight, HTTP-based Event Feed API would fill this gap: a single GET /events endpoint returns a paginated, cursor-based feed of change events (CloudEvents envelope format) that consumers can poll incrementally. Consumers choose between a COMPACT (identifier-only) and FULL (complete payload) presentation mode, can filter by event type and data-level fields (e.g. data.semanticId.keys[*].value), and discover server capabilities via a well-known endpoint (/.well-known/event-feed.json).
The event types are versioned (io.admin-shell.asset.created.v1) and the payload schemas (dataschema) are aligned with the AAS metamodel — using ModelReference, ModelReference, and the AAS Reference object for semantic IDs.
How should it be fixed?
A new specification for an Event Feed API should be added to the AAS API suite, covering:
- GET /events endpoint with cursor-based pagination, limit, since, and filter (RSQL) query parameters
- CloudEvents-compatible record structure with lowercase attribute names (dataschema, type, subject, source)
- COMPACT and FULL presentation modes with matching dataschema URLs
- Three built-in event types: assetChangeEvent, aasChangeEvent, submodelChangeEvent — each with FULL and COMPACT JSON Schema variants aligned to the AAS metamodel
- Capabilities discovery via /.well-known/event-feed.json
This concept is the result of the corporation of Phoenix Contact, EPLAN and INNOQ.
The complete concept and all data schemas are attached:
Attachments:
What is missing?
The AAS specification currently lacks a standardised mechanism for consumers to be notified about changes to Assets, AAS, or Submodels without polling the full AAS Data API repeatedly.
A lightweight, HTTP-based Event Feed API would fill this gap: a single GET /events endpoint returns a paginated, cursor-based feed of change events (CloudEvents envelope format) that consumers can poll incrementally. Consumers choose between a COMPACT (identifier-only) and FULL (complete payload) presentation mode, can filter by event type and data-level fields (e.g. data.semanticId.keys[*].value), and discover server capabilities via a well-known endpoint (/.well-known/event-feed.json).
The event types are versioned (io.admin-shell.asset.created.v1) and the payload schemas (dataschema) are aligned with the AAS metamodel — using ModelReference, ModelReference, and the AAS Reference object for semantic IDs.
How should it be fixed?
A new specification for an Event Feed API should be added to the AAS API suite, covering:
This concept is the result of the corporation of Phoenix Contact, EPLAN and INNOQ.
The complete concept and all data schemas are attached:
Attachments:
events-feed-rfc.pdf — Specification of the Event Feed API
openapi-events.yaml — OpenAPI 3.x description of the
GET /eventsandGET /.well-known/event-feed.jsonendpointsmetamodel-assetChangeEvent.v1.schema.json — JSON Schema (FULL) for asset change events; references use
ModelReference<AssetAdministrationShell>andModelReference<Submodel>metamodel-assetChangeEventCompact.v1.schema.json — JSON Schema (COMPACT) for asset change events; minimal payload carrying only
globalAssetIdmetamodel-aasChangeEvent.v1.schema.json — JSON Schema (FULL) for AAS change events; submodel references use
ModelReference<Submodel>metamodel-aasChangeEventCompact.v1.schema.json — JSON Schema (COMPACT) for AAS change events; minimal payload carrying only
aasIdmetamodel-submodelChangeEvent.v1.schema.json — JSON Schema (FULL) for submodel change events;
semanticIdis represented as an AASReferenceobjectmetamodel-submodelChangeEventCompact.v1.schema.json — JSON Schema (COMPACT) for submodel change events; minimal payload carrying
submodelIdandsemanticIdasReferencesubmodelChangeEvent.v1.schema.json — JSON Schema (FULL) for submodel change events; simplified variant with
semanticIdas plain URI string (included for comparison)submodelChangeEventCompact.v1.schema.json — JSON Schema (COMPACT) for submodel change events; simplified variant (included for comparison)
[ x] I have signed the required Developer Certificate of Origin (DCO) already.