---
title: "Withdraw a submitted customer DDS"
method: POST
path: "/public/v2/eudr/customers/customer-dds/{ddsId}/withdraw"
tags: ["EUDR - Customers - DDS"]
---

# Withdraw a submitted customer DDS

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

## Request

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

Withdraws a customer Due Diligence Statement (DDS) from the regulatory system.
The DDS must be in `Available` state, and the withdrawal must be requested no later than 72 hours after it becomes available.
The withdrawal is completed synchronously; a successful response means both the regulatory withdrawal and local state update completed.

**Required permission:** `access_public_products`
Product ownership is checked in the service (including inactive Available DDS superseded by a clone).

## Path parameters

- `ddsId` integer, required

## Response `204`

Customer DDS withdrawn successfully.

## Other responses

- `400`: The DDS ID path parameter is invalid.
- `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`: The customer DDS is missing or inaccessible in Dashboard, or its submission is missing in the regulatory service.
- `409`: The customer DDS is not in `Available` state in Dashboard.
- `422`: The regulatory service rejected the withdrawal, for example because the withdrawal window elapsed, the regulatory status is not withdrawable, or required submission identifiers are missing.
- `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.
- `502`: The regulatory system failed to process the withdrawal or returned an invalid response.

## Changes

- **2026-11-11** `04221a285ed9`: 3 warning
  - added the new `origin_request_status_conflict` enum value to the `code` response property for the response status `422`
  - added the new `origin_request_status_conflict` enum value to the `code` response property for the response status `502`
  - added the new `origin_request_status_conflict` enum value to the `oneOf[#/components/schemas/TracesNtDDSErrorDTO]/code` response property for the response status `404`
- **2026-10-19** `2a9e4787c6e5`: 3 warning
  - added the new `permission_limit_not_assigned` enum value to the `code` response property for the response status `422`
  - added the new `permission_limit_not_assigned` enum value to the `code` response property for the response status `502`
  - added the new `permission_limit_not_assigned` enum value to the `oneOf[#/components/schemas/TracesNtDDSErrorDTO]/code` response property for the response status `404`
- …earlier changes not shown

[Operation history](https://skmtc.dev/prewave/apis/public-prewave-api/changes/public/v2/eudr/customers/customer-dds/:ddsId/withdraw/post.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/bd063a0703c0?raw)
