From b2063d1ec0012730716afe73a2d23f32a344bb02 Mon Sep 17 00:00:00 2001 From: courier-codegen Date: Tue, 8 Sep 2026 22:54:54 +0000 Subject: [PATCH] [C-20381][C-20504] Document journey send-status conditions and the digest template dependency --- src/courier/types/journey_node.py | 6 +++++- src/courier/types/journey_node_param.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/courier/types/journey_node.py b/src/courier/types/journey_node.py index 69043ba..d834ead 100644 --- a/src/courier/types/journey_node.py +++ b/src/courier/types/journey_node.py @@ -100,7 +100,11 @@ class JourneyBatchNode(BaseModel): class JourneyAddToDigestNode(BaseModel): """Add the current event to a digest keyed by the given subscription topic. - The digest accumulates events and releases them on the schedule configured for the topic. + The digest accumulates events and releases them on the schedule configured for the topic, using the notification template configured on that topic. + + **The topic must have a template configured.** If the topic has no template when the first event reaches this node, the journey run fails immediately: the run is marked `ERROR`, no digest instance is created, and the journey does not continue past this node. Configure the topic's template before using the topic in a journey. + + If the journey run is scoped to a tenant, digests are kept separate per tenant: two runs for the same user under different tenants accumulate and release as separate digests, even on the same topic. """ subscription_topic_id: str diff --git a/src/courier/types/journey_node_param.py b/src/courier/types/journey_node_param.py index 5d4e069..526db0c 100644 --- a/src/courier/types/journey_node_param.py +++ b/src/courier/types/journey_node_param.py @@ -99,7 +99,11 @@ class JourneyBatchNode(TypedDict, total=False): class JourneyAddToDigestNode(TypedDict, total=False): """Add the current event to a digest keyed by the given subscription topic. - The digest accumulates events and releases them on the schedule configured for the topic. + The digest accumulates events and releases them on the schedule configured for the topic, using the notification template configured on that topic. + + **The topic must have a template configured.** If the topic has no template when the first event reaches this node, the journey run fails immediately: the run is marked `ERROR`, no digest instance is created, and the journey does not continue past this node. Configure the topic's template before using the topic in a journey. + + If the journey run is scoped to a tenant, digests are kept separate per tenant: two runs for the same user under different tenants accumulate and release as separate digests, even on the same topic. """ subscription_topic_id: Required[str]