Skip to main content

OpenDSR API

Implements the Open DSR (formerly OpenGDPR) specification for programmatic Data Subject Request submission, status tracking, and cancellation.

Base Path​

/opendsr

Authentication​

All endpoints require an authenticated user session via Bearer token.


Endpoints​

Discovery​

GET /opendsr/discovery

Advertise supported DSR types and processor identity. Use this to discover what request types are available before submitting a request.

Response 200 OK

{
"api_version": "2.0",
"supported_subject_request_types": ["access", "erasure", "rectification"],
"processor_certificate": "https://qarion.com/privacy"
}

Create DSR Request​

POST /opendsr/requests

Create a new Data Subject Request. This automatically creates a tracked ticket with DSR-specific metadata and can optionally trigger a governance workflow.

Request Body

{
"subject_request_type": "erasure",
"subject_identities": [
{
"identity_type": "email",
"identity_value": "user@example.com"
}
],
"status_callback_url": "https://your-system.com/dsr/callback"
}
FieldTypeRequiredDescription
subject_request_typestringYesOne of: access, erasure, rectification, or a custom DSR type name
subject_identitiesarrayYesAt least one identity (email recommended)
status_callback_urlstringNoURL to receive status change webhooks

Response 201 Created

{
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"subject_request_type": "erasure",
"status": "open",
"created_at": "2026-02-27T16:00:00Z",
"updated_at": null,
"subject_identities": [
{ "identity_type": "email", "identity_value": "user@example.com" }
],
"status_callback_url": "https://your-system.com/dsr/callback"
}

Get DSR Request Status​

GET /opendsr/requests/{request_id}

Retrieve the current status of a DSR request.

Path Parameters

ParameterTypeDescription
request_idUUIDThe DSR request identifier

Response 200 OK

Returns the same schema as the create response.

Error Responses

StatusDescription
404DSR request not found

Cancel DSR Request​

DELETE /opendsr/requests/{request_id}

Cancel a pending DSR request by closing the underlying ticket.

Path Parameters

ParameterTypeDescription
request_idUUIDThe DSR request to cancel

Response 204 No Content

Error Responses

StatusDescription
404DSR request not found
409Request is already completed or closed

Custom DSR Types​

Beyond the standard access, erasure, and rectification types, Qarion supports configurable custom DSR types. Custom types can be linked to governance workflows for automated processing.

  • DSR Admin API — Direct data export and erasure execution endpoints
  • Webhooks — Outbound event push for status updates