Sync / Actions Service
These operations drive the inbound data flow from DIWASS to client software. Each maps to one of three cursor types: ACTIONS, NOTIFICATIONS, and ANNEX_VII. Client software should poll each cursor independently per operator, storing the timestamp returned by DIWASS (nextSyncAt) and sending it as lastSyncAt in the next request to retrieve only new or updated records.
GetActions — cursor type: ACTIONS
Returns all pending actions across all document types for the authenticated software. Actions are DIWASS-side events that may require a response (e.g. a competent authority has issued a decision, an RFI needs a reply, a signal was received).
Request
<GetActionsRequest>
<userCADomainId>YOUR-CADOMAIN-ID</userCADomainId>
<operatorInternalID>OP-12345</operatorInternalID>
<lastSyncAt>2026-05-21T08:00:00Z</lastSyncAt>
<pageSize>100</pageSize>
</GetActionsRequest>
Response
<GetActionsResponse>
<actions>
<action>
<actionType>DECISION_ISSUED</actionType>
<relatedDocumentType>NOTIFICATION</relatedDocumentType>
<relatedDocumentId>DIWASS-NOT-2026-HR-000123</relatedDocumentId>
<actionDate>2026-05-22T14:00:00Z</actionDate>
<details><!-- action-specific payload --></details>
</action>
<action>
<actionType>RFI_ISSUED</actionType>
<!-- ... -->
</action>
</actions>
<hasMore>false</hasMore>
<nextSyncAt>2026-05-22T15:00:00Z</nextSyncAt>
</GetActionsResponse>
Action types:
| actionType | Trigger | Typical response |
|---|---|---|
NOTIFICATION_ACKNOWLEDGED | CA acknowledged receipt | Update local acknowledgement record |
DECISION_ISSUED | CA issued consent/objection | Update local decision record |
RFI_ISSUED | CA issued Request for Information | Create RFI record; user must reply via SubmitRFIReply |
SIGNAL_RECEIVED | CA submitted a signal | Update local signal record |
MOVEMENT_STATUS_CHANGED | Movement document status updated | Update movement status |
ANNEXVII_STATUS_CHANGED | Annex VII status updated | Update Annex VII status |
GetNotifications — cursor type: NOTIFICATIONS
Returns new or updated notifications since the last sync cursor. Used for initial bulk load and delta sync.
Request
<GetNotificationsRequest>
<userCADomainId>YOUR-CADOMAIN-ID</userCADomainId>
<operatorInternalID>OP-12345</operatorInternalID>
<lastSyncAt>2026-05-01T00:00:00Z</lastSyncAt>
<pageSize>50</pageSize>
<statuses>
<status>SUBMITTED</status>
<status>ACKNOWLEDGED</status>
<status>CONSENTED</status>
<status>MOVING</status>
<status>RECEIVED</status>
<status>COMPLETED</status>
</statuses>
</GetNotificationsRequest>
Response
<GetNotificationsResponse>
<notifications>
<!-- Full notification objects with sub-documents -->
</notifications>
<hasMore>true</hasMore>
<nextSyncAt>2026-05-21T09:00:00Z</nextSyncAt>
</GetNotificationsResponse>
Paginate until hasMore is false. Process all returned notification records including nested parties, decisions, and acknowledgements.
GetAnnexVIIList — cursor type: ANNEX_VII
Returns new or updated Annex VII documents since the last sync cursor.
Request
<GetAnnexVIIListRequest>
<userCADomainId>YOUR-CADOMAIN-ID</userCADomainId>
<operatorInternalID>OP-12345</operatorInternalID>
<lastSyncAt>2026-05-01T00:00:00Z</lastSyncAt>
<pageSize>50</pageSize>
<statuses>
<status>ANNOUNCED</status>
<status>MOVING</status>
<status>RECEIVED</status>
<status>COMPLETED</status>
<status>CANCELLED</status>
</statuses>
</GetAnnexVIIListRequest>
Response
<GetAnnexVIIListResponse>
<annexVIIDocuments>
<!-- Full AnnexVII objects with nested certificates, signals, take-backs -->
</annexVIIDocuments>
<hasMore>false</hasMore>
<nextSyncAt>2026-05-21T09:00:00Z</nextSyncAt>
</GetAnnexVIIListResponse>
Same pagination pattern as GetNotifications.