Skip to main content
If a submitted Due Diligence Statement contains incorrect data, has been superseded by an updated declaration, or must be withdrawn for any legal or operational reason, you can revoke it through this endpoint. Revocation permanently invalidates the DDS within the AgriBackup system and dispatches a withdrawal notification to TRACES NT. The revocation event and timestamp are anchored on the Hedera ledger for immutable audit evidence. A revoked DDS cannot be resubmitted — you must generate and submit a fresh statement if a corrected declaration is required.

Endpoint

POST /api/v1/enterprise/eudr/declarations/dds/{referenceId}/revoke

Path Parameters

referenceId
string
required
The unique reference identifier of the DDS you want to revoke. A statement that is already in a terminal state may not be revocable — contact your AgriBackup account team if you need to withdraw a fully validated declaration.

Response Fields

success
boolean
Indicates whether the revocation was processed successfully and the TRACES NT withdrawal notification was dispatched.
tracesReferenceNumber
string
The original TRACES NT submission reference number of the revoked DDS, confirming which declaration was withdrawn.
hederaTransactionId
string
The Hedera consensus transaction ID anchoring the revocation event on the distributed ledger for immutable audit evidence.
revokedAt
string
ISO 8601 timestamp indicating when the revocation was processed.
message
string
A human-readable message describing the outcome of the revocation request.

Code Examples

import agribackup
from agribackup.rest import ApiException

configuration = agribackup.Configuration(host="https://live.agribackup.com/api/v1")
configuration.api_key['ApiKeyAuth'] = 'sk_live_YOUR_API_KEY'

with agribackup.ApiClient(configuration) as api_client:
    try:
        declarations_api = agribackup.EnterpriseDeclarationsApi(api_client)

        reference_id = "DDS-AB12CD34"
        response = declarations_api.revoke_dds(reference_id=reference_id)

        print("Success:", response.success)
        print("TRACES reference:", response.traces_reference_number)
        print("Revoked at:", response.revoked_at)
        print("Message:", response.message)

    except ApiException as e:
        print("Exception when calling EnterpriseDeclarationsApi: %s\n" % e)
import { AgriBackupClient } from '@agribackup/sdk';

const client = new AgriBackupClient({
  apiKey: 'sk_live_YOUR_API_KEY',
  baseUrl: 'https://live.agribackup.com/api/v1'
});

async function revokeDds() {
  try {
    const referenceId = 'DDS-AB12CD34';
    const response = await client.declarations.revokeDds(referenceId);

    console.log('Success:', response.success);
    console.log('TRACES reference:', response.tracesReferenceNumber);
    console.log('Revoked at:', response.revokedAt);
    console.log('Message:', response.message);
  } catch (error) {
    console.error('Error revoking DDS:', error.message);
  }
}

revokeDds();
curl --request POST \
  --url https://live.agribackup.com/api/v1/enterprise/eudr/declarations/dds/DDS-AB12CD34/revoke \
  --header 'X-API-Key: sk_live_YOUR_API_KEY'

Example Response

{
  "success": true,
  "tracesReferenceNumber": "TRACES-2026-EU-00441",
  "hederaTransactionId": "0.0.12345@1234567890.000000000",
  "revokedAt": "2026-07-16T08:12:44Z",
  "message": "DDS successfully revoked and withdrawal notification dispatched to TRACES NT"
}
Revocation is irreversible. A revoked DDS cannot be reinstated, re-submitted, or edited. If you need to file a corrected declaration, generate a new DDS using POST /api/v1/enterprise/eudr/declarations/dds and submit it as a fresh record.
All revocations are recorded in the immutable audit log anchored on Hedera Hashgraph. The revocation event and timestamp are cryptographically preserved alongside the original DDS record.