SD Sample XML Requests & Responses (V3)¶
Sample SOAP requests and responses for the EUDRSimplifiedDeclarationServiceV3.
Note
Replace {{wsse_*}} placeholders with your WS-Security credentials.
| Environment | Endpoint |
|---|---|
| Production | https://eudr.webcloud.ec.europa.eu/tracesnt/ws/EUDRSimplifiedDeclarationServiceV3 |
| Acceptance | https://acceptance.eudr.webcloud.ec.europa.eu/tracesnt/ws/EUDRSimplifiedDeclarationServiceV3 |
submitSd¶
Request¶
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4"
xmlns:sd="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3"
xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3">
<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>
<v4:WebServiceClientId>YOUR_CLIENT_ID</v4:WebServiceClientId>
</soapenv:Header>
<soapenv:Body>
<sd:SubmitSdRequest>
<sd:operatorRole>MICRO_OPERATOR</sd:operatorRole>
<sd:statement>
<sd:internalReferenceNumber></sd:internalReferenceNumber>
<sd:activityType>IMPORT</sd:activityType>
<sd:countryOfActivity>BE</sd:countryOfActivity>
<sd:borderCrossCountry>BE</sd:borderCrossCountry>
<sd:commodities>
<sd:position>1</sd:position>
<sd:descriptors>
<eudrCommon:descriptionOfGoods>Test cocoa product</eudrCommon:descriptionOfGoods>
<eudrCommon:goodsMeasure>
<eudrCommon:netWeight>200</eudrCommon:netWeight>
<eudrCommon:supplementaryUnit>20</eudrCommon:supplementaryUnit>
<eudrCommon:supplementaryUnitQualifier>MTQ</eudrCommon:supplementaryUnitQualifier>
</eudrCommon:goodsMeasure>
</sd:descriptors>
<sd:hsHeading>4410</sd:hsHeading>
<!-- Producer with GeoJSON location -->
<sd:producers>
<sd:producerPosition>1</sd:producerPosition>
<sd:producerCountry>BE</sd:producerCountry>
<sd:producerName>Producer with geojson</sd:producerName>
<sd:producerLocation>
<sd:geometryGeojson>BASE64_ENCODED_GEOJSON</sd:geometryGeojson>
</sd:producerLocation>
</sd:producers>
<!-- Producer with postal address location -->
<sd:producers>
<sd:producerPosition>2</sd:producerPosition>
<sd:producerCountry>BE</sd:producerCountry>
<sd:producerName>Producer with address</sd:producerName>
<sd:producerLocation>
<sd:postalAddress>
<sd:producerStreet>Rue De Geneve 4</sd:producerStreet>
<sd:producerPostalCode>1140</sd:producerPostalCode>
<sd:producerCity>Brussels</sd:producerCity>
</sd:postalAddress>
</sd:producerLocation>
</sd:producers>
<!-- Producer with cadastral identifier -->
<sd:producers>
<sd:producerPosition>3</sd:producerPosition>
<sd:producerCountry>BE</sd:producerCountry>
<sd:producerName>Producer with cadastral</sd:producerName>
<sd:producerLocation>
<sd:cadastralIdentifier>BE-BRU-2024-PARCEL-001</sd:cadastralIdentifier>
</sd:producerLocation>
</sd:producers>
</sd:commodities>
<sd:geoLocationConfidential>false</sd:geoLocationConfidential>
</sd:statement>
</sd:SubmitSdRequest>
</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-20T12:17:41.575+02:00</ns1:Created>
<ns1:Expires>2026-05-20T12:17:46.576+02:00</ns1:Expires>
</ns1:Timestamp>
</ns2:Security>
</S:Header>
<S:Body>
<ns5:SubmitSdResponse xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3">
<ns5:sdIdentifier>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</ns5:sdIdentifier>
</ns5:SubmitSdResponse>
</S:Body>
</S:Envelope>
submitSd (with Grouped Declarations)¶
Submit an SD that references previously submitted simplified declarations for grouping.
Request¶
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4"
xmlns:sd="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3"
xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3">
<!-- SOAP Header with WS-Security (same as submitSd) -->
<soapenv:Body>
<sd:SubmitSdRequest>
<sd:operatorRole>MICRO_OPERATOR</sd:operatorRole>
<sd:statement>
<sd:internalReferenceNumber>GROUPED-REF-001</sd:internalReferenceNumber>
<sd:activityType>IMPORT</sd:activityType>
<sd:countryOfActivity>BE</sd:countryOfActivity>
<sd:borderCrossCountry>BE</sd:borderCrossCountry>
<sd:commodities>
<sd:position>1</sd:position>
<sd:descriptors>
<eudrCommon:descriptionOfGoods>Grouped cocoa product</eudrCommon:descriptionOfGoods>
<eudrCommon:goodsMeasure>
<eudrCommon:netWeight>5000</eudrCommon:netWeight>
</eudrCommon:goodsMeasure>
</sd:descriptors>
<sd:hsHeading>4410</sd:hsHeading>
<sd:producers>
<sd:producerPosition>1</sd:producerPosition>
<sd:producerCountry>BE</sd:producerCountry>
<sd:producerName>Producer with geojson</sd:producerName>
<sd:producerLocation>
<sd:geometryGeojson>BASE64_ENCODED_GEOJSON</sd:geometryGeojson>
</sd:producerLocation>
</sd:producers>
</sd:commodities>
<sd:geoLocationConfidential>false</sd:geoLocationConfidential>
<!-- Grouped declarations: references to previously submitted SD -->
<sd:groupedDeclarations>
<eudrCommon:groupedDeclaration>S26BECB39D2GRX</eudrCommon:groupedDeclaration>
</sd:groupedDeclarations>
<sd:groupedDeclarations>
<eudrCommon:groupedDeclaration>S26BELSCV861ZVV</eudrCommon:groupedDeclaration>
</sd:groupedDeclarations>
</sd:statement>
</sd:SubmitSdRequest>
</soapenv:Body>
</soapenv:Envelope>
Grouped declarations behaviour
Only SD references are accepted; DDS references are rejected. Referenced
declarations receive GROUPED status and cannot be individually withdrawn or
updated while the referencing grouped declaration is active. Submission is
blocked if any referenced statement is not in AVAILABLE status.
updateSd¶
Request¶
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4"
xmlns:sd="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3"
xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3">
<!-- SOAP Header with WS-Security (same as submitSd) -->
<soapenv:Body>
<sd:UpdateSdRequest>
<sd:sdIdentifier>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</sd:sdIdentifier>
<sd:statement>
<sd:internalReferenceNumber>26BEDWNW9JD1TN</sd:internalReferenceNumber>
<sd:activityType>IMPORT</sd:activityType>
<sd:countryOfActivity>BE</sd:countryOfActivity>
<sd:borderCrossCountry>BE</sd:borderCrossCountry>
<sd:commodities>
<sd:position>1</sd:position>
<sd:descriptors>
<eudrCommon:descriptionOfGoods>Test cocoa product amended</eudrCommon:descriptionOfGoods>
<eudrCommon:goodsMeasure>
<eudrCommon:netWeight>300</eudrCommon:netWeight>
<eudrCommon:supplementaryUnit>30</eudrCommon:supplementaryUnit>
<eudrCommon:supplementaryUnitQualifier>MTQ</eudrCommon:supplementaryUnitQualifier>
</eudrCommon:goodsMeasure>
</sd:descriptors>
<sd:hsHeading>4410</sd:hsHeading>
<sd:producers>
<sd:producerPosition>1</sd:producerPosition>
<sd:producerCountry>BE</sd:producerCountry>
<sd:producerName>Producer Name amended</sd:producerName>
<sd:producerLocation>
<sd:geometryGeojson>BASE64_ENCODED_GEOJSON</sd:geometryGeojson>
</sd:producerLocation>
</sd:producers>
</sd:commodities>
<sd:geoLocationConfidential>false</sd:geoLocationConfidential>
</sd:statement>
</sd:UpdateSdRequest>
</soapenv:Body>
</soapenv:Envelope>
Response¶
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<!-- Response Header (same structure as submitSd response) -->
<S:Body>
<ns5:UpdateSdResponse xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3"
xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3">
<ns5:uuid>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</ns5:uuid>
<ns5:version>2</ns5:version>
<ns5:status>AVAILABLE</ns5:status>
</ns5:UpdateSdResponse>
</S:Body>
</S:Envelope>
withdrawSd¶
Request¶
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4"
xmlns:sd="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3">
<!-- SOAP Header with WS-Security (same as submitSd) -->
<soapenv:Body>
<sd:WithdrawSdRequest>
<sd:sdIdentifier>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</sd:sdIdentifier>
</sd:WithdrawSdRequest>
</soapenv:Body>
</soapenv:Envelope>
Response¶
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<!-- Response Header (same structure as submitSd response) -->
<S:Body>
<ns5:WithdrawSdResponse xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3"
xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3">
<ns5:uuid>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</ns5:uuid>
<ns5:status>WITHDRAWN</ns5:status>
</ns5:WithdrawSdResponse>
</S:Body>
</S:Envelope>
getSd¶
Request¶
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4"
xmlns:sd="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3"
xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3">
<!-- SOAP Header with WS-Security (same as submitSd) -->
<soapenv:Body>
<sd:GetSdRequest>
<sd:uuidAndVersionNumberList>
<eudrCommon:uuid>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</eudrCommon:uuid>
<!-- versionNumber is optional -->
<eudrCommon:versionNumber>1</eudrCommon:versionNumber>
</sd:uuidAndVersionNumberList>
</sd:GetSdRequest>
</soapenv:Body>
</soapenv:Envelope>
Response¶
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<!-- Response Header (same structure as submitSd response) -->
<S:Body>
<ns5:GetSdResponse xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3"
xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3">
<ns5:sdOverviewList>
<ns3:uuid>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</ns3:uuid>
<ns3:internalReferenceNumber>REF-0001000087</ns3:internalReferenceNumber>
<ns3:referenceNumber>S26BECB39D2GRX</ns3:referenceNumber>
<ns3:verificationNumber>H6ORMNTX</ns3:verificationNumber>
<ns3:status>AVAILABLE</ns3:status>
<ns3:date>2026-05-20T10:20:01.000Z</ns3:date>
<ns3:updatedBy>User25 User25</ns3:updatedBy>
</ns5:sdOverviewList>
</ns5:GetSdResponse>
</S:Body>
</S:Envelope>
getSdByInternalReference¶
Request¶
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4"
xmlns:sd="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3">
<!-- SOAP Header with WS-Security (same as submitSd) -->
<soapenv:Body>
<sd:GetSdByInternalReferenceRequest>
<sd:internalReference>REF-0001000087</sd:internalReference>
</sd:GetSdByInternalReferenceRequest>
</soapenv:Body>
</soapenv:Envelope>
Response¶
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<!-- Response Header (same structure as submitSd response) -->
<S:Body>
<ns5:GetSdByInternalReferenceResponse xmlns:ns3="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3"
xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3">
<ns5:sdOverviewList>
<ns3:uuid>e3b3206d-6625-47a0-b2ef-b8a7b9da1217</ns3:uuid>
<ns3:internalReferenceNumber>REF-0001000087</ns3:internalReferenceNumber>
<ns3:referenceNumber>S26BECB39D2GRX</ns3:referenceNumber>
<ns3:verificationNumber>H6ORMNTX</ns3:verificationNumber>
<ns3:status>AVAILABLE</ns3:status>
<ns3:date>2026-05-20T10:20:01.000Z</ns3:date>
<ns3:updatedBy>User25 User25</ns3:updatedBy>
</ns5:sdOverviewList>
</ns5:GetSdByInternalReferenceResponse>
</S:Body>
</S:Envelope>
getSdByIdentifiers¶
Not supported over the API
Retrieving full SD content over the API is no longer supported. Declaration detail access is possible only over the UI. Any call to this operation returns a NotFoundException fault with the message "Declaration detail access is possible only over UI", regardless of the caller's role, and no declaration content is returned.
Request¶
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4"
xmlns:sd="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3"
xmlns:eudrCommon="http://ec.europa.eu/tracesnt/certificate/eudr/common/v3">
<!-- SOAP Header with WS-Security (same as submitSd) -->
<soapenv:Body>
<sd:GetSdByIdentifiersRequest>
<sd:referenceAndVerificationNumber>
<eudrCommon:referenceNumber>S26BECB39D2GRX</eudrCommon:referenceNumber>
<eudrCommon:verificationNumber>H6ORMNTX</eudrCommon:verificationNumber>
</sd:referenceAndVerificationNumber>
</sd:GetSdByIdentifiersRequest>
</soapenv:Body>
</soapenv:Envelope>
Response¶
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<S:Fault>
<faultcode>S:Server</faultcode>
<faultstring>Declaration detail access is possible only over UI</faultstring>
<detail>
<ns5:NotFoundException xmlns:ns5="http://ec.europa.eu/tracesnt/certificate/eudr/simplified-declaration/v3">
<ns5:message>Declaration detail access is possible only over UI</ns5:message>
</ns5:NotFoundException>
</detail>
</S:Fault>
</S:Body>
</S:Envelope>