> For the complete documentation index, see [llms.txt](https://docs.ggwp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ggwp.com/api-docs-reports/standard-package/reports-api.md).

# Reports API

\[ Base URL: `api.ggwp.com`]

`POST` /reporting/v1/report

## **Description**

This API endpoint is used for integration with GGWP’s Reports Service. It takes information about the report type, parties involved and other contextual information for each incoming report. GGWP Reports Service has a series of models that rely on this information to assess the credibility of the reports and reporters, prioritize incidents, and adjust the player reputation scores.&#x20;

GGWP supports a curated set of report categories out of the box. Here's the list with generic definitions, noting that they might differ from game to game:

* **AFK** - Being away from keyboard and not actively participating during an ongoing game for an extended period of time
* **Cheating** - Using unauthorized methods that go against the rules of the game to gain an unfair advantage, often through the use of third party software or scripts. Examples of cheating include the use of aimbots, wallhacks, teleportation, etc.
* **Commendation** - Endorsing or commending another player for any positive behavior during the game
* **Exploiting** - Abusing or misusing a glitch, bug, or unintended feature in the game to gain an unfair advantage
* **Griefing** - Intentionally disrupting or sabotaging another player’s game experience or harassing other players for personal enjoyment. Examples of griefing can include loot stealing, blocking teammates, deliberately losing, etc.
* **Hate Speech** - Using discriminatory, derogatory language or slurs towards other players based on religion, ethnicity, nationality, race, gender, sexual orientation or other identity factors
* **Inappropriate Username** - Having a username that contains vulgar, offensive, or hateful references
* **Verbal Abuse** - Using insulting, derogatory, or inflammatory language towards other players. Such language is highly disrespectful and may make other players feel uncomfortable enough to want to leave the conversation
* **Scamming** - Attempting to deceive or trick other players into performing unintentional and potentially harmful actions. Examples of scamming include attempts to obtain personal info such as addresses, bank account or credit card numbers, and attempts to get players to click on malicious links
* **Spamming** - Repeatedly sending an excessive amount of unsolicited or unrelated messages in game chat to disrupt or annoy other players
* **Team Killing** - Purposefully killing or attacking a teammate
* **Other**

Additional customized categories can be added during onboarding.

## **Parameters**

`body`: Dictionary containing the following fields:

* **reporter\_id**: Unique identifier for the player submitting the report
* **reportee\_id**: Unique identifier for the player being reported
* (OPTIONAL) **reporter\_name**: Name of the player submitting the report
* (OPTIONAL) **reportee\_name**: Name of the player being reported
* **category**: Report category name. If possible, use the curated list of report categories described above. Other custom categories are supported as well, but additional calibration time will be needed to reflect their reputation impact&#x20;
* (OPTIONAL) **session\_id**: Unique session identifier. This will be used as the contextual boundary for the purpose of aggregating and validating reports.
* (OPTIONAL) **timestamp**: Time the report was submitted in *YYYY-MM-DD HH:MM:SS* format, in UTC. If not provided, then server side UTC timestamp is added in its place
* (OPTIONAL) **comment**: Any comment the player might have given while filing the report. It comes in handy in establishing the credibility of the report.
* (OPTIONAL) **message\_id**: Unique identifier for the reported message or post, obtained from the [Chat API](https://docs.ggwp.com/api-docs-chat/standard-package/chat-api). It provides the direct context needed to view and validate the offending content on the dashboard.
* Sample Call

  ```bash
  curl --request POST 'https://api.ggwp.com/reporting/v1/report' \
  --header 'x-api-key: api_key' \
  --header 'Content-Type: application/json' \
  --data-raw '{
      "reporter_id":"<player_id_1>",
      "reportee_id":"<player_id_2>",
      "reporter_name": "Sniper 7",
      "reportee_name": "Skuller89",
      "comment": "ggez",
      "timestamp": "2022-12-30 07:44:37",
      "category": "Verbal Abuse",
      "session_id": "<unique_session_id>",
      "message_id": "<chat_message_id>"
  }'
  ```

## **Output**

* 200 - successful operation

  ```json
  {
      "success": true
  }
  ```
* 400
  * Error response. The report has not been inserted into the system.&#x20;
  * Validations
    * &#x20;`timestamp` is not valid or in the future.
    * `message_id` is invalid (no corresponding chat message is found).
    * `reportee_id` is not the same as the message author (when message\_id is present).
    * `session_id` is not the same as in the message (when message\_id is present).
* 403
  * Invalid or missing API key
* 500
  * Error response. The report has not been inserted into the system. There was some error on the server while processing the request
