> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quickblox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Record

> Update an existing record.

#### Recipes

<AccordionGroup>
  <Accordion title="Add/remove value from record array">
    <Steps>
      <Step title="1. Set an update operator for an array field to add values to the array">
        Apply an `add_to_set` operator to an array field to add values to the array. Here, the `add_to_set` operator is applied to the `films` field with new values that should be added to the array.

        ```curl {5-10} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "QB-Token: c3cd44309db1405472627e7a5cb436278e012bba" \
        -d '{
          "add_to_set":{
            "films":[
              "The Shawshank Redemption",
              "Aladdin"
            ]
          },
          "pull":{
            "ratings":{
              "lt":3
            }
          }
        }' \
        "https://api.quickblox.com/data/Cinemas/5d87a916a28f9a683f1cb55d.json"
        ```
      </Step>

      <Step title="2. Set an update operator for another array field to remove values from the array">
        Apply a `pull` operator to the array field to remove values from the array. Here, the `pull` operator is applied to the `ratings` field with the values that should be removed from its array.

        ```curl {11-15} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "QB-Token: c3cd44309db1405472627e7a5cb436278e012bba" \
        -d '{
          "add_to_set":{
            "films":[
              "The Shawshank Redemption",
              "Aladdin"
            ]
          },
          "pull":{
            "ratings":{
              "lt":3
            }
          }
        }' \
        "https://api.quickblox.com/data/Cinemas/5d87a916a28f9a683f1cb55d.json"
        ```
      </Step>

      <Step title="3. As a result, the API returns the updated record.">
        The specified values are added to the `films` array and removed from the `ratings` array.

        ```json theme={null}
        {
          "_id": "5d87a916a28f9a683f1cb55d",
          "_parent_id": null,
          "created_at": 1569248534,
          "films": [
            "The Shawshank Redemption",
            "Aladdin"
          ],
          "ratings": [],
          "updated_at": 1569252134,
          "user_id": 96753878,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Increment/append value of record array">
    <Steps>
      <Step title="1. Set an update operator for an array field to increment values of an array">
        Apply the `inc` operator to an array field to increment its values. Here, the `inc` operator is applied to the `score_value` and `progress` fields.

        ```curl {5-8} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "QB-Token: c3cd44309db1405472627e7a5cb436278e012bba" \
        -d '{
          "inc":{
            "score_value":20,
            "progress":0.11
          },
          "push":{
            "completed_levels":[
              4
            ]
          }
        }' \
        "https://api.quickblox.com/data/ScoreTable/5d866b53a28f9a5ad51cb562.json"
        ```
      </Step>

      <Step title="2. Set an update operator for another array field to append values to it">
        Apply a `push` operator to the array to append values to it. Here, the `push` operator is applied to the `completed_levels` field with the values that should be appended.

        ```curl {9-13} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "QB-Token: c3cd44309db1405472627e7a5cb436278e012bba" \
        -d '{
          "inc":{
            "score_value":20,
            "progress":0.11
          },
          "push":{
            "completed_levels":[
              4
            ]
          }
        }' \
        "https://api.quickblox.com/data/ScoreTable/5d866b53a28f9a5ad51cb562.json"
        ```
      </Step>

      <Step title="3. As a result, the API returns the updated record.">
        The `4` value is appended to the `completed_levels` array while the `score_value` and `progress` values are incremented by the `20` and `0.11`.

        ```json theme={null}
        {
          "_id": "5d866b53a28f9a5ad51cb562",
          "_parent_id": null,
          "completed_levels": [
            1,
            2,
            3,
            4
          ],
          "created_at": 1569090387,
          "progress": 0.34,
          "score_value": 1020,
          "updated_at": 1569252134,
          "user_id": 96753878,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Update record array element by index">
    <Steps>
      <Step title="1. Set an array element">
        Set an array element that should be updated.

        ```curl {5} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "QB-Token: c3cd44309db1405472627e7a5cb436278e012bba" \
        -d '{
          "movie[<1>]":"Titatic",
        }' \
        "https://api.quickblox.com/data/ScoreTable/5f60e245a28f9a78e6c07322.json" \
        ```
      </Step>

      <Step title="2. As a result, the API returns an updated array.">
        The 1st element of the `movie` array is updated to `Titanic`.

        ```json theme={null}
        {
          "_id": "5f60e245a28f9a78e6c07322",
          "_parent_id": null,
          "created_at": 1600184901,
          "movie": [
            "Star Wars",
            "Titanic"
          ],
          "updated_at": 1600184901,
          "user_id": 102433734,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Update record">
    <Steps>
      <Step title="1. Set a new value for a field">
        You can update a value of the field. Here, the `game_mode_name` field is set to `rainbow dash`.

        ```curl {5} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "QB-token: c8d706877dc40c4f56f8be618dda898456013152" \
        -d '{
          "game_mode_name":"rainbow dash",
        }' \
        "https://api.quickblox.com/data/ScoreTable/5f60e245a28f9a78e6c07322.json" \
        ```
      </Step>

      <Step title="2. As a result, the API returns an updated record.">
        ```json theme={null}
        {
          "_id": "5f60e245a28f9a78e6c07322",
          "_parent_id": null,
          "created_at": 1600184901,
          "expert_mode": null,
          "game_mode_name": "rainbow dash",
          "name": null,
          "progress": 0,
          "score_value": null,
          "updated_at": 1600184901,
          "user_id": 102433734,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Add/remove value from record array with API key">
    <Steps>
      <Step title="1. Use 'Authorization' header to pass API key">
        ```curl {3} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "add_to_set":{
            "films":[
              "The Shawshank Redemption",
              "Aladdin"
            ]
          },
          "pull":{
            "ratings":{
              "lt":3
            }
          }
        }' \
        "https://api.quickblox.com/data/Cinemas/5d87a916a28f9a683f1cb55d.json"
        ```
      </Step>

      <Step title="2. Set an update operator for an array field to add values to the array">
        Apply an `add_to_set` operator to an array field to add values to the array. Here, the `add_to_set` operator is applied to the `films` field with new values that should be added to the array.

        ```curl {5-10} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "add_to_set":{
            "films":[
              "The Shawshank Redemption",
              "Aladdin"
            ]
          },
          "pull":{
            "ratings":{
              "lt":3
            }
          }
        }' \
        "https://api.quickblox.com/data/Cinemas/5d87a916a28f9a683f1cb55d.json"
        ```
      </Step>

      <Step title="3. Set an update operator for another array field to remove values from the array">
        Apply a `pull` operator to the array field to remove values from the array. Here, the `pull` operator is applied to the `ratings` field with the values that should be removed from its array.

        ```curl {11-15} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "add_to_set":{
            "films":[
              "The Shawshank Redemption",
              "Aladdin"
            ]
          },
          "pull":{
            "ratings":{
              "lt":3
            }
          }
        }' \
        "https://api.quickblox.com/data/Cinemas/5d87a916a28f9a683f1cb55d.json"
        ```
      </Step>

      <Step title="4. As a result, the API returns the updated record.">
        The specified values are added to the `films` array and removed from the `ratings` array.

        ```json theme={null}
        {
          "_id": "5d87a916a28f9a683f1cb55d",
          "_parent_id": null,
          "created_at": 1569248534,
          "films": [
            "The Shawshank Redemption",
            "Aladdin"
          ],
          "ratings": [],
          "updated_at": 1569252134,
          "user_id": 96753878,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Increment/append value of record array with API key">
    <Steps>
      <Step title="1. Use 'Authorization' header to pass API key">
        ```curl {3} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "inc":{
            "score_value":20,
            "progress":0.11
          },
          "push":{
            "completed_levels":[
              4
            ]
          }
        }' \
        "https://api.quickblox.com/data/ScoreTable/5d866b53a28f9a5ad51cb562.json"
        ```
      </Step>

      <Step title="2. Set an update operator for an array field to increment values of an array">
        Apply the `inc` operator to an array field to increment its values. Here, the `inc` operator is applied to the `score_value` and `progress` fields.

        ```curl {5-8} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "inc":{
            "score_value":20,
            "progress":0.11
          },
          "push":{
            "completed_levels":[
              4
            ]
          }
        }' \
        "https://api.quickblox.com/data/ScoreTable/5d866b53a28f9a5ad51cb562.json"
        ```
      </Step>

      <Step title="3. Set an update operator for another array field to append values to it">
        Apply a `push` operator to the array to append values to it. Here, the `push` operator is applied to the `completed_levels` field with the values that should be appended.

        ```curl {9-13} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "inc":{
            "score_value":20,
            "progress":0.11
          },
          "push":{
            "completed_levels":[
              4
            ]
          }
        }' \
        "https://api.quickblox.com/data/ScoreTable/5d866b53a28f9a5ad51cb562.json"
        ```
      </Step>

      <Step title="4. As a result, the API returns the updated record.">
        The `4` value is appended to the `completed_levels` array while the `score_value` and `progress` values are incremented by the `20` and `0.11`.

        ```json theme={null}
        {
          "_id": "5d866b53a28f9a5ad51cb562",
          "_parent_id": null,
          "completed_levels": [
            1,
            2,
            3,
            4
          ],
          "created_at": 1569090387,
          "progress": 0.34,
          "score_value": 1020,
          "updated_at": 1569252134,
          "user_id": 96753878,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Update record array element by index with API key">
    <Steps>
      <Step title="1. Use 'Authorization' header to pass API key">
        ```curl {3} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "movie[<1>]":"Titatic",
        }' \
        "https://api.quickblox.com/data/ScoreTable/5f60e245a28f9a78e6c07322.json" \
        ```
      </Step>

      <Step title="2. Set an array element">
        Set an array element that should be updated.

        ```curl {5} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "movie[<1>]":"Titatic",
        }' \
        "https://api.quickblox.com/data/ScoreTable/5f60e245a28f9a78e6c07322.json" \
        ```
      </Step>

      <Step title="3. As a result, the API returns an updated array.">
        The 1st element of the `movie` array is updated to `Titanic`.

        ```json theme={null}
        {
          "_id": "5f60e245a28f9a78e6c07322",
          "_parent_id": null,
          "created_at": 1600184901,
          "movie": [
            "Star Wars",
            "Titanic"
          ],
          "updated_at": 1600184901,
          "user_id": 102433734,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Update record with API key">
    <Steps>
      <Step title="1. Use 'Authorization' header to pass API key">
        ```curl {3} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "game_mode_name":"rainbow dash",
        }' \
        "https://api.quickblox.com/data/ScoreTable/5f60e245a28f9a78e6c07322.json" \
        ```
      </Step>

      <Step title="2. Set a new value for a field">
        You can update a value of the field. Here, the `game_mode_name` field is set to `rainbow dash`.

        ```curl {5} theme={null}
        curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -d '{
          "game_mode_name":"rainbow dash",
        }' \
        "https://api.quickblox.com/data/ScoreTable/5f60e245a28f9a78e6c07322.json" \
        ```
      </Step>

      <Step title="3. As a result, the API returns an updated record.">
        ```json theme={null}
        {
          "_id": "5f60e245a28f9a78e6c07322",
          "_parent_id": null,
          "created_at": 1600184901,
          "expert_mode": null,
          "game_mode_name": "rainbow dash",
          "name": null,
          "progress": 0,
          "score_value": null,
          "updated_at": 1600184901,
          "user_id": 102433734,
          "permissions": {
            "read": {
              "access": "open"
            },
            "update": {
              "access": "owner"
            },
            "delete": {
              "access": "owner"
            }
          }
        }
        ```
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

To update the existing record you should know the record ID and use a `PUT` request with `application/json` or
`application/x-www-form-urlencoded` content type of PUT/POST body. Received values will be casted according to
the class defined in QuickBlox Dashboard.

A field that is present in class but **not** specified in the PUT request has a `null` value. To nullify
the existing value you should specify `null` for `application/x-www-/form-urlencoded`, and `null`
for `application/json` content type.

An update request updates specified fields only (other fields will be left untouched).
For numeric fields `Integer` and `Float`, there is a special increment operator `inc`
that increments or decrements the numeric field.

**Update operators**

The request can contain next update operators:

| Operator                               | Description                                                                                                                                                                                            |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| inc                                    | Types: integer, float  <br />  <br />Example:  <br />inc\[field1]=1000  <br />  <br />Increment field `<field_name>` to a specified value. The value can be positive or negative(decrement operation). |
| pull                                   | Types: arrays  <br />  <br />Example:  <br />pull\[field1]=val1  <br />  <br />Removes a specified value from the array field.                                                                         |
| pull with filter                       | Types: arrays  <br />  <br />Example:  <br />pull\[field1]\[\<filter\_operator>]=\<filter\_value>  <br />  <br />Removes **all** elements filtered by filter operator from the array.                  |
| pull\_all                              | Types: arrays  <br />  <br />Example:  <br />pull\_all\[field1]\[]=val1\&pull\_all\[field1]\[]=val2  <br />  <br />Removes **all** specified values from the array.                                    |
| pop                                    | Types: arrays  <br />  <br />Example:  <br />pop\[field1]=1  <br />  <br />Removes the last element from the array. To remove the first, the element value should be equal to 1.                       |
| push                                   | Types: arrays  <br />  <br />Example:  <br />push\[field1]\[]=val1\&push\[field1]\[]=val2  <br />  <br />Appends specified values to the array.                                                        |
| add\_to\_set                           | Types: arrays  <br />  <br />Example:  <br />add\_to\_set\[\<field\_name>]=  <br />  <br />Adds a value to the array only if the value is **not** in the array already.                                |
| Update array element by index operator | Type: arrays  <br />  <br />Example:  <br />\<field\_name>\[\<index>]=val  <br />  <br />Update the array element by index.                                                                            |

**Search operators**

The request can contain all, some or none of the next search operators:

| Operator | Description                                                                                                                                                                                                                                                                                               |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| lt       | **Less Than** operator  <br />  <br />Types:integer, float  <br />  <br />Example:  <br />score\_value\[lt]=1000                                                                                                                                                                                          |
| lte      | **Less Than or Equal to** operator  <br />  <br />Types: integer, float  <br />  <br />Example:  <br />score\_value\[lte]=850                                                                                                                                                                             |
| gt       | **Greater Than** operator  <br />  <br />Types: integer, float  <br />  <br />Example:  <br />bonus\_count\[gt]=2.45                                                                                                                                                                                      |
| gte      | **Greater Than or Equal to** operator  <br />  <br />Types: integer, float  <br />  <br />Example:  <br />bonus\_count\[gte]=56.443                                                                                                                                                                       |
| ne       | **Not Equal to** operator  <br />  <br />Types: integer, float, string, boolean  <br />  <br />Example:  <br />game\_mode\_name\[ne]=ctf                                                                                                                                                                  |
| in       | **Contained IN array** operator  <br />  <br />Types: integer, float, string  <br />  <br />Example:  <br />game\_mode\_name\[in]=deathmatch,rage                                                                                                                                                         |
| nin      | **Not contained IN array** operator  <br />  <br />Types: integer, float, string  <br />  <br />Example:  <br />game\_mode\_name\[nin]=survivor,crazy\_nightmare                                                                                                                                          |
| all      | **ALL contained IN array** operator  <br />  <br />Types: array  <br />  <br />Example:  <br />game\_modes\[all]=survivo,crazy                                                                                                                                                                            |
| or       | **OR** operator  <br />  <br />Types: integer, float, string  <br />  <br />Example:  <br />name\[or]=sam,tim  <br />name\[or]=sam\&lastname\[or]=johnson  <br />  <br />Will return records with name `sam` **or** `tim`.  <br />  <br />Will return records with name `sam` **or** last name `johnson`. |
| ctn      | **Contains** substring operator  <br />  <br />Types: string  <br />  <br />Example:  <br />username\[ctn]=son  <br />  <br />Will return all records where `username` field **contains** `son` substring.                                                                                                |
| near     | Types: location  <br />  <br />Example:  <br />mylocation\[near]=25.32,44.551;1000  <br />  <br />Search records in a specific radius with the current position in meters. Format: `{field_name}[near]=longitude,latitude;radius`.                                                                        |

**Allowed permissions**

| Permission         | Syntax                                                                                                                      | Example                                                                               |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Open               | permissions.\<CRUD\_operation>.access                                                                                       | permissions.read.access=open                                                          |
| Owner              | permissions.\<CRUD\_operation>.access                                                                                       | permissions.read.access=owner                                                         |
| Open for users IDs | permissions.\<CRUD\_operation>.access=open\_for\_users\_ids permissions.\<CRUD\_operation>.ids=id\_1,id\_2,id\_3,…          | permissions.update.access=open\_for\_users\_ids permissions.update.ids=3,12           |
| Open for groups    | permissions.\<CRUD\_operation>.access=open\_for\_groups permissions.\<CRUD\_operation>.groups=group\_name\_1,group\_name\_2 | permissions.delete.access=open\_for\_groups permissions.delete.groups=experience,rate |

#### Path Parameters

<ParamField path="class_name" type="string" required>
  Custom object class name.
</ParamField>

<ParamField path="custom_object_record_id" type="string" required>
  ID of the custom object record. Generated automatically by the server after record creation.
</ParamField>

#### Body Parameters

<ParamField body="{custom_field_N}" type="string">
  Update a value to the field defined in Custom Object class.
</ParamField>

<ParamField body="{custom_array_field_N}" type="string">
  Update the array element by index. [Update Operators](#section-update-operators).
  Example: `cartoons[1]=Aladdin`.
</ParamField>

<ParamField body="inc" type="object">
  <Expandable title="properties">
    <ParamField body="{custom_field_N}" type="integer">
      Increment field. [Update Operators](#section-update-operators).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="pull" type="object">
  <Expandable title="propeties">
    <ParamField body="{custom_array_field_N}" type="string">
      Removes a specified value from the array field. [Update Operators](#section-update-operators).
    </ParamField>

    <ParamField body="{custom_array_field_M}" type="object">
      <Expandable title="{custom_array_field_M} object">
        <ParamField body="{search_operator}" type="string">
          Removes all elements filtered by search operator from the array. [Search Operators](#section-search-operators).
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="pull_all" type="object">
  <Expandable title="properties">
    <ParamField body="{custom_array_field_N}" type="string">
      Removes all specified values from the array. [Update Operators](#section-update-operators).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="pop" type="object">
  <Expandable title="properties">
    <ParamField body="{custom_array_field_N}" type="string">
      Removes the last element from the array. [Update Operators](#section-update-operators).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="push" type="object">
  <Expandable title="properties">
    <ParamField body="{custom_array_field_N}" type="string">
      Appends specified values to the array. [Update Operators](#section-update-operators).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="add_to_set" type="object">
  <Expandable title="properties">
    <ParamField body="{custom_array_field_N}" type="string">
      Adds a value to the array only if the value is not in the array already. [Update Operators](#section-update-operators).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="permissions" type="string">
  Record permissions. Format: <br />
  `permission.<CRUD_operation>.access=<value>` <br />
  `permission.<CRUD_operation>.<option>=<value>`

  CRUD operations: `create`, `read`, `update`, `delete`. <br />
  CRUD access values: `open`, `owner`, `open_for_users_ids`, `open_for_groups`. <br />
  CRUD options: `ids`, `groups`.
</ParamField>

#### Headers

<ParamField header="QB-Token" type="string" required> A user or application session token. See [Authentication](/reference/authentication) page to learn more about session tokens. Must be used either QB-Token or Authorization. </ParamField>

<ParamField header="Authorization" type="string" default="ApiKey {your_api_key}">
  API key from Dashboard. Expected format: `ApiKey {your_api_key}`. Must be used
  either QB-Token or Authorization.
</ParamField>

<ParamField header="On-Behalf-Of" type="string">
  User ID. The user ID of the user on whose behalf the request is being made.
</ParamField>

#### Responses

<AccordionGroup>
  <Accordion title="200">
    A successful response

    <ResponseField name="_id" type="string" />

    <ResponseField name="_parent_id" type="string" />

    <ResponseField name="created_at" type="integer" />

    <ResponseField name="updated_at" type="integer" />

    <ResponseField name="user_id" type="integer" />

    <ResponseField name="permissions" type="object">
      <Expandable title="properties">
        <ResponseField name="read" type="object">
          <Expandable title="properties">
            <ResponseField name="access" type="string" />
          </Expandable>
        </ResponseField>

        <ResponseField name="update" type="object">
          <Expandable title="properties">
            <ResponseField name="access" type="string" />
          </Expandable>
        </ResponseField>

        <ResponseField name="delete" type="object">
          <Expandable title="properties">
            <ResponseField name="access" type="string" />
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Accordion>
</AccordionGroup>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PUT \
  -H "Content-Type: application/json" \
  -H "QB-token: c8d706877dc40c4f56f8be618dda898456013152" \
  -d '{
    "game_mode_name":"rainbow dash",
  }' \
  https://api.quickblox.com/data/ScoreTable/5f60e245a28f9a78e6c07322.json \
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "_id": "5f60e245a28f9a78e6c07322",
    "_parent_id": null,
    "created_at": 1600184901,
    "expert_mode": null,
    "game_mode_name": "rainbow dash",
    "name": null,
    "progress": 0,
    "score_value": null,
    "updated_at": 1600184901,
    "user_id": 102433734,
    "permissions": {
      "read": {
        "access": "open"
      },
      "update": {
        "access": "owner"
      },
      "delete": {
        "access": "owner"
      }
    }
  }
  ```
</ResponseExample>
