---
title: "Create New Subject Rights Request(s)"
method: POST
path: "/v1/subject-rights/requests"
tags: ["dsar"]
---

# Create New Subject Rights Request(s)

`POST /v1/subject-rights/requests`

## Request

- Base URL: `https://api.osano.com`
- URL: `https://api.osano.com/v1/subject-rights/requests`
- Auth: API key in header `x-osano-api-key`
- TypeScript: <https://skmtc.dev/osano/apis/osano-api-reference/docs/v1/subject-rights/requests/post.ts> (a function with typed inputs; its response is checked against the schema)

Create one or more Subject Rights Requests.  The maximum number of requests that may be created in a single call is 100.  Requests created through this API never send verification emails, regardless of initial status.  If the request is successful, the response will contain a list of the created requests.

## Request body

- Dsar[]
  - `formId` integer, required
  - `requestType` string, required
  - `status` string, required
  - `due` string, date-time
  - `lastUpdated` string, date-time
  - `lastUpdatedBy` string, email
  - `notes` string
  - `notifyEmail` boolean: When set to true, an email notification will be sent to the requestor for the appropriate lifecycle event based on the initial status. Defaults to false.
  - `rejectionReasonCode` 'TECHNICALLY_INFEASIBLE' | 'REJECTED_APPEAL' | 'UNCOVERED_GEO' | 'DUPLICATE' | 'UNFOUNDED' | 'OTHER' | 'IDENTITY_NOT_VERIFIED': The reason code for the rejection. Only valid when status is REJECTED.
  - `dsarDetails` object, required
    - `email` string, email, required
    - `given-name` string
    - `family-name` string

## Response `200`

Success

- DsarResponseList
  - `items` DsarResponse[], required
    - `dsarId` string, required
    - `status` string, required
    - `requestType` string, required
    - `requestSource` string, required
    - `notes` string
    - `dsarDetails` object
    - `due` string, date-time, required
    - `created` string, date-time, required
    - `form` object
      - `formId` integer
      - `formName` string
    - `isTest` boolean, required: True if this is a test Subject Rights Request. Test requests are excluded from reporting. This value is read-only and cannot be set or changed through the API.
  - `next` string: A token which may be appended to subsequent requests to retrieve the next page of results, i.e. ?next=...

## Other responses

- `400`: Bad Request

## Changes

- **2026-11-06** `ac31099cf83e`: 4 info
  - added the new optional request property `items/notifyEmail`
  - added the new optional request property `items/rejectionReasonCode`
  - the `items/notes` request property's maxLength was increased from `500` to `3000`
  - added the required property `items/items/isTest` to the response with the `200` status
- **2026-05-12** `4fc37598750d`: 2 breaking, 3 warning
  - the `items/dsarDetails/email` request property's minLength was increased from `0` to `5`
  - the `items/lastUpdatedBy` request property's minLength was increased from `0` to `5`
  - the `items/dsarDetails/email` request property's maxLength was set to `100`
  - the `items/lastUpdatedBy` request property's maxLength was set to `100`
  - …1 more

[Operation history](https://skmtc.dev/osano/apis/osano-api-reference/changes/v1/subject-rights/requests/post.md)

---

[API](https://skmtc.dev/osano/apis/osano-api-reference.md) - [All operations](https://skmtc.dev/osano/apis/osano-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/osano/apis/osano-api-reference/revisions/ac31099cf83e?raw)
