Skip to content

DDS Migration: V2 to V3

Detailed field-by-field mapping

For a complete field-level mapping with types, constraints, and regulatory references, see DDS Field-Level Mapping.

V2 Submission: EUDRSubmissionServiceV2/tracesnt/ws/EUDRSubmissionServiceV2
V2 Retrieval: EUDRRetrievalServiceV2/tracesnt/ws/EUDRRetrievalServiceV2
V3 (unified): EUDRDueDiligenceStatementServiceV3/tracesnt/ws/EUDRDueDiligenceStatementServiceV3

Key change: V3 consolidates submission and retrieval into a single service.

Namespace change:
http://ec.europa.eu/tracesnt/certificate/eudr/submission/v2http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v3
http://ec.europa.eu/tracesnt/certificate/eudr/retrieval/v2 → merged into the above


Operation changes

V2 Service V2 Operation V3 Operation Change
Submission submitDds submitDds Request/response types renamed (see below)
Submission amendDds amendDds Request/response types renamed
Submission retractDds withdrawDds Renamed from retract to withdraw
Retrieval getDdsInfo getDds Renamed; moved to DDS service
Retrieval getDdsInfoByInternalReferenceNumber getDdsByInternalReference Renamed; moved to DDS service
Retrieval getStatementByIdentifiers getDdsByIdentifiers Renamed; moved to DDS service
Retrieval getReferencedDds Removed in V3

Request/Response type changes

Submission operations

V2 V3 Notes
SubmitStatementRequest SubmitDdsRequest Renamed; adds operatorRole field (OPERATOR / REPRESENTATIVE_OPERATOR) replacing operatorType
SubmitStatementResponse SubmitDdsResponse Field renamed: ddsIdentifieruuid
AmendStatementRequest AmendDdsRequest Field renamed: ddsIdentifieruuid
AmendStatementResponse AmendDdsResponse Now returns uuid and status (lifecycle status, e.g. AVAILABLE) instead of HTTP status string
RetractStatementRequest WithdrawDdsRequest Operation + type renamed; field ddsIdentifieruuid
RetractStatementResponse WithdrawDdsResponse Now returns uuid and status (lifecycle status, e.g. WITHDRAWN) instead of HTTP status string

Retrieval operations

V2 V3 Notes
GetStatementInfoRequest GetDdsRequest Renamed; accepts up to 100 UUIDs
GetStatementInfoResponse GetDdsResponse Renamed; uses OverviewType from common XSD
GetDdsInfoByInternalReferenceNumberRequest GetDdsByInternalReferenceRequest Renamed
GetDdsInfoByInternalReferenceNumberResponse GetDdsByInternalReferenceResponse Renamed
GetStatementByIdentifiersRequest GetDdsByIdentifiersRequest Renamed
GetStatementByIdentifiersResponse GetDdsByIdentifiersResponse Renamed; returns full DueDiligenceStatementBaseType
GetReferencedDdsRequest Removed
GetReferencedDdsResponse Removed

Fault changes

V2 V3 Notes
DdsPermissionDeniedException PermissionDeniedException Renamed (generic)
BusinessRulesValidationException BusinessRulesValidationException Unchanged
NotFoundException New — used by getDds, getDdsByInternalReference, getDdsByIdentifiers

Data model changes

Change Details
operatorTypeoperatorRole Field renamed in submit request; values changed to OPERATOR / REPRESENTATIVE_OPERATOR (TRADER roles removed)
ddsIdentifieruuid Identifier field renamed across all request types
speciesInfo added to DdsCommodityType New — supports scientificName and commonName (up to 500 per commodity)
Producer type restructured producerPositionposition, producerCountrycountry, producerNamename
Producer location V3 DDS requires geometryGeojson only (no postal address option)
associatedStatementsgroupedDeclarations Renamed; now uses GroupedDeclarationsType with groupedDeclaration reference numbers (max 2000)
GROUPED / OBSOLETE statuses New lifecycle states for grouped declarations
Common model V3 uses shared eudr-common.xsd types (UuidType, ActivityType, etc.) instead of V2's model/v2/eudr.xsd
getReferencedDds removed Supply chain traversal operation no longer available in V3
Retrieval merged into DDS service No separate retrieval service — all operations on one endpoint
Back to top