> 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-contextual-information/player-settings.md).

# Player Settings

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

`POST` /data/v1/ingest

## **Description**

Reports any player settings selected during a gaming session that describe the player tolerance level with respect to toxicity. This includes things like disabling chat, muting another player, selecting a filter sensitivity or creating a custom blocklist. This information is used to apply severity modifiers to incidents and to provide additional context when reviewing incidents or players in GGWP’s moderation tool.

## **Parameters**

`body`: Dictionary containing the following fields:

* **type**: `player-settings`
* **user\_id**: unique identifier of the player.
* **session\_id**: unique identifier of the session.
* **action**: `chat-disable` / `player-mute` / `filter-sensitivity` / `custom-blocklist`
* **timestamp:** time when the action was executed in *YYYY-MM-DD HH:MM:SS* format, in UTC. If empty, then server side UTC timestamp is used in its place.
* **additional\_details**: dictionary containing additional information related to the action taken. Examples are:
  * **target\_user\_id**: unique identifier of the target player (when action is `player-mute`)
  * **filter\_settings**: chosen filter level (when action is `filter-sensitivity`)
  * **terms**: list of custom blocked terms (when action is `custom-blocklist`)
* Sample Call (player mute)

  ```bash
  curl --request POST 'https://api.ggwp.com/data/v1/ingest' \
  --header 'x-api-key: api_key' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "type": "player-settings",
    "user_id": "<id1>",
    "session_id": "<sessionID1>",
    "action": "player-mute",
    "timestamp": "2022-01-25 09:44:00",
    "additional_details": {
      "target_user_id": "<id2>"
    }
  }'
  ```
* Sample Call (custom blocklist)&#x20;

  ```bash
  curl --request POST 'https://api.ggwp.com/data/v1/ingest' \
  --header 'x-api-key: api_key' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "type": "player-settings",
    "user_id": "<id1>",
    "session_id": "<sessionID1>",
    "action": "custom-blocklist",
    "timestamp": "2022-01-25 09:44:00",
    "additional_details": {
      "terms": ["incel", "gey", "simp", "chad"]
    }
  }'
  ```

## **Output**

* 200 - successful operation

  ```json
  {
    "status": "success"
  }
  ```
* 400
  * Error response. The event has not been inserted into the system. This error is thrown in the following cases:
    * `Invalid Body. Expected JSON input`
      * Data payload is not JSON format
    * `Data payload too large`
      * Data payload exceeds 1MB in size
* 403
  * Invalid or missing API key.
* 500
  * Error response. The event has not been inserted into the system. There was some error on the server while processing the request.
