> ## Documentation Index
> Fetch the complete documentation index at: https://docs.grantex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Grievance

> Retrieve the status and details of a DPDP grievance by ID.

## Endpoint

```
GET /v1/dpdp/grievances/:grievanceId
```

## Authentication

Requires a developer API key in the `Authorization` header.

## Request Headers

| Header | Value |
| - | - |
| `Authorization` | `Bearer <api_key>` |

## Path Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `grievanceId` | `string` | Yes | The grievance ID |

## Example Request

```bash theme={null}
curl https://api.grantex.dev/v1/dpdp/grievances/grv_01HXYZ... \
  -H "Authorization: Bearer gx_..."
```

## Response -- 200 OK

```json theme={null}
{
  "grievanceId": "grv_01HXYZ...",
  "dataPrincipalId": "user_abc123",
  "recordId": "crec_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-01JAB3XK7Q9M2V5W8Y0Z4C6D1E",
  "expectedResolutionBy": "2026-04-12T14:00:00.000Z",
  "responsePeriodDays": 7,
  "resolvedAt": null,
  "resolution": null,
  "createdAt": "2026-04-05T14:00:00.000Z",
  "updatedAt": null
}
```

## 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_review`, `resolved`, or `rejected` |
| `referenceNumber` | `string` | Human-readable reference number |
| `expectedResolutionBy` | `string` | ISO-8601 resolution deadline |
| `responsePeriodDays` | `integer` | The published response period applied (days) |
| `resolvedAt` | `string \| null` | ISO-8601 resolution timestamp (if resolved) |
| `resolution` | `string \| null` | Resolution details (if resolved) |
| `createdAt` | `string` | ISO-8601 creation timestamp |
| `updatedAt` | `string \| null` | ISO-8601 timestamp of the last status change or redaction |

If the data principal's data was erased, `description` and `evidence` hold a
fixed marker instead of the original text.

## Error Responses

| Status | Code | Description |
| - | - | - |
| 401 | `UNAUTHORIZED` | Invalid or missing API key |
| 404 | `NOT_FOUND` | Grievance not found |

## SDK Examples

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { Grantex } from '@grantex/sdk';

  const grantex = new Grantex({ apiKey: 'gx_...' });

  const grievance = await grantex.dpdp.getGrievance('grv_01HXYZ...');
  // grievance.status → "submitted" | "in_review" | "resolved" | "rejected"
  ```

  ```python Python theme={null}
  from grantex import Grantex

  grantex = Grantex(api_key="gx_...")

  grievance = grantex.dpdp.get_grievance("grv_01HXYZ...")
  print(grievance.status, grievance.reference_number)
  ```
</CodeGroup>

## Ownership

Grantex is owned by Orchestrum Technologies LLP. Inventor and owner: Sanjeev Kumar. Ownership contact: [sanjeev@orchestrum.in](mailto:sanjeev@orchestrum.in) or [mishra.sanjeev@gmail.com](mailto:mishra.sanjeev@gmail.com).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.