# Create an app

Create an app by using the [CreateApp Method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-createapp.htm).

You can create a session app, that cannot be persisted, by using the [CreateSessionApp method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-createsessionapp.htm) or the [CreateSessionAppFromApp method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-createsessionappfromapp.htm).

## Examples

Example 1:

[](https://help.qlik.com/en-US/sense-developer/Subsystems/EngineAPI/Content/Sense_EngineAPI/CreatingAppLoadingData/CreateApps/create-app.htm)

#### The goal is to create the app Sales1stQuater.

This app should be persisted. Therefore the [CreateApp Method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-createapp.htm) is used.

The client sends:

```
{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "CreateApp",
  "handle": -1,
  "params": [
    "Sales1stQuater.qvf"
  ]
}
```

The engine returns:

```
{
  "jsonrpc": "2.0",
  "id": 0,
  "result": {
    "qSuccess": true,
    "qAppId": "C:\\Users\\smu\\Documents\\Qlik\\Sense\\Apps\\Sales1stQuarter.qvf"
  }
}
```

The app is created.

Example 2:

[](https://help.qlik.com/en-US/sense-developer/Subsystems/EngineAPI/Content/Sense_EngineAPI/CreatingAppLoadingData/CreateApps/create-app.htm)

#### The goal is to create an empty session app.

This app should not be persisted. Therefore, the [CreateSessionApp method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-createsessionapp.htm) is used.

The client sends:

```
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "CreateSessionApp",
  "handle": -1,
  "params": []
}
```

The engine returns:

```
{
  "jsonrpc": "2.0",
  "id": 4,
  "result": {
    "qReturn": {
      "qType": "Doc",
      "qHandle": 1
    },
    "qSessionAppId": "SessionApp_d34f6d54f5a3478c8d0d0b37b0065d47"
  },
  "change": [
    1
  ]
}
```

The app is created. The identifier of the session app is SessionApp\_d34f6d54f5a3478c8d0d0b37b0065d47.

Example 3:

[](https://help.qlik.com/en-US/sense-developer/Subsystems/EngineAPI/Content/Sense_EngineAPI/CreatingAppLoadingData/CreateApps/create-app.htm)

#### The goal is to create a session app from a source app.

The session app should be created from the app Golf Quest.qvf and should not be persisted. Therefore, the [CreateSessionAppFromApp method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-createsessionappfromapp.htm) should be used.

The [CreateSessionAppFromApp method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-createsessionappfromapp.htm) copies the objects present in the Golf Quest app into the session app. The objects in the session app initially contain no data. You need to reload the app to get some data.

The client sends:

{ "jsonrpc": "2.0", "id": 0, "method": "CreateSessionAppFromApp", "handle": -1, "params": [ "E:\\GIT\\engine-sense-fork\\prod\\data\\Engine\\test\\qlikviewTests\\ProtocolTester4Net\\TestData\\Golf Quest.qvf" ] }

The engine returns:

{ "jsonrpc": "2.0", "id": 0, "result": { "qReturn": { "qType": "Doc", "qHandle": 1 }, "qSessionAppId": "SessionApp\_8d0ab4c75c6a4421af2f7e2bfd90fc37" }, "change": [ 1 ] }

The app is created. The identifier of the session app is SessionApp\_8d0ab4c75c6a4421af2f7e2bfd90fc37.