Handle user rights
Privacy regulations give users the right to raise complaints, designate representatives, and contact the responsible party for data processing. truConsent provides dedicated endpoints for each of these workflows: a grievance ticketing system for rights requests, a nominee registry for designating authorized representatives, and a DPO information endpoint for surfacing your organization’s Data Protection Officer details.
All endpoints in this guide require the X-API-Key header.
Grievance tickets
Users can submit data rights requests or complaints as grievance tickets. Each ticket is assigned a human-readable ID (for example, GRV-ABC12345) and starts in open status.
Create a ticket
curl -X POST https://api.truConsent.io/grievance \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "client_user_id": "user_123", "subject": "Request to delete my data", "description": "I would like all personal data associated with my account to be deleted under DPDP Article 13.", "category": "erasure", "attachment_url": null }'| Field | Type | Required | Description |
|---|---|---|---|
client_user_id | string | Yes | Your application’s user ID for the person raising the ticket |
subject | string | Yes | Short summary of the request |
description | string | Yes | Full details of the request or complaint |
category | string | Yes | Category of the rights request (for example, erasure, access, correction) |
attachment_url | string | No | URL to any supporting document |
{ "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d", "ticket_id": "GRV-ABC12345", "client_user_id": "user_123", "subject": "Request to delete my data", "description": "I would like all personal data associated with my account to be deleted under DPDP Article 13.", "category": "erasure", "status": "open", "attachment_url": null, "created_at": "2026-04-21T10:30:00", "updated_at": "2026-04-21T10:30:00"}List a user’s tickets
curl https://api.truConsent.io/grievance/user/user_123 \ -H "X-API-Key: YOUR_API_KEY"Returns an array of ticket objects for the given user, ordered by creation date descending.
Update a ticket
Use this endpoint to change the ticket status or add an attachment after the initial submission.
curl -X PUT https://api.truConsent.io/grievance/GRV-ABC12345 \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "resolved", "attachment_url": "https://cdn.example.com/response-letter.pdf" }'Both status and attachment_url are optional — include only the fields you want to change.
Nominees
A nominee is a person authorized to act on a user’s data rights on their behalf. Users can register nominees, update their details, and remove them at any time.
Register a nominee
curl -X POST https://api.truConsent.io/nominee \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "user_id": "user_123", "nominee_name": "Jane Doe", "nominee_email": "jane.doe@example.com", "nominee_mobile": "+919876543210", "relationship": "spouse", "purpose_of_appointment": "To exercise data rights on my behalf in case of incapacitation" }'| Field | Type | Required | Description |
|---|---|---|---|
user_id | string | Yes | The user registering the nominee |
nominee_name | string | Yes | Full name of the nominee |
nominee_email | string | Yes | Email address of the nominee |
nominee_mobile | string | Yes | Mobile number of the nominee |
relationship | string | Yes | Relationship of the nominee to the user |
purpose_of_appointment | string | No | Why this person is being designated |
New nominees start with status: "pending".
List a user’s nominees
curl https://api.truConsent.io/nominee/user/user_123 \ -H "X-API-Key: YOUR_API_KEY"Returns an array of nominee objects for the given user.
Update a nominee
curl -X PUT https://api.truConsent.io/nominee/2c624232-cdd9-4b86-8e4b-ceecc17d69a4 \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "nominee_email": "jane.newemail@example.com", "status": "active" }'You can update any combination of: nominee_name, nominee_email, nominee_mobile, relationship, purpose_of_appointment, and status.
Remove a nominee
curl -X DELETE https://api.truConsent.io/nominee/2c624232-cdd9-4b86-8e4b-ceecc17d69a4 \ -H "X-API-Key: YOUR_API_KEY"{ "message": "Nominee deleted successfully" }Data Protection Officer
Retrieve the DPO information configured for your organization. Display this to users who need to know who is responsible for their data, as required by many privacy regulations.
curl https://api.truConsent.io/dpo \ -H "X-API-Key: YOUR_API_KEY"{ "id": "1a2b3c4d-0000-0000-0000-000000000001", "full_name": "Alex Singh", "email": "dpo@acmecorp.com", "appointment_date": null, "qualifications": null, "responsibilities": null, "created_at": "2026-01-15T09:00:00", "updated_at": "2026-04-01T12:00:00"}