DDS Migration: V3 to V4¶
Detailed field-by-field mapping
For a complete field-level mapping with types, constraints, and the new fields introduced in V4, see DDS V3 → V4 Field-Level Mapping.
V4 introduces a small set of focused changes to the Due Diligence Statement service: statement detail is no longer retrievable over the API, operator overviews now carry a human-readable reference-number status, and a new optional summary address was added.
DDS: EUDRDueDiligenceStatementServiceV3 → EUDRDueDiligenceStatementServiceV4
Namespace changes¶
| Namespace | V3 | V4 |
|---|---|---|
| DDS service | .../certificate/eudr/due-diligence-statement/v3 |
.../certificate/eudr/due-diligence-statement/v4 |
| EUDR common model | .../certificate/eudr/common/v3 |
.../certificate/eudr/common/v4 |
| Body header | .../tracesnt/body/v3 |
.../tracesnt/body/v4 |
Base header namespace is unchanged
The WS-Security / WebServiceClientId base header namespace stays at http://ec.europa.eu/sanco/tracesnt/base/v4 in both V3 and V4. Only the body namespace (which carries BodyIdentity) moves from /body/v3 to /body/v4. Update your BodyIdentity header namespace accordingly when calling V4.
Operation changes¶
One operation changes behaviour in V4:
| Operation | Change in V4 |
|---|---|
getDdsByIdentifiers |
Behaviour changed — see below |
Behaviour change: statement detail is no longer retrievable over the API¶
getDdsByIdentifiers originally returned the full statement content. It no longer returns content — in both V3 and V4, every call returns a NotFoundException fault: "Statement detail access is possible only over UI".
The operation remains defined in the WSDL so existing bindings still compile, but detail retrieval is now available only through the web UI. Use the overview operations (getDds, getDdsByInternalReference) for API-based lookups.
Action required
If your integration relied on getDdsByIdentifiers to read back statement content, update your error handling to treat it as unavailable, and move detail access to the UI.
New: reference-number status on overview responses¶
OverviewType (returned by all get* overview operations) gains an optional referenceNumberInfo field. It carries a human-readable status that explains the current state of the reference number in every lifecycle stage:
- Under system analysis — automated risk analysis has not concluded; no reference number assigned yet.
- Under Competent Authority review (Article 17) — the submission was profiled as high risk and is pending manual review.
- Assigned — the reference number has been released (status
AVAILABLE).
The field is optional and additive — existing clients that ignore it are unaffected.
New: summary address on operator identification¶
EconomicOperatorIdentificationType gains an optional summaryAddress element (SummaryAddressType, carrying name and country) alongside the existing operatorAddress. In DDS responses, the represented operator is returned with this abbreviated address — operator name and country only. The element is optional and additive, and is not required on submission.
New: user information messages¶
Responses carry an optional EudrUserMessage header (EudrUserMessageType, max 2000 characters) used for EUDR announcements. It is populated from translatable content and is not present in V3 responses. Clients may read it to surface announcements, or ignore it. See User information messages on the home page.