---
title: "Update a customer DDS for an inbound product"
method: PUT
path: "/public/v2/eudr/customers/customer-dds/{ddsId}"
tags: ["EUDR - Customers - DDS"]
---

# Update a customer DDS for an inbound product

`PUT /public/v2/eudr/customers/customer-dds/{ddsId}`

Updates an existing customer Due Diligence Statement (DDS) identified by `ddsId`.
The payload must contain all required customer, activity, and product measure fields.

**Use Cases**:
- Update compliance statements
- Modify due diligence information
- Correct DDS data before submission

**Required permission:** `access_public_products` and `UPDATE` on the DDS

## Path parameters

- `ddsId` integer, required

## Request body

- PublicCustomerDDSPayload — Payload for creating or updating a Customer DDS. Contains all required and optional fields for a customer DDS statement, including references and product measures.
  - `eoriNumber` string, required — EORI number of the customer.
  - `customerName` string, required — Name of the customer as stated on the DDS.
  - `customerCity` string, required — City of the customer as stated on the DDS.
  - `customerPostalCode` string, required — Postal code of the customer as stated on the DDS.
  - `customerStreet` string, required — Street of the customer as stated on the DDS.
  - `customerCountryId` integer, required — ID of the customer's home country (see /countries endpoint).
  - `operatorType` 'RepresentativeOperator' | 'Operator' | 'Trader' — Public operator type. RepresentativeOperator is the only supported value. Operator and Trader are deprecated and retained only for legacy data.
  - `activityType` 'Import' | 'Export' | 'Domestic' | 'Trade', required — Public activity type.
  - `countryOfActivityId` integer, nullable — ID of the country where the economic activity is taking place (see /countries endpoint).
  - `originRequestReferences` PublicDDSReferencePayload — Reference for a DDS statement, including one or more reference labels and the reference type.
    - `reference` string[], required — Reference labels (e.g. purchase order numbers, shipment numbers).
    - `type` 'PurchaseOrder' | 'ShipmentNumber' | 'Other', required — Public product reference type.
  - `netWeightInKg` number, required — Net weight of the product in kg.
  - `quantity` number, nullable — Product quantity (additional info).
  - `unit` string, nullable — Unit of the quantity (e.g. kg, t, m3).

## Response `200`

Customer DDS updated successfully.

- PublicCustomerDDS
  - `id` integer, required — DDS ID
  - `active` boolean, required — Active status
  - `referenceNumber` string, nullable — Reference number
  - `verificationNumber` string, nullable — Verification number
  - `date` string, date-time, required — DDS date
  - `archived` boolean, required — Archived
  - `archiveDate` string, date-time, nullable — Archive date
  - `origins` PublicOrigin[], required — List of DDS origins
    - `id` integer, required — Origin ID
    - `name` string, nullable — Origin name
    - `active` boolean, required — Active status
    - `producedAtStart` string, date-time, nullable — Production start date
    - `producedAtEnd` string, date-time, nullable — Production end date
    - `producer` PublicProducer — Producer of the origin
      - `id` integer, required — Target ID of the producer
      - `name` string, required — Producer name
      - `geo` PublicGeometrySchema — Geometry plot object
        - `type` string, required — Geometry available types: Point, MultiPoint, Polygon, MultiPolygon
        - `coordinates` array[], required — Geometry coordinates
          - array[] — Geometry coordinates
            - number[] — Geometry coordinates
      - `countryId` integer, nullable — Country ID of the producer
    - `country` PublicCountry, required — Country where the economic activity is taking place
      - `id` integer, required — Country ID
      - `name` string, required — Country name
      - `countryCode` string, nullable — Country code in form of ISO 3166-1 alpha-2 code
      - `bounds` PublicGeometrySchema — Geometry plot object
        - `type` string, required — Geometry available types: Point, MultiPoint, Polygon, MultiPolygon
        - `coordinates` array[], required — Geometry coordinates
          - array[] — Geometry coordinates
            - number[] — Geometry coordinates
    - `plot` PublicFeatureCollection, required — Plot of the origin
      - `features` PublicFeature[], required
        - `geometry` PublicGeometrySchema, required — Geometry plot object
          - `type` string, required — Geometry available types: Point, MultiPoint, Polygon, MultiPolygon
          - `coordinates` array[], required — Geometry coordinates
            - array[] — Geometry coordinates
              - …
        - `properties` object, required — Value map with available keys: - ProducerName (String) - ProducerCountry (Country code in form of ISO 3166-1 alpha-2 code) - ProductionPlace (String) - Area (Double)
    - `plotAreaHa` number, double, required — Plot area in hectares
    - `dds` PublicProductSupplierDDS — Supplier DDS
      - `id` integer, required — Supplier DDS ID
      - `active` boolean, required — Active status
      - `referenceNumber` string, nullable — Reference number
      - `date` string, date-time, required — DDS date
      - `netWeightInKg` number, required — Net Weight in Kg
      - `archived` boolean, required — Archived
      - `archiveDate` string, date-time, nullable — Archive date
    - `request` PublicMinimalOriginRequest — Origin request references
      - `id` integer, required — Origin request ID
      - `createdAt` string, date-time, required — Creation date of the origin request
      - `status` 'Requested' | 'Delayed' | 'Rejected' | 'Canceled' | 'Answered', required — Filter by origin request status.
      - `references` PublicOriginRequestRef[], required — References date of the origin request
        - `id` integer, required — Request ID
        - `reference` string, required — Reference label
        - `referenceType` 'PurchaseOrder' | 'ShipmentNumber' | 'Other', required — Public product reference type.
    - `pendingProducerDiscoveryRequest` PublicProducerDiscoveryRequest — Pending producer discovery request
      - `id` integer, required — Producer discovery request ID
      - `originId` integer, required — Origin ID
      - `name` string, required — Producer name
      - `targetId` integer, nullable — Producer Target ID
    - `countryRisk` 'Low' | 'Mid' | 'High' — Public EUDR risk.
    - `pendingDFRequest` PublicPendingDFRequest — Public pending deforestation request details.
      - `type` 'Basic' | 'Advanced', required — Public deforestation check type.
    - `dfCheck` PublicDFCheck — Result of deforestation check request
      - `checkDate` string, date-time, required — Deforestation check date
      - `primaryForestArea` number, double, required — Available forest area in hectares
      - `deforestedArea` number, double, required — Deforested area in hectares
      - `numberOfAlerts` integer, required — Number of alerts
      - `pictures` string[], required
    - `dfCheckResult` PublicDFCheckResult — Deforestation check result status
      - `status` 'Negligible' | 'NonNegligible' | 'NotRequired' | 'Required', required — Filter by DF status.
      - `outdated` boolean, required — Is the check outdated
    - `legalityCheck` PublicOriginLegalityCheck — Legality check result
      - `score` Score
        - `value` integer, required
        - `risk` 'NA' | 'No' | 'Low' | 'Mid' | 'High' | 'Critical', required
      - `scoreAvail` 'None' | 'Peer' | 'Alert' | 'SSA' | 'External', required
      - `status` 'Negligible' | 'NonNegligible' | 'NotRequired' | 'Required', required — Filter by DF status.
    - `weight` number, nullable — Weight, if origin is provided from an origin request with weight
    - `createdAt` string, date-time, required — Creation date of the origin
    - `updatedAt` string, date-time, required — Last update date of the origin
  - `eoriNumber` string, required — EORI number of the customer
  - `customerName` string, required — Name of the customer as stated on the DDS
  - `customerCity` string, required — City of the customer as stated on the DDS
  - `customerPostalCode` string, required — Postal code of the customer as stated on the DDS
  - `customerStreet` string, required — Street of the customer as stated on the DDS
  - `customerCountry` PublicCountry, required — Country where the economic activity is taking place
    - `id` integer, required — Country ID
    - `name` string, required — Country name
    - `countryCode` string, nullable — Country code in form of ISO 3166-1 alpha-2 code
    - `bounds` PublicGeometrySchema — Geometry plot object
      - `type` string, required — Geometry available types: Point, MultiPoint, Polygon, MultiPolygon
      - `coordinates` array[], required — Geometry coordinates
        - array[] — Geometry coordinates
          - number[] — Geometry coordinates
  - `state` 'New' | 'Submitting' | 'Submitted' | 'SubmissionError' | 'Available' | 'Rejected' | 'Cancelled' | 'Withdrawn' | 'Archived' | 'Suspended' | 'Updated' | 'Grouped' | 'Obsolete', required — Public customer DDS state.
  - `operatorType` 'RepresentativeOperator' | 'Operator' | 'Trader', required — Public operator type. RepresentativeOperator is the only supported value. Operator and Trader are deprecated and retained only for legacy data.
  - `activityType` 'Import' | 'Export' | 'Domestic' | 'Trade', required — Public activity type.
  - `countryOfActivity` PublicCountry — Country where the economic activity is taking place
    - `id` integer, required — Country ID
    - `name` string, required — Country name
    - `countryCode` string, nullable — Country code in form of ISO 3166-1 alpha-2 code
    - `bounds` PublicGeometrySchema — Geometry plot object
      - `type` string, required — Geometry available types: Point, MultiPoint, Polygon, MultiPolygon
      - `coordinates` array[], required — Geometry coordinates
        - array[] — Geometry coordinates
          - number[] — Geometry coordinates
  - `originRequestReferences` PublicDDSReference — List of DDS references
    - `ddsId` integer, required — Referenced DDS ID
    - `reference` string, required — Reference label
    - `type` 'PurchaseOrder' | 'ShipmentNumber' | 'Other', required — Public product reference type.
  - `productName` string, required — Product name label
  - `productDescription` string, required — Product description label
  - `netWeightInKg` number, required — Net Weight in Kg
  - `quantity` number, nullable — Product quantity (additional info)
  - `unit` string, nullable — Quantity unit
  - `hsCode` string, required — HS code
  - `submissionError` PublicSubmissionError — Details about a submission error, if state is SUBMISSION_ERROR
    - `code` string, required — Error code
    - `detail` string, required — Human readable details about the error
    - `reasons` string[], nullable — Detailed reasons about the error, if any

## Other responses

- `400` — Invalid request payload (e.g. missing required fields, invalid values).
- `403` — 403 Forbidden - Authentication or authorization failure. This status code is returned when: (1) the request lacks valid authentication credentials (missing or invalid X-Auth-Token header), or (2) the authenticated user does not have the required permission to access this resource.
- `404` — DDS not found.
- `429` — 429 Too Many Requests - API rate limit exceeded. The request has been rejected because the rate limit for this endpoint has been exceeded. Default rate limits: GET requests - 100 per 10 seconds, 500 per minute; POST/PUT/PATCH/DELETE requests - 20 per 10 seconds, 100 per minute. For increased access, please contact customer success.
- `500` — 500 Internal Server Error - An unexpected error occurred on the server. The request may or may not have been processed.

---

[API](https://skmtc.net/prewave/apis/public-prewave-api.md) · [All operations](https://skmtc.net/prewave/apis/public-prewave-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/prewave/public-prewave-api/revisions/466169815b78/schema)
