---
title: "Submit Global Opt-Out Request"
method: POST
path: "/cfw/cmp/v1/dsar"
tags: ["Data Subject Access Request (DSAR)"]
---

# Submit Global Opt-Out Request

`POST /cfw/cmp/v1/dsar`

## Request

- Base URL: `https://mobile-data.onetrust.io`
- URL: `https://mobile-data.onetrust.io/cfw/cmp/v1/dsar`
- Auth: none declared. Required headers: `OT-CDN-Location`, `OT-App-Id`, `OT-Device-Type`, `OT-SDK-Version`

Use this API to submit a global opt-out Data Subject Access Request (DSAR) on behalf of a data subject.

## Headers

- `OT-CDN-Location` 'cdn.cookielaw.org' | 'cdn-apac.onetrust.com' | 'cdn.au.onetrust.com' | 'cdn-ukwest.onetrust.com' | 'cookie-cdn.cookiepro.com' | 'otcc-demo.otprivacy.com' | 'otcc-training.onetrust.com', required: The location of the CDN.
- `OT-App-Id` string, required: The unique identifier for the app or domain.
- `OT-Device-Type` 'mobile' | 'ctv', required: The type of device.
- `OT-SDK-Version` string, required: The published version of the app or domain.
- `OT-SDK-Identification` string, nullable: The OT SDK identification.
- `OT-Language` string, nullable: The language in which the user interface should be displayed.
- `OT-Country-Code` string, nullable: The country code from which the user is accessing the app or website.
- `OT-Region-Code` string, nullable: The region code from which the user is accessing the app or website.
- `OT-Fetch-Type` 'APP_DATA_ONLY' | 'APP_DATA_AND_PROFILE' | 'APP_DATA_AND_SYNC_PROFILE', nullable: The type of data to download.
- `OT-Consent-String` string, nullable: The encoded consent string that contains the interface's metadata.
- `OT-Identifier` string, nullable: The unique identifier for the data subject.
- `OT-Identifier-Type` string, nullable: The identifier type associated with the unique identifier in OT-Identifier header
- `OT-Identifier-UpdateType` 'Rename-Identifier', nullable: The update type for the identifier. This header is used to specify how the identifier should be updated.
- `OT-Sync-Profile-Auth` string, nullable: The JSON Web Token (JWT) generated using Public Keys within the OneTrust application.
- `OT-Platform` 'Apple' | 'Android', nullable: To handle platform-specific features like ATT (App Tracking Transparency for Apple) or GoogleAdId (for Android) in a structured way, you can send the platform type in the parameters of an API or request.
- `OT-Exclude-Html-Tags` boolean, nullable: This is specifically to unbold the vendor numbers only.
- `OT-Is-Anonymous-User` boolean, nullable: This flag indicates whether the request is anonymous. When `true`, profile creation is skipped.

## Request body

- object: Request body cannot be empty
  - `globalOptOut` object, required
    - `identifier` string, required: Email address entered by the user via the pop-up. DSAR only supports email.
    - `purposes` string[], required: Array of groupId for all global opt-out purposes that were opted out.

## Response `201`

Created

- object
  - `errors` object[]
    - `code` 'SUCCESS' | 'ERROR_CODE_TEXT_RESOURCE_NOT_FOUND' | 'ERROR_CODE_NO_CONTENT' | 'ERROR_CODE_BLOB_LOCATIONS_UNAVAILABLE' | 'ERROR_CODE_INVALID_LOCATION' | 'ERROR_CODE_INVALID_COUNTRY_OR_REGION' | 'ERROR_CODE_INVALID_DEVICE_TYPE' | 'ERROR_CODE_INVALID_FETCH_TYPE' | 'ERROR_CODE_INVALID_CONSENT_REQUEST' | 'ERROR_CODE_HTTP_IF_NONE_MATCHED' | 'ERROR_CODE_SYNC_GROUP' | 'ERROR_CODE_FAILURE' | 'ERROR_CODE_DEFAULT_PURPOSE_STATUS' | 'ERROR_CODE_INVALID_OT_CONSENT_STRING' | 'ERROR_CODE_GENERIC_ERROR' | 'ERROR_CODE_MISSING_REQUIRED_HEADER' | 'ERROR_CODE_NO_ACCESS' | 'ERROR_CODE_INVALID_INTERACTION_TYPE' | 'ERROR_CODE_INVALID_CONTENT_TYPE_HEADER' | 'ERROR_IDENTIFIER_MISMATCH' | 'ERROR_UCP_NOT_CONFIGURED' | 'ERROR_CODE_INVALID_TC_STRING' | 'ERROR_GOOGLE_ADS_DISABLED' | 'ERROR_CODE_CONSENT_LOGGING' | 'ERROR_CODE_INVALID_REQUEST_BODY' | 'ERROR_CODE_UNSUPPORTED_VERSION' | 'ERROR_CODE_INVALID_AGE_RANGE' | 'ERROR_CODE_AGE_RANGE_REQUIRED' | 'ERROR_CODE_EMPTY_CONSENT' | 'ERROR_CODE_GLOBAL_OPT_OUT_NOT_CONFIGURED' | 'ERROR_CODE_GLOBAL_OPT_OUT_DISABLED' | 'ERROR_CODE_DSAR', required
    - `message` 'Not Found' | 'No content' | 'success' | 'Unable to fetch data for the specified Application ID. Please check your configurations.' | 'Invalid location' | 'Invalid country code or region code. If you want to skip validation, please set the header 'OT-Geolocation-Skip-Validation' to true.' | 'Invalid Device Type' | 'Invalid Fetch type' | 'Missing either or all of TenantId or Identifier or Authorization' | 'If-None-Match' | 'syncGroup' | 'failure' | 'NO_CONSENT' | 'Invalid OT consent string' | 'Something went wrong' | 'No access to this resource' | 'Invalid Interaction Type' | 'Content-Type header should be application/json' | 'Input Identifier does not match with one in consent string' | 'The UC Purposes API call was successful, but no data is available for display.' | 'UC Purposes is disabled.' | 'Error decoding TC string, default consent is returned.' | 'Google Ads is disabled.' | 'Consent Logging has failed, please retry in sometime and if issue still persists please reach out to support team.' | 'Error parsing request body' | 'The published version is not supported. Please publish a newer version.' | 'The upper bound of the age range must be greater than lower bound.' | 'At least one age bound (lower or upper) must be provided.' | 'At least one purpose consent is required.' | 'Global Opt-Out is not configured.' | 'Global Opt-Out is disabled.', required
  - `warnings` object[]
    - `code` 'WARNING_CODE_PUBLISHED_VERSION_MISMATCH', required
    - `message` 'Requested data for the OT-SDK-Version does not match the published version on the OneTrust server. The latest published version will be returned instead.', required
  - `response` unknown
  - `storageKeys` object, required
    - `OT_GlobalOptOut` object, required
  - `otConsentString` string

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview).
- `500`: Internal Server Error

---

[API](https://skmtc.dev/onetrust/apis/consent-preferences-consent-management-platform-cmp.md) - [All operations](https://skmtc.dev/onetrust/apis/consent-preferences-consent-management-platform-cmp/llms.txt) - [OpenAPI document](https://skmtc.dev/onetrust/apis/consent-preferences-consent-management-platform-cmp/revisions/563a5ce3f382?raw)
