Endpoint
GET /v1/dpdp/grievances/:grievanceId
Authentication
Requires a developer API key in theAuthorization header.
Request Headers
| Header | Value |
|---|---|
Authorization | Bearer <api_key> |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
grievanceId | string | Yes | The grievance ID |
Example Request
curl https://api.grantex.dev/v1/dpdp/grievances/grv_01HXYZ... \
-H "Authorization: Bearer gx_..."
Response — 200 OK
{
"grievanceId": "grv_01HXYZ...",
"dataPrincipalId": "user_abc123",
"recordId": "cr_01HXYZ...",
"type": "unauthorized-processing",
"description": "Data was processed beyond the consented purposes",
"evidence": {
"observedAction": "marketing emails sent without consent",
"timestamp": "2026-04-04T10:00:00.000Z"
},
"status": "submitted",
"referenceNumber": "GRV-2026-00042",
"expectedResolutionBy": "2026-04-12T14:00:00.000Z",
"resolvedAt": null,
"resolution": null,
"createdAt": "2026-04-05T14:00:00.000Z"
}
Response Fields
| Field | Type | Description |
|---|---|---|
grievanceId | string | Unique grievance ID |
dataPrincipalId | string | The data principal who filed the grievance |
recordId | string | null | Related consent record ID (if applicable) |
type | string | Grievance type |
description | string | Detailed description |
evidence | object | Supporting evidence |
status | string | Current status: submitted, in-progress, resolved, or rejected |
referenceNumber | string | Human-readable reference number |
expectedResolutionBy | string | ISO-8601 resolution deadline |
resolvedAt | string | null | ISO-8601 resolution timestamp (if resolved) |
resolution | string | null | Resolution details (if resolved) |
createdAt | string | ISO-8601 creation timestamp |
Error Responses
| Status | Code | Description |
|---|---|---|
| 401 | UNAUTHORIZED | Invalid or missing API key |
| 404 | NOT_FOUND | Grievance not found |
SDK Examples
import Grantex from '@grantex/sdk';
const grantex = new Grantex({ apiKey: 'gx_...' });
const grievance = await grantex.dpdp.getGrievance('grv_01HXYZ...');
// grievance.status → "submitted" | "in-progress" | "resolved" | "rejected"
from grantex import Grantex
grantex = Grantex(api_key="gx_...")
grievance = grantex.dpdp.get_grievance("grv_01HXYZ...")
print(grievance.status, grievance.reference_number)