# File extension allowlist: Update

Information note**STABLE.**   
  
This API is reliable and breaking changes are unlikely.

## Method

PUT

## Path

/qrs/fileextensionwhitelist/{id}

## Description

Update the file extensions in an allowlist. Only files with extensions included in an allowlist are permitted to be uploaded to a static content library.

Each type of content library has its own default allowlist identified by `libraryType` in the allowlist entity. In addition, each app has its own AppContent library allowlist. The following table lists the content library types and corresponding values.

Content library types

| Content Library Type | Value |
| --- | --- |
| ContentLibrary | 0 |
| AppContent | 1 |
| SharedContent | 2 |
| Extension | 3 |

To update a file extension allowlist:

1. Call the `qrs/fileextensionwhitelist` API endpoint to retrieve the list of file extensions in the allowlist: `GET qrs/fileextensionwhitelist/{id}` where {id} is the ID of the allowlist that you want to add the file extension entity to.
2. Copy the entire response body and paste it into a text editor.
3. Call the `qrs/fileextension` API endpoint to retrieve the complete list of available file extensions: `GET qrs/fileextension`
4. Copy the file extension entity from the response body that you want to add to the allowlist, for example:
   ```
       {
           "id": "c9beee8d-1368-4427-91f9-fc22659a8bab",
           "name": "jpgv",
           "privileges": null
       },
   ```
5. Paste the file extension entity into the text editor within the `fileExtensions` property.
6. Copy and paste the entire contents from the text editor into the request body of the `PUT qrs/fileextensionwhitelist/{id}` call.

   Information noteYou must always include the entity ID and modifiedDate when performing an update. The entity ID of the body and of the URL must match. See [Updating an entity and handling PUT request conflict responses](https://help.qlik.com/en-US/sense-developer/May2025/Subsystems/RepositoryServiceAPI/Content/Sense_RepositoryServiceAPI/RepositoryServiceAPI-Connect-API-Conflict-Handling.htm).

## Body

```
{
    "id": "4e0b802b-2b76-4017-9120-7ec31027954f",
    "createdDate": "2017-04-28T13:08:55.263Z",
    "modifiedDate": "2017-04-28T13:08:55.263Z",
    "modifiedByUserName": "INTERNAL\\bootstrap",
    "libraryType": 1,
    "isDefault": true,
    "modifiedByCustomer": false,
    "fileExtensions": [
    {
        "id": "c9beee8d-1368-4427-91f9-fc22659a8bab",
        "name": "jpgv",
        "privileges": null
    },
    {
        "id": "63b14210-9e9c-41fe-96d6-7af43106acdd",
        "name": "kml",
        "privileges": null
    },
    {
        "id": "68c804fd-836a-4050-aa7d-87ec0c3e9401",
        "name": "xls",
        "privileges": null
    },
    {
        "id": "fe675175-6f4f-44dc-aaa5-d3101e538ce2",
        "name": "xlw",
        "privileges": null
    },
    ...
```

## Return value

```
{
    "id": "4e0b802b-2b76-4017-9120-7ec31027954f",
    "createdDate": "2017-04-28T13:08:55.263Z",
    "modifiedDate": "2017-05-08T20:40:51.553Z",
    "modifiedByUserName": "QTSEL\\bll",
    "libraryType": 1,
    "isDefault": true,
    "modifiedByCustomer": false,
    "fileExtensions": [
    {
        "id": "c9beee8d-1368-4427-91f9-fc22659a8bab",
        "name": "jpgv",
        "privileges": null
    },
    {
        "id": "63b14210-9e9c-41fe-96d6-7af43106acdd",
        "name": "kml",
        "privileges": null
    },
    {
        "id": "68c804fd-836a-4050-aa7d-87ec0c3e9401",
        "name": "xls",
        "privileges": null
    },
    {
        "id": "fe675175-6f4f-44dc-aaa5-d3101e538ce2",
        "name": "xlw",
        "privileges": null
    },
    ...
```

## Optional parameters

* `{appendPrivileges}`: See [Adding privileges](https://help.qlik.com/en-US/sense-developer/May2025/Subsystems/RepositoryServiceAPI/Content/Sense_RepositoryServiceAPI/RepositoryServiceAPI-Adding-Privileges.htm).