Skip to content

DDS Sample XML Requests & Responses (V4)

Sample SOAP requests and responses for the EUDRDueDiligenceStatementServiceV4.

Note

Replace {{wsse_*}} placeholders with your WS-Security credentials.

Environment Endpoint
Production https://eudr.webcloud.ec.europa.eu/tracesnt/ws/EUDRDueDiligenceStatementServiceV4
Acceptance https://acceptance.eudr.webcloud.ec.europa.eu/tracesnt/ws/EUDRDueDiligenceStatementServiceV4

submitDds

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:base="http://ec.europa.eu/sanco/tracesnt/base/v4"
                  xmlns:dds="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4"
                  xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4">
    <soapenv:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                       xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsu:Timestamp wsu:Id="TS-1">
                <wsu:Created>{{wsse_created}}</wsu:Created>
                <wsu:Expires>{{wsse_expires}}</wsu:Expires>
            </wsu:Timestamp>
            <wsse:UsernameToken wsu:Id="UT-1">
                <wsse:Username>{{wsse_username}}</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">{{wsse_passwordDigest}}</wsse:Password>
                <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">{{wsse_nonce}}</wsse:Nonce>
                <wsu:Created>{{wsse_created}}</wsu:Created>
            </wsse:UsernameToken>
        </wsse:Security>
        <base:WebServiceClientId>YOUR_CLIENT_ID</base:WebServiceClientId>
    </soapenv:Header>
    <soapenv:Body>
        <dds:SubmitDdsRequest>
            <dds:operatorRole>OPERATOR</dds:operatorRole>
            <dds:statement>
                <dds:internalReferenceNumber></dds:internalReferenceNumber>
                <dds:activityType>IMPORT</dds:activityType>
                <dds:countryOfActivity>BE</dds:countryOfActivity>
                <dds:borderCrossCountry>BE</dds:borderCrossCountry>
                <dds:commodities>
                    <dds:position>1</dds:position>
                    <dds:descriptors>
                        <eudrCommon:descriptionOfGoods>Test wood product</eudrCommon:descriptionOfGoods>
                        <eudrCommon:goodsMeasure>
                            <eudrCommon:netWeight>200</eudrCommon:netWeight>
                            <eudrCommon:supplementaryUnit>20</eudrCommon:supplementaryUnit>
                            <eudrCommon:supplementaryUnitQualifier>MTQ</eudrCommon:supplementaryUnitQualifier>
                        </eudrCommon:goodsMeasure>
                    </dds:descriptors>
                    <dds:hsHeading>4410</dds:hsHeading>
                    <dds:speciesInfo>
                        <dds:scientificName>Bifora testiculata</dds:scientificName>
                        <dds:commonName>Test Name</dds:commonName>
                    </dds:speciesInfo>
                    <dds:producers>
                        <dds:position>1</dds:position>
                        <dds:country>FR</dds:country>
                        <dds:name>Producer Name</dds:name>
                        <dds:geometryGeojson>BASE64_ENCODED_GEOJSON</dds:geometryGeojson>
                    </dds:producers>
                </dds:commodities>
                <dds:geoLocationConfidential>false</dds:geoLocationConfidential>
            </dds:statement>
        </dds:SubmitDdsRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Header>
        <ns2:Security xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
                      xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <ns1:Timestamp>
                <ns1:Created>2026-05-20T11:52:32.854+02:00</ns1:Created>
                <ns1:Expires>2026-05-20T11:52:37.855+02:00</ns1:Expires>
            </ns1:Timestamp>
        </ns2:Security>
        <!-- V4: optional user information message header -->
        <eudr:EudrUserMessage xmlns:eudr="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4">Example EUDR announcement.</eudr:EudrUserMessage>
    </S:Header>
    <S:Body>
        <ns5:SubmitDdsResponse xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4"
                               xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4">
            <ns5:uuid>071874bd-8c62-4cac-8eb6-b2fbe003410c</ns5:uuid>
        </ns5:SubmitDdsResponse>
    </S:Body>
</S:Envelope>

submitDds (with Grouped Declarations)

Submit a DDS that references previously submitted declarations and/or statements for grouping.

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:base="http://ec.europa.eu/sanco/tracesnt/base/v4"
                  xmlns:dds="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4"
                  xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4">
    <!-- SOAP Header with WS-Security (same as submitDds) -->
    <soapenv:Body>
        <dds:SubmitDdsRequest>
            <dds:operatorRole>OPERATOR</dds:operatorRole>
            <dds:statement>
                <dds:internalReferenceNumber>GROUPED-REF-001</dds:internalReferenceNumber>
                <dds:activityType>IMPORT</dds:activityType>
                <dds:countryOfActivity>BE</dds:countryOfActivity>
                <dds:borderCrossCountry>BE</dds:borderCrossCountry>
                <dds:commodities>
                    <dds:position>1</dds:position>
                    <dds:descriptors>
                        <eudrCommon:descriptionOfGoods>Grouped cocoa shipment</eudrCommon:descriptionOfGoods>
                        <eudrCommon:goodsMeasure>
                            <eudrCommon:netWeight>5000</eudrCommon:netWeight>
                        </eudrCommon:goodsMeasure>
                    </dds:descriptors>
                    <dds:hsHeading>1801</dds:hsHeading>
                    <dds:speciesInfo>
                        <dds:scientificName>Theobroma cacao</dds:scientificName>
                        <dds:commonName>Cacao</dds:commonName>
                    </dds:speciesInfo>
                    <dds:producers>
                        <dds:position>1</dds:position>
                        <dds:country>BR</dds:country>
                        <dds:name>Producer Name</dds:name>
                        <dds:geometryGeojson>BASE64_ENCODED_GEOJSON</dds:geometryGeojson>
                    </dds:producers>
                </dds:commodities>
                <dds:geoLocationConfidential>false</dds:geoLocationConfidential>
                <!-- Grouped declarations: references to previously submitted DDS/SD -->
                <dds:groupedDeclarations>
                    <eudrCommon:groupedDeclaration>26FRYUI34JTQKB</eudrCommon:groupedDeclaration>
                </dds:groupedDeclarations>
                <dds:groupedDeclarations>
                    <eudrCommon:groupedDeclaration>26FRLSCV861ZVV</eudrCommon:groupedDeclaration>
                </dds:groupedDeclarations>
            </dds:statement>
        </dds:SubmitDdsRequest>
    </soapenv:Body>
</soapenv:Envelope>

Grouped declarations behaviour

Referenced declarations receive GROUPED status and cannot be individually withdrawn or amended while the referencing grouped declaration is active. Submission is blocked if any referenced statement is not in AVAILABLE status.


amendDds

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:base="http://ec.europa.eu/sanco/tracesnt/base/v4"
                  xmlns:dds="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4"
                  xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4">
    <!-- SOAP Header with WS-Security (same as submitDds) -->
    <soapenv:Body>
        <dds:AmendDdsRequest>
            <dds:uuid>071874bd-8c62-4cac-8eb6-b2fbe003410c</dds:uuid>
            <dds:statement>
                <dds:internalReferenceNumber></dds:internalReferenceNumber>
                <dds:activityType>IMPORT</dds:activityType>
                <dds:countryOfActivity>BE</dds:countryOfActivity>
                <dds:borderCrossCountry>BE</dds:borderCrossCountry>
                <dds:commodities>
                    <dds:position>1</dds:position>
                    <dds:descriptors>
                        <eudrCommon:descriptionOfGoods>Test wood product amended</eudrCommon:descriptionOfGoods>
                        <eudrCommon:goodsMeasure>
                            <eudrCommon:netWeight>300</eudrCommon:netWeight>
                            <eudrCommon:supplementaryUnit>30</eudrCommon:supplementaryUnit>
                            <eudrCommon:supplementaryUnitQualifier>MTQ</eudrCommon:supplementaryUnitQualifier>
                        </eudrCommon:goodsMeasure>
                    </dds:descriptors>
                    <dds:hsHeading>4410</dds:hsHeading>
                    <dds:speciesInfo>
                        <dds:scientificName>Bifora testiculata</dds:scientificName>
                        <dds:commonName>Test Name</dds:commonName>
                    </dds:speciesInfo>
                    <dds:producers>
                        <dds:position>1</dds:position>
                        <dds:country>FR</dds:country>
                        <dds:name>Producer Name amended</dds:name>
                        <dds:geometryGeojson>BASE64_ENCODED_GEOJSON</dds:geometryGeojson>
                    </dds:producers>
                </dds:commodities>
                <dds:geoLocationConfidential>false</dds:geoLocationConfidential>
            </dds:statement>
        </dds:AmendDdsRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <!-- Response Header (same structure as submitDds response) -->
    <S:Body>
        <ns5:AmendDdsResponse xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4"
                              xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4">
            <ns5:uuid>071874bd-8c62-4cac-8eb6-b2fbe003410c</ns5:uuid>
            <ns5:status>AVAILABLE</ns5:status>
        </ns5:AmendDdsResponse>
    </S:Body>
</S:Envelope>

withdrawDds

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:base="http://ec.europa.eu/sanco/tracesnt/base/v4"
                  xmlns:dds="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4">
    <!-- SOAP Header with WS-Security (same as submitDds) -->
    <soapenv:Body>
        <dds:WithdrawDdsRequest>
            <dds:uuid>071874bd-8c62-4cac-8eb6-b2fbe003410c</dds:uuid>
        </dds:WithdrawDdsRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <!-- Response Header (same structure as submitDds response) -->
    <S:Body>
        <ns5:WithdrawDdsResponse xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4"
                                 xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4">
            <ns5:uuid>071874bd-8c62-4cac-8eb6-b2fbe003410c</ns5:uuid>
            <ns5:status>WITHDRAWN</ns5:status>
        </ns5:WithdrawDdsResponse>
    </S:Body>
</S:Envelope>

getDds

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:base="http://ec.europa.eu/sanco/tracesnt/base/v4"
                  xmlns:dds="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4">
    <!-- SOAP Header with WS-Security (same as submitDds) -->
    <soapenv:Body>
        <dds:GetDdsRequest>
            <dds:uuidList>071874bd-8c62-4cac-8eb6-b2fbe003410c</dds:uuidList>
        </dds:GetDdsRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response

The referenceNumberInfo element is new in V4 and carries a human-readable status of the reference number.

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <!-- Response Header (same structure as submitDds response) -->
    <S:Body>
        <ns5:GetDdsResponse xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4"
                            xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4">
            <ns5:ddsOverviewList>
                <ns3:uuid>071874bd-8c62-4cac-8eb6-b2fbe003410c</ns3:uuid>
                <ns3:internalReferenceNumber>26BEDWNW9JD1TN</ns3:internalReferenceNumber>
                <ns3:referenceNumber>26BE7XTVCZAQ2S</ns3:referenceNumber>
                <ns3:referenceNumberInfo>Assigned</ns3:referenceNumberInfo>
                <ns3:verificationNumber>SFFCB4Y3</ns3:verificationNumber>
                <ns3:status>AVAILABLE</ns3:status>
                <ns3:date>2026-05-20T09:55:01.000Z</ns3:date>
                <ns3:updatedBy>User3 User3</ns3:updatedBy>
                <ns3:version>1</ns3:version>
            </ns5:ddsOverviewList>
        </ns5:GetDdsResponse>
    </S:Body>
</S:Envelope>

Reference number not yet assigned

While the submission is still under analysis or Competent Authority review, referenceNumber and verificationNumber are absent and referenceNumberInfo carries the explanatory status, for example Under system analysis or Under Competent Authority review (Article 17).


getDdsByInternalReference

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:base="http://ec.europa.eu/sanco/tracesnt/base/v4"
                  xmlns:dds="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4">
    <!-- SOAP Header with WS-Security (same as submitDds) -->
    <soapenv:Body>
        <dds:GetDdsByInternalReferenceRequest>
            <dds:internalReference>26BEDWNW9JD1TN</dds:internalReference>
        </dds:GetDdsByInternalReferenceRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <!-- Response Header (same structure as submitDds response) -->
    <S:Body>
        <ns5:GetDdsByInternalReferenceResponse xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4"
                                               xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4">
            <ns5:ddsOverviewList>
                <ns3:uuid>071874bd-8c62-4cac-8eb6-b2fbe003410c</ns3:uuid>
                <ns3:internalReferenceNumber>26BEDWNW9JD1TN</ns3:internalReferenceNumber>
                <ns3:referenceNumber>26BE7XTVCZAQ2S</ns3:referenceNumber>
                <ns3:referenceNumberInfo>Assigned</ns3:referenceNumberInfo>
                <ns3:verificationNumber>SFFCB4Y3</ns3:verificationNumber>
                <ns3:status>AVAILABLE</ns3:status>
                <ns3:date>2026-05-20T09:55:01.000Z</ns3:date>
                <ns3:updatedBy>User3 User3</ns3:updatedBy>
                <ns3:version>1</ns3:version>
            </ns5:ddsOverviewList>
        </ns5:GetDdsByInternalReferenceResponse>
    </S:Body>
</S:Envelope>

getDdsByIdentifiers

Not supported over the API

Retrieving full DDS content over the API is not supported in V4. Statement detail access is possible only over the UI. Any call to this operation returns a NotFoundException fault with the message "Statement detail access is possible only over UI", regardless of the caller's role, and no statement content is returned.

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:base="http://ec.europa.eu/sanco/tracesnt/base/v4"
                  xmlns:dds="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4"
                  xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v4">
    <!-- SOAP Header with WS-Security (same as submitDds) -->
    <soapenv:Body>
        <dds:GetDdsByIdentifiersRequest>
            <dds:referenceAndVerificationNumber>
                <eudrCommon:referenceNumber>26BE7XTVCZAQ2S</eudrCommon:referenceNumber>
                <eudrCommon:verificationNumber>SFFCB4Y3</eudrCommon:verificationNumber>
            </dds:referenceAndVerificationNumber>
        </dds:GetDdsByIdentifiersRequest>
    </soapenv:Body>
</soapenv:Envelope>

Response

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <S:Fault>
            <faultcode>S:Server</faultcode>
            <faultstring>Statement detail access is possible only over UI</faultstring>
            <detail>
                <ns5:NotFoundException xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v4">
                    <ns5:message>Statement detail access is possible only over UI</ns5:message>
                </ns5:NotFoundException>
            </detail>
        </S:Fault>
    </S:Body>
</S:Envelope>