Skip to main content

DIWASS API Overview

DIWASS (Digital Information System for Waste Shipments) is the EU platform supporting the digitalisation of transboundary waste shipment procedures under Regulation (EC) No 1013/2006 and Implementing Regulation (EU) 2025/1290.

Commercial software systems can integrate with DIWASS through SOAP web services to:

  • submit waste shipment notifications
  • manage movement documents
  • submit Annex VII documents
  • exchange compliance information with competent authorities

This documentation provides an overview of the DIWASS SOAP services and their primary operations.


Architecture Overview

DIWASS exposes a hub-and-spoke SOAP API over HTTPS. Commercial software communicates in two directions:

DirectionPatternOperations
Outbound (your system → DIWASS)Request/Response SOAP callsSubmit, Withdraw, Upload
Inbound (DIWASS → your system)Cursor-based pollingGetActions, GetNotifications, GetAnnexVIIList

Authentication is OAuth 2.0 client credentials per registered commercial software instance. Each call must carry a UserCADomainId or operator-scoped identity context.

Synchronisation is performed using cursor-based polling. Clients store the timestamp returned by DIWASS and use it in subsequent requests to retrieve only new or updated records. The three cursor types (ACTIONS, NOTIFICATIONS, ANNEX_VII) drive all inbound polling — client software should poll each cursor independently per operator.


DIWASS Integration Architecture

The following diagram illustrates how commercial software, competent authorities, and recovery or disposal facilities interact with the DIWASS SOAP API.


Service Groups

  1. Reference Data — Countries, waste codes, competent authorities, transport modes, recovery/disposal codes, packaging, attachment types
  2. Operators — GetOperators, GetOperator
  3. Notifications — SubmitNotification, GetNotification, WithdrawNotification, SubmitNotificationAuthentication, SubmitRFIReply
  4. Movement Documents — SubmitMovementDocument, SubmitCarrierTransfer, reception and completion certificates, SubmitNotificationSignal
  5. Annex VII — SubmitAnnexVII, GetAnnexVII, authentication, carrier transfer, reception/completion, take-back, signal
  6. Attachments — UploadAttachment, GetAttachment
  7. Pre-Consented Facilities — GetPreConsentedFacilities
  8. Synchronisation — GetActions, GetNotifications, GetAnnexVIIList (cursor-based polling)

For a high-level view of document lifecycles, see DIWASS Architecture (notification, movement, and Annex VII state diagrams).


Status Transition Reference

Notification lifecycle

DRAFT → SUBMITTED → ACKNOWLEDGED → CONSENTED → MOVING → RECEIVED → COMPLETED
↘ OBJECTED
↘ WITHDRAWN
↘ TAKE_BACK
↘ CANCELLED

Movement Document lifecycle

DRAFT → SUBMITTED → MOVING → RECEIVED → COMPLETED
↘ TAKE_BACK
↘ CANCELLED

Annex VII lifecycle

DRAFT → ANNOUNCED → MOVING → RECEIVED → COMPLETED
↘ TAKE_BACK
↘ CANCELLED

Error Handling

DIWASS SOAP faults follow a standard structure:

<soap:Fault>
<faultcode>Client</faultcode>
<faultstring>VALIDATION_ERROR</faultstring>
<detail>
<diwasskError>
<errorCode>NOT_FOUND</errorCode>
<field>notificationId</field>
<message>Notification DIWASS-NOT-2026-HR-000999 not found</message>
</diwasskError>
</detail>
</soap:Fault>

Common error codes:

CodeMeaningRetry?
VALIDATION_ERRORInvalid field valuesNo — fix payload
NOT_FOUNDReferenced ID does not existNo — check ID
STATUS_CONFLICTOperation not allowed in current statusNo — check status
AUTH_ERRORToken invalid or expiredYes — re-auth
RATE_LIMITToo many requestsYes — backoff
SYSTEM_ERRORDIWASS internal errorYes — exponential backoff