# App: Upload app

Information note**LOCKED.**   
  
This API is extremely reliable and will not be broken unless absolutely necessary.

## Method

POST

## Path

/qrs/app/upload?name={name}&keepdata={keepdata}&excludeConnections={excludeConnections}

## Description

Upload the app (QVF file) included in the request body and store it as `{name}`.

Information noteThis can only be done on the central node in a Qlik Sense site.

## Header

`Content-Type` setting for the body: `application/vnd.qlik.sense.app` or `multipart/form-data; boundary=<boundary-string>`

## Body

QVF file

## Return value

```
{
    "id": "35dffd22-9cf2-405e-a311-e4d7105d8cfb",
    "createdDate": "2018-12-17T15:58:21.204Z",
    "modifiedDate": "2018-12-17T15:58:22.071Z",
    "modifiedByUserName": "INTERNAL\\sa_repository",
    "customProperties": [],
    "owner": {
        "id": "eca5d404-3490-4c4a-ae2a-fc435a1c05ba",
        "userId": "sa_repository",
        "userDirectory": "INTERNAL",
        "name": "sa_repository",
        "privileges": null
    },
    "name": "BarCharts",
    "appId": "",
    "sourceAppId": "00000000-0000-0000-0000-000000000000",
    "targetAppId": "00000000-0000-0000-0000-000000000000",
    "publishTime": "1753-01-01T00:00:00.000Z",
    "published": false,
    "tags": [],
    "description": "",
    "stream": null,
    "fileSize": 1132728,
    "lastReloadTime": "2016-10-28T02:30:20.199Z",
    "thumbnail": "",
    "savedInProductVersion": "12.290.0",
    "migrationHash": "98d482c3f964dccf69cbfb9a00e0c048ea6eb221",
    "dynamicColor": "",
    "availabilityStatus": 0,
    "privileges": null,
    "schemaPath": "App"
}
```

## Optional parameters

* `{keepdata}`: If set to `false` and the uploaded .qvf file contains app data, the data will be silently discarded. The default value is `true`.
* `{excludeConnections}`: If set to `true` and the uploaded .qvf file contains any data connections, they will not be imported to the system. The default value is `false`.