diff --git a/docs/assets/aws-icons-mermaid.json b/docs/assets/aws-icons-mermaid.json
index f43480f44..4e4ae2fc5 100644
--- a/docs/assets/aws-icons-mermaid.json
+++ b/docs/assets/aws-icons-mermaid.json
@@ -3530,6 +3530,9 @@
"res-amazon-eventbridge-event": {
"body": ""
},
+ "res-aws-systems-manager-parameter-store": {
+ "body": ""
+ },
"reserved-instance-reporting": {
"body": "",
"height": 64,
@@ -3997,9 +4000,6 @@
"systems-manager-opscenter": {
"body": ""
},
- "systems-manager-parameter-store": {
- "body": ""
- },
"systems-manager-patch-manager": {
"body": ""
},
diff --git a/docs/collections/_diagrams/c4code-mesh-poller.md b/docs/collections/_diagrams/c4code-mesh-poller.md
index e52cd3eca..d359bc31c 100644
--- a/docs/collections/_diagrams/c4code-mesh-poller.md
+++ b/docs/collections/_diagrams/c4code-mesh-poller.md
@@ -10,9 +10,11 @@ architecture-beta
service meshDownloaded(aws:res-amazon-eventbridge-event)[MeshPollerTimerExpired Event]
service pdmSaved(aws:res-amazon-eventbridge-event)[MESHInboxMessageReceived Event]
service meshPollLambda(logos:aws-lambda)[MeshPoll] in meshPoller
+ service clientConfig(aws:res-aws-systems-manager-parameter-store)[Client Configuration] in meshPoller
service mesh(server)[MESH]
meshDownloaded:R -- L:meshPollLambda
- meshPollLambda:T --> B:mesh
+ clientConfig:B --> T:meshPollLambda
+ meshPollLambda:B --> T:mesh
meshPollLambda:R --> L:pdmSaved
```
diff --git a/docs/collections/_diagrams/sequence-mesh-download.md b/docs/collections/_diagrams/sequence-mesh-download.md
index 1121ef84b..c3bf7baf4 100644
--- a/docs/collections/_diagrams/sequence-mesh-download.md
+++ b/docs/collections/_diagrams/sequence-mesh-download.md
@@ -7,20 +7,27 @@ title: v
```mermaid
sequenceDiagram
- participant meshMailbox as MESH
Mailbox
+ actor trust as Trust
participant eventBus as EventBus
- participant sqs as SQS
MeshRetrieveQueue
- participant meshRetrieve as Lambda
MESHRetrieve
+ participant sqs as SQS
MeshDownloadQueue
+ participant meshDownload as Lambda
MESHDownload
+ participant meshMailbox as MESH
Mailbox
participant s3 as S3 Bucket
DigitalLetters
- eventBus -) sqs: MESHInboxMessageReceived(meshFileId)
- sqs -) meshRetrieve: MESHInboxMessageReceived(meshFileId)
- activate meshRetrieve
- meshRetrieve ->> meshMailbox: Retrieve file(meshFileId)
+ eventBus -) sqs: MESHInboxMessageReceived(meshMessageId, senderId)
+ sqs -) meshDownload: MESHInboxMessageReceived(meshMessageId, senderId)
+ activate meshDownload
+ meshDownload ->> meshMailbox: Retrieve file(meshMessageId)
activate meshMailbox
- meshMailbox -->> meshRetrieve: File
+ meshMailbox -->> meshDownload: File
deactivate meshMailbox
- meshRetrieve ->> s3: Upload file
- meshRetrieve -) eventBus: MESHInboxMessageDownloaded(S3FileId) Event
- deactivate meshRetrieve
+ meshDownload ->> s3: Upload file
+ activate s3
+ s3 -->> meshDownload: messageUri
+ deactivate s3
+ meshDownload -) eventBus: MESHInboxMessageDownloaded(senderId, messageReference, messageUri) Event
+ meshDownload -) meshMailbox: Ack
+ meshMailbox ->> meshMailbox: Delete(meshMessageId)
+ meshDownload -) trust: Ack
+ deactivate meshDownload
```
diff --git a/docs/collections/_diagrams/sequence-mesh-poll.md b/docs/collections/_diagrams/sequence-mesh-poll.md
index 91df24620..2dbe2526d 100644
--- a/docs/collections/_diagrams/sequence-mesh-poll.md
+++ b/docs/collections/_diagrams/sequence-mesh-poll.md
@@ -10,19 +10,21 @@ sequenceDiagram
actor trust as Trust
participant meshMailbox as MESH
Mailbox
participant meshPoll as Lambda
MESHPoll
+ participant clientConfig as SSM
Client Config
participant eventBus as EventBus
trust ->> meshMailbox: MESH (DocumentReference)
- activate meshMailbox
- meshMailbox ->> trust: MESH Ack
- deactivate meshMailbox
- Loop Interval TBC
+ Loop 5 min interval
eventBus -) meshPoll: Scheduled event
activate meshPoll
end
meshPoll ->> meshMailbox: Check for new files
- meshPoll -) eventBus: MESHInboxMessageReceived Event(meshFileId)
+ meshPoll ->> clientConfig: GetClientConfig(mailboxId)
+ activate clientConfig
+ clientConfig -->> meshPoll: ClientConfig
+ deactivate clientConfig
+ meshPoll -) eventBus: MESHInboxMessageReceived Event
(meshMessageId, senderId)
deactivate meshPoll
```
diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml
index 6a01f4cff..9770c5551 100644
--- a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml
+++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml
@@ -6,5 +6,8 @@ additionalProperties: false
properties:
meshMessageId:
$ref: ../defs/mesh.schema.yaml#/properties/meshMessageId
+ senderId:
+ $ref: ../defs/requests.schema.yaml#/properties/senderId
required:
- meshMessageId
+ - senderId
diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml
index 33a3c5b1d..eeef261ad 100644
--- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml
+++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml
@@ -6,7 +6,7 @@ allOf:
properties:
type:
type: string
- const: uk.nhs.notify.digital.letters.reporting.report.generated.v1
+ const: uk.nhs.notify.digital.letters.reporting.report.sent.v1
description: Concrete versioned event type string for this event (.vN suffix).
source:
type: string
@@ -15,10 +15,9 @@ properties:
dataschema:
type: string
- const: ../data/digital-letter-base-data.schema.yaml
+ const: ../data/digital-letters-reporting-report-sent-data.schema.yaml
description: Canonical URI of the event's data schema.
examples:
- - digital-letter-base-data.schema.yaml
+ - digital-letters-reporting-report-sent-data.schema.yaml
data:
- $ref: ../data/digital-letter-base-data.schema.yaml
- description: Example payload wrapper containing notify-payload.
+ $ref: ../data/digital-letters-reporting-report-sent-data.schema.yaml
diff --git a/src/cloudevents/readme-index.yaml b/src/cloudevents/readme-index.yaml
index 7b72e2f4f..651ef0bfe 100644
--- a/src/cloudevents/readme-index.yaml
+++ b/src/cloudevents/readme-index.yaml
@@ -3,7 +3,7 @@
# To regenerate, run: make update-readme
# To customize labels and purposes, edit: readme-metadata.yaml
-generated: '2025-11-21T12:22:19.666Z'
+generated: '2025-11-26T12:32:47.898Z'
common: null
domains:
- name: digital-letters