Subscriptions

Requirement: GET /{entity}/cyclic-subscriptions REQ_INTEROP_025

The endpoint shall list all configured cyclic data subscriptions on the addressed entity.

Requirement: GET /{entity}/cyclic-subscriptions/{id} REQ_INTEROP_026

The endpoint shall return the configuration and status of the addressed cyclic subscription.

Requirement: PUT /{entity}/cyclic-subscriptions/{id} REQ_INTEROP_027

The endpoint shall update the configuration of the addressed cyclic subscription on the entity.

Requirement: POST /{entity}/cyclic-subscriptions REQ_INTEROP_089
status: verified
tags: Subscriptions
is verified by: TEST_IntervalParsingTest_ParsesValidIntervals, TEST_ParseResourceUriTest_DataCollectionWithTopic, TEST_ParseResourceUriTest_UpdateStatusUri, TEST_TestMultiCollectionSubscriptions_test_configurations_subscription_create, TEST_TestMultiCollectionSubscriptions_test_configurations_subscription_streams_whole_collection, TEST_TestMultiCollectionSubscriptions_test_data_subscription_create, TEST_TestMultiCollectionSubscriptions_test_encoded_topic_subscription_matches_get, TEST_TestMultiCollectionSubscriptions_test_encoded_topic_with_leading_slash_matches_get, TEST_TestMultiCollectionSubscriptions_test_faults_subscription_create, TEST_TestMultiCollectionSubscriptions_test_logs_subscription_create, TEST_TestMultiCollectionSubscriptions_test_logs_subscription_sse_stream, TEST_TestPluginItemSubscription_test_encoded_dot_dot_segment_is_refused, TEST_TestPluginItemSubscription_test_plain_item_matches_get, TEST_TestPluginItemSubscription_test_quoted_item_matches_get, TEST_TestPluginItemSubscription_test_spaced_item_matches_get, TEST_TestScenarioSubscriptions_test_01_create_subscription_returns_201_with_correct_schema, TEST_TestScenarioSubscriptions_test_20_create_with_invalid_interval_returns_400, TEST_TestScenarioSubscriptions_test_21_create_with_zero_duration_returns_400, TEST_TestScenarioSubscriptions_test_22_create_with_unsupported_protocol_returns_400, TEST_TestScenarioSubscriptions_test_23_create_with_invalid_resource_uri_returns_400, TEST_TestScenarioSubscriptions_test_27_create_for_nonexistent_entity_returns_404, TEST_TestScenarioSubscriptions_test_30_cyclic_subscriptions_work_on_components, TEST_TransportRegistryTest_RegisterAndLookup

The endpoint shall create a new cyclic data subscription on the addressed entity, specifying the observed resource URI, delivery interval (fast/normal/slow), transport protocol (SSE), and subscription duration in seconds. On success it shall return 201 with the subscription ID, observed resource, event source URI, protocol, and interval.

Requirement: GET /{entity}/cyclic-subscriptions/{id}/events REQ_INTEROP_090

The endpoint shall open an SSE (Server-Sent Events) stream that delivers the current value of the subscribed data resource at the configured interval. Each event shall be an EventEnvelope containing a UTC timestamp and either a payload (ReadValue format) or an error (GenericError format). The stream shall auto-close when the subscription duration expires, the client disconnects, or the subscription is deleted.

Requirement: POST /{entity}/triggers REQ_INTEROP_029
status: verified
tags: Subscriptions
is verified by: TEST_ConditionEvaluator_OnChangeTo_ValidateParams_MissingTarget, TEST_ConditionEvaluator_OnChangeTo_ValidateParams_Valid, TEST_ConditionEvaluator_OnChange_ValidateParams, TEST_LoadPersistentTriggers_ExpiredTriggerMarkedTerminatedOnLoad, TEST_LoadPersistentTriggers_NewTriggerIdIsHigherThanRestoredId, TEST_LoadPersistentTriggers_ResetBehaviorDoesNotRestoreTriggers, TEST_LoadPersistentTriggers_RestoreBehaviorLoadsActiveTrigger, TEST_TestTriggersData_test_01_create_trigger_returns_201_with_correct_schema, TEST_TestTriggersData_test_15_trigger_on_percent_encoded_topic_path_fires, TEST_TestTriggersData_test_16_trigger_on_encoded_leading_slash_topic_path_fires, TEST_TestTriggersFaults_test_01_create_fault_trigger_returns_201, TEST_TestTriggersHierarchy_test_01_component_trigger_created_successfully, TEST_TestTriggersLogs_test_01_create_logs_trigger, TEST_TestTriggersPersistent_test_01_create_persistent_trigger, TEST_TestTriggersPluginItemNames_test_encoded_dot_dot_segment_is_refused, TEST_TestTriggersPluginItemNames_test_encoded_item_name_is_accepted, TEST_TestTriggersRestoreBeforeDiscovery_test_01_create_persistent_triggers, TEST_TestTriggersUpdates_test_01_create_updates_trigger, TEST_TriggerManagerTest_Create_InvalidConditionType, TEST_TriggerManagerTest_Create_InvalidParams, TEST_TriggerManagerTest_Create_MaxTriggersExceeded, TEST_TriggerManagerTest_Create_ValidOnChangeTrigger, TEST_TriggerManagerTest_Hierarchy_AreaToApp, TEST_TriggerManagerTest_Hierarchy_ComponentToApp, TEST_TriggerManagerTest_LifetimeExpiry, TEST_TriggerManagerTest_SingleShot_RemovedAfterFiring, TEST_TriggerStore_FilePersistence, TEST_TriggerStore_SaveAndLoadRoundTrip, TEST_TriggerValidationTest_VendorExtensionCollection_Accepted

The endpoint shall create a new trigger definition on the addressed entity.

Requirement: GET /{entity}/triggers/{id}/events REQ_INTEROP_097

The endpoint shall open an SSE (Server-Sent Events) stream that delivers trigger events when the configured condition fires. Each event shall be an EventEnvelope containing a UTC timestamp and a payload. The stream shall auto-close when the trigger is deleted, the client disconnects, or the trigger lifetime expires.