---
title: "List customer DDS entries (flat sync)"
method: GET
path: "/public/v2/eudr/customers/customer-dds"
tags: ["EUDR - Customers - DDS"]
---

# List customer DDS entries (flat sync)

`GET /public/v2/eudr/customers/customer-dds`

## Request

- Base URL: `https://api.prewave.com`
- URL: `https://api.prewave.com/public/v2/eudr/customers/customer-dds`
- Auth: API key in header `X-Auth-Token`
- TypeScript: <https://skmtc.dev/prewave/apis/public-prewave-api/docs/public/v2/eudr/customers/customer-dds/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a customer-scoped, paginated flat list of Customer Due Diligence Statements (DDS)
for inbound products the caller can access.

**Filters** (all provided filters are combined with **AND** / intersection):
- `updatedSince` — inclusive lower bound on `updatedAt` (`updated_at >= updatedSince`)
- `states` — match any of the given public DDS states (includes `New`)
- `ids` / `productIds` / `originRequestIds` — every value must be accessible to the caller; otherwise **404**.
  Each list is capped at **100** values (otherwise **400**). `productIds` and `originRequestIds` may include
  inactive products the caller can still access (customer-scoped).
- `originRequestIds` — within this list, DDS linked to **at least one** of the given origin requests (OR);
  across other filters, still AND
- `includeOrigins` — when `false` (default), `origins` is `[]`; when `true`, include linked origin summaries

**Pagination**:
- Default `page=0`, `size=10`; max `size=100`
- Sort: `updatedAt` ascending, then `id` ascending

**Required permission:** `access_public_products`

## Query parameters

- `updatedSince` string, date-time
- `states` string
- `productIds` integer
- `ids` integer
- `originRequestIds` integer
- `includeOrigins` boolean
- `page` integer
- `size` integer

## Response `200`

Paginated flat customer DDS list.

- object
  - `content` PublicCustomerDDSListItem[]
    - `id` integer, required: Customer DDS ID
    - `productId` integer, required: Inbound product ID
    - `updatedAt` string, date-time, required: Last modification. Timestamp (ISO 8601 UTC)
    - `originRequestIds` integer[], required: Origin request IDs linked to this customer DDS
    - `referenceNumber` string, nullable: EU reference number
    - `verificationNumber` string, nullable: Verification number
    - `date` string, date-time, required: DDS date. Timestamp (ISO 8601 UTC)
    - `origins` PublicOriginSummary[], required: Linked origin summaries. Empty unless includeOrigins=true.
      - `id` integer, required: Origin ID
      - `name` string, nullable: Origin name
      - `active` boolean, required: Whether the origin is active
      - `producedAtStart` string, date-time, nullable: Production start. Timestamp (ISO 8601 UTC)
      - `producedAtEnd` string, date-time, nullable: Production end. Timestamp (ISO 8601 UTC)
      - `countryCode` string, nullable: ISO 3166-1 alpha-2 country code
      - `plot` PublicFeatureCollection: Plot geometry
        - `features` PublicFeature[], required
          - `geometry` PublicGeometrySchema, required: Geometry plot object
            - `type` string, required: Geometry available types: Point, MultiPoint, Polygon, MultiPolygon
            - `coordinates` array[], required: 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, nullable: Plot area in hectares
      - `originRequestId` integer, nullable: Linked origin request ID
      - `countryRisk` 'Low' | 'Mid' | 'High': Public EUDR risk.
      - `weight` number, nullable: Origin weight
      - `createdAt` string, date-time, nullable: Creation timestamp. Timestamp (ISO 8601 UTC)
      - `updatedAt` string, date-time, nullable: Last update. Timestamp (ISO 8601 UTC)
      - `producerId` integer, nullable: Producer ID
      - `assessments` PublicOriginAssessmentsV3: Deforestation and legality assessments on an origin.
        - `deforestation` PublicOriginDfAssessmentV3, nullable: Origin deforestation assessment.
          - `status` 'Negligible' | 'NonNegligible' | 'NotRequired' | 'Required' | 'Derisked' | 'Pending', required: Filter by deforestation assessment status.
        - `legality` PublicOriginLaAssessmentV3, nullable: Origin legality assessment.
          - `status` 'Negligible' | 'NonNegligible' | 'NotRequired' | 'Required' | 'Derisked' | 'Pending', required: Filter by deforestation assessment status.
    - `identifier` PublicCustomerDDSIdentifier, required: Operator identifiers. Object is required and must contain at least one key.
      - `eori` string, nullable: EORI number
    - `customerName` string, required: Customer name on the DDS
    - `customerCity` string, required: Customer city
    - `customerPostalCode` string, required: Customer postal code
    - `customerStreet` string, required: Customer street
    - `customerCountryCode` string, required: ISO 3166-1 alpha-2 customer country code
    - `state` 'New' | 'Submitting' | 'Submitted' | 'SubmissionError' | 'Available' | 'Rejected' | 'Cancelled' | 'Withdrawn' | 'Archived' | 'Suspended' | 'Updated' | 'Grouped' | 'Obsolete', required: Public customer DDS state.
    - `activityType` 'Import' | 'Export' | 'Domestic' | 'Trade', required: Public activity type on responses and legacy payloads. Trade is deprecated and retained only for legacy data; create-and-submit uses PublicCustomerDDSCreateActivityType instead.
    - `countryOfActivityCode` string, nullable: ISO 3166-1 alpha-2 country of activity code
    - `netWeightInKg` number, required: Net weight in kg
    - `quantity` number, nullable: Quantity
    - `unit` string, nullable: Quantity unit
    - `hsCode` string, required: HS code
    - `submissionError` PublicSubmissionError: Submission error details when state is SubmissionError
      - `code` string, required: Error code
      - `detail` string, required: Human readable details about the error
      - `reasons` string[], nullable: Detailed reasons about the error, if any
  - `size` integer
  - `number` integer
  - `totalElements` integer
  - `totalPages` integer
  - `numberOfElements` integer
  - `first` boolean
  - `last` boolean
  - `empty` boolean

## Other responses

- `400`: Invalid pagination or filter list size.
- `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`: One or more filter IDs are not accessible for this customer.
- `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.

## Changes

- **2026-10-19** `2a9e4787c6e5`: 1 warning
  - added the new `permission_limit_not_assigned` enum value to the `e/code/allOf[#/components/schemas/ErrorCode]/` response property for the response status `404`
- **2026-10-02** `64e6664ac3e7`: 2 warning
  - added the new `risk_analysis_migration_blocked` enum value to the `e/code/allOf[#/components/schemas/ErrorCode]/` response property for the response status `404`
  - added the new `risk_analysis_not_legacy` enum value to the `e/code/allOf[#/components/schemas/ErrorCode]/` response property for the response status `404`
- **2026-09-25** `03c1c9d14a3b`: 1 warning
  - added the new `df_checks_not_enabled` enum value to the `e/code/allOf[#/components/schemas/ErrorCode]/` response property for the response status `404`
- **2026-09-23** `acaacfebceb2`: 1 warning
  - added the new `customer_tiern_settings_not_enabled` enum value to the `e/code/allOf[#/components/schemas/ErrorCode]/` response property for the response status `404`
- **2026-09-21** `19288f3a6520`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/prewave/apis/public-prewave-api/changes/public/v2/eudr/customers/customer-dds/get.md)

---

[API](https://skmtc.dev/prewave/apis/public-prewave-api.md) - [All operations](https://skmtc.dev/prewave/apis/public-prewave-api/llms.txt) - [OpenAPI document](https://skmtc.dev/prewave/apis/public-prewave-api/revisions/8b6e3b3827ca?raw)
