Skip to content

Event Feed API for change notifications #557

@gataka

Description

@gataka

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions