---
updatedAt: 2026-03-30T09:13:36.000Z
agentTools:
  projectIndex: https://developers.bazaarvoice.com/v1.0-ConversationsAPI/llms.txt
---

# DSA Feedback Submission

# What is DSA

The Digital Services Act (DSA) is an European Union (EU) regulation aimed at creating a safer, more accountable online environment by setting clear rules for digital platforms on content moderation, transparency, and user rights protection. It ensures digital spaces align with EU values of safety, fairness, and democratic integrity. Key requirements of the DSA include obligations for platforms to:

* Counter illegal content
* Protect minors
* Inform users about advertisements
* Offer users a complaint mechanism

# Prerequisite

To use the DSA feedback submission form, make sure **DSA Compliance Integration** is enabled. If you want to enable it, please contact **[Bazaarvoice support](https://support.bazaarvoice.com/s/?language=en_US)**.

# DSA feedback submission API

The **Report** feature has been enhanced to meet the DSA requirements, allowing users to report inappropriate or illegal content through the **DSA feedback submission form**. This includes all forms of user-generated content, including native and syndicated reviews (with or without images/videos), questions & answers, and comments.

> ⚠️ Caution
>
> Bazaarvoice has partnered with a third-party vendor **ComplianceOne** to manage the DSA feedback form, including its rendering and submission.

To use the DSA Report feature, the API clients are required to load the DSA feedback submission form which allows consumers to submit their report. This form must be embedded within an iframe. The URL for the iframe can be retrieved using the DSA feedback submission API, which provides an environment-specific URL with following domains

| Environment | URL                                         |
| ----------- | ------------------------------------------- |
| Production  | <https://dsacompliance.bazaarvoice.com>     |
| Staging     | <https://stg.dsacompliance.bazaarvoice.com> |

For detailed integration steps on embedding the iframe into your webpage, refer to [DSA feedback form iframe integration](https://bazaarvoice-developer-center.readme.io/v1.0-ConversationsAPI/docs/dsa-iframe-integration) topic.

Below are the full details of the DSA feedback submission API, including the request structure, parameters, and example responses:

### Endpoint

`[POST] /data/dsafeedbackurl.json`

### HTTP Method

`POST`

### URL

`http://[stg.]api.bazaarvoice.com/data/dsafeedbackurl.json?passkey=[YourPasskey]`

### Parameters

> ℹ️ Note:
>
> Parameters marked with an asterisk (<span style="color:#CC5500; font-size:16px;">\*</span>) are mandatory.

[block:parameters]
{
  "data": {
    "h-0": "Name",
    "h-1": "Description",
    "0-0": "**Request Parameters**",
    "0-1": "",
    "1-0": "`Content-Type`",
    "1-1": "application/json.",
    "2-0": "**Parameters**",
    "2-1": "The request body must be in JSON",
    "3-0": "`passkey`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "3-1": "A Conversations API key for authentication. This is a query parameter which is a part of the **request url**.",
    "4-0": "`domain`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "4-1": "The domain of the content which will only be allowed to load the iframe.",
    "5-0": "`url`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "5-1": "The url of the content being reported.",
    "6-0": "`contentId`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "6-1": "An unique identifier for the content, passed as **reference** in the url parameter.",
    "7-0": "`lang`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "7-1": "The language of the content, passed as the **lang** in the url parameter.  \n**Example:** en (English).  \nThe client should check with [Bazaarvoice Support](https://support.bazaarvoice.com/s/?language=en_US) to confirm whether or not the language is supported for DSA feedback form.",
    "8-0": "`subject`",
    "8-1": "The subject of the content. A text that summarizes the DSA feedback form to differentiate it from others.  \n**Recommended Format:**  `{ClientName}_{ContentType}_{ContentId}`  \n**Example:** `testcustomer_review_417531`",
    "9-0": "`displayCode`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "9-1": "An unique display code of the current site.",
    "10-0": "`client`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "10-1": "A known Bazaarvoice client instance.  \n**Example:** walmart.",
    "11-0": "`sourceClient`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "11-1": "Identifies the client from which the content originates and it is retrieved from **reviews.json**. This parameter is **mandatory** if the content being reported is **[syndicated](https://developers.bazaarvoice.com/v1.0-ConversationsAPI/docs/syndicated-content)**. Additionally, for syndicated content, the client instance must be recognized by Bazaarvoice.  \n  \nThis parameter is **mandatory** if the content is syndicated and from a different Bazaarvoice client. If missing, the report feature will not function.  \n  \nClients should not use the DSA report feature if the UGC content is not from Bazaarvoice.",
    "12-0": "`contentType`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "12-1": "The type of content that is being reported.  \n**Example:** review, question, answer, and review comment.",
    "13-0": "`destSiteId`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "13-1": "The Site ID of the current site, which can be found in the Site Manager page of the  Bazaarvoice Portal **(Portal > Settings > Configuration)**.",
    "14-0": "`contentLocale`<span style=\"color:#CC5500; font-size:16px;\">\\*</span>",
    "14-1": "The  locale of the content that is being reported.  Format should be language_country.  \n**Example:** en_US."
  },
  "cols": 2,
  "rows": 15,
  "align": [
    null,
    null
  ]
}
[/block]

### Example

### Request

```curl
curl --location 'http://[stg.]api.bazaarvoice.com/data/dsafeedbackurl.json?passkey=[YourPasskey]'
\
--header 'Content-Type: application/json' \
--data '{
    "domain":"apps-stg.bazaarvoice.com",
    "url": "https://apps-stg.bazaarvoice.com/temp/dsa_iframe/test_dsa_iframe_v2.html?bvmessageType=REVIEW_CONTENT&bvTriggerer=dsa_workflow#review/1617911",
    "contentId": "1359368",
    "lang":"en",
    "subject":"Accounts infrastructures copy",
    "parameters": {
        "displayCode": "12334",
        "client":  "test-editreviews",
        "sourceClient":"testcustomer-concierge-integrat",
        "contentType": "Review",
        "destSiteId":"639",
        "contentLocale": "en_US",
    }
}'
```

### Response

```json
{"formUrl":
 "https://[stg.]dsacompliance.bazaarvoice.com/dsa/iframe/38/6405fc61c072/?reference=1359368&url=https%3A%2F%2Fapps-stg.bazaarvoice.com%2Ftemp%2Fdsa_iframe%2Ftest_dsa_iframe_v2.html%3FbvmessageType%3DREVIEW_CONTENT%26bvTriggerer%3Ddsa_workflow%23review%2F1617911&lang=en&hash=503e9d64638be9a700625e05f3af47c655f713ba6adb0b23852d7f641d3517ad&parameters=%7B%22displayCode%22%3A%2212334%22%2C%22client%22%3A%22test-editreviews%22%2C%22sourceClient%22%3A%22testcustomer-concierge-integrat%22%2C%22contentType%22%3A%22Review%22%2C%22destSiteId%22%3A%221000%22%2C%22contentLocale%22%3A%22en_US%22%2C%22product%22%3A%22RnR%22%7D&subject=synergies XSS SSL&dhash=d9040d8c8e757e379fa6905919e3fde951c4eae538c9ba479f14c018da0f720d&domain=apps-stg.bazaarvoice.com",
 "status":200}
```

### Response Elements

The response includes a DSA feedback form URL and a status code.

* **formUrl (string):** A URL that contains the feedback form, including various parameters such as the reference, url, domain hash, and other content-related parameters.
* **status (integer):** The HTTP status code indicating the result of the request. A status of 200 indicates success.

### Errors

1. **400 ERROR**\
   **Bad Request** error occurs when invalid parameters are provided or required fields are missing.
   ```json
   {
     "instance": "/data/dsafeedbackurl",
     "title": "Bad Request",
     "status": 400,
     "detail": "Invalid JSON format"
   ```
2. **500 ERROR**\
   **Internal Server Error** occurs when an issue arises while processing the request.
   ```json
   {
     "instance": "/data/dsafeedbackurl",
     "title": "Internal Server Error",
     "status": 500,
     "detail": "An unexpected error has occurred, please retry. Contact Bazaarvoice if the problem persists."
   }
   ```