Skip to main content

DSR Operations

The Qarion SDK provides methods for submitting and managing GDPR Data Subject Requests (DSR) programmatically.

Usage

Submit a DSR via OpenDSR

from qarion import QarionClient

client = QarionClient(api_key="qk_...")

# Submit an erasure request
response = client.opendsr.create_request(
subject_request_type="erasure",
subject_identities=[
{"identity_type": "email", "identity_value": "user@example.com"}
],
status_callback_url="https://your-system.com/dsr/callback",
)
print(f"Request ID: {response.request_id}")
print(f"Status: {response.status}")

Check Request Status

status = client.opendsr.get_request(request_id="...")
print(f"Status: {status.status}")
print(f"Created: {status.created_at}")

Cancel a Pending Request

client.opendsr.cancel_request(request_id="...")

Admin: Export User Data

# Export all personal data for a user (admin only)
export = client.dsr.export_user_data(
user_id="...",
export_format="json",
)
print(f"Exported {len(export.data)} categories")

Admin: Erasure Dry Run

preview = client.dsr.erasure_dry_run(user_id="...")
print(f"Records to delete: {preview.records_to_delete}")
print(f"Records to anonymize: {preview.records_to_anonymize}")

Admin: Execute Erasure

result = client.dsr.erasure_execute(
user_id="...",
confirm_irreversible=True,
)
print(f"Total affected: {result.total_affected}")