# Open an app

Open an app by using the [OpenDoc method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-global-opendoc.htm).

You may want to open an app without loading its data, for example when there are large amounts of data that would take long time to load. In this case, the parameter qNoData should be set to true. The objects in the app will be present but will contain no data.

## Examples

Example 1:

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

#### The goal is to open an app in Qlik Sense Enterprise and load its data (qNoData is set to the default value false).

1. Open the app. The name of the app is defined in qDocName.

The client sends:

```
{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "OpenDoc",
  "handle": -1,
  "params": [
    "ctrl00_migration_0.95_Small.qvf",
    "UserDirectory=QTSEL; UserId=smu"
  ]
}
```

The engine returns:

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

The app is opened and has 1 as a handle.

2. Check that the app is not empty.

The client sends:

```
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "GetAllInfos",
  "handle": 1,
  "params": []
}
```

The engine returns:

```
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "qInfos": [
      {
        "qId": "vEYgftD",
        "qType": "sheet"
      },
      {
        "qId": "mpHTWaD",
        "qType": "combochart"
      }
    ]
  }
}
```

The identifier (qId) and the type (qType) of the objects in the app are returned.

[GetAllInfos method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-doc-getallinfos.htm).

Example 2:

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

#### The goal is to open an app in Qlik Sense Desktop without loading its data (qNoData is set to true).

1. Open the app without loading its data. The name of the app is defined in qDocName.

The client sends:

{ "jsonrpc": "2.0", "id": 0, "method": "OpenDoc", "handle": -1, "params": [ "Golf Quest.qvf", "UserDirectory=QTSEL; UserId=smu", "", "", true ] }

The engine returns:

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

The app is opened and has 1 as a handle.

2. Check that the app is empty.

The client sends:

{ "jsonrpc": "2.0", "id": 2, "method": "GetAllInfos", "handle": 1, "params": [] }

The engine returns:

{ "jsonrpc": "2.0", "id": 2, "result": { "qInfos": [] } }

Neither the identifier nor the type are returned because the app is empty.

[GetAllInfos method](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/EngineJSONAPI/Content/service-doc-getallinfos.htm).

Example 3:

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

#### The goal is to open an app in Qlik Sense Enterprise.

1. Open the app. The GUID of the app is defined in qDocName.

The client sends:

{ "jsonrpc": "2.0", "id": 0, "method": "OpenDoc", "handle": -1, "params": [ "714aad39-e1a2-485b-82c2-6150c681ef4e", "UserDirectory=QT; UserId=platform\_tester" ] }

The engine returns:

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

The app is opened and has 1 as a handle.