# CreateSession Method

## Overloads

| [CreateSession(QDSDocumentSessionConfiguration)](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api8.IQMS8.CreateSession.htm#PIX_Services_V12_Api8_IQMS8_CreateSession_PIX_QMSAPI_DataObjects_QDSDocumentSessionConfiguration_) |  | Creates a session towards a document on a QDS server. |
| --- | --- | --- |

[](https://help.qlik.com/en-US/qlikview-developer/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api8.IQMS8.CreateSession.htm) [](https://help.qlik.com/en-US/qlikview-developer/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api8.IQMS8.CreateSession.htm)

## CreateSession(QDSDocumentSessionConfiguration)

Creates a session towards a document on a QDS server.

### Declaration

```

          QDSDocumentSession CreateSession(QDSDocumentSessionConfiguration configuration)
    
  
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [QDSDocumentSessionConfiguration](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.QDSDocumentSessionConfiguration.htm) | configuration | The configuration of the session. |

### Returns

| Type | Description |
| --- | --- |
| [QDSDocumentSession](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.QDSDocumentSession.htm) | A new session. |

### Remarks

If a session has not been used for 20 minutes, it will automatically be closed.

##### security

Requires membership of local group *QlikView Management API* and the role *Document Folder Administrator*.

### Examples

This example creates a new session towards a source document on a Distribution Server.

The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.

```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using QMSAPI;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // create a QMS API client
            IQMS apiClient = new QMSClient();

            //retrieve a time limited service key
            ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey();

            ServiceInfo serviceInfo = apiClient.GetServices(ServiceTypes.QlikViewDistributionService).FirstOrDefault();
            if (serviceInfo != null)
            {
                QDSDocumentSessionConfiguration sessionConfig = new QDSDocumentSessionConfiguration();

                sessionConfig.QDSID = serviceInfo.ID;
                sessionConfig.FilePath = @"C:\ProgramData\QlikTech\SourceDocuments\Test.qvw";

                QDSDocumentSession documentSession = apiClient.CreateSession(sessionConfig);

                if(documentSession != null && documentSession.OpenDocumentResult == DocumentState.OpenedSuccessfully)
                {
                    //...Do some work...
                    apiClient.CloseSession(documentSession);
                } else
                {
                    Console.WriteLine("Failed to open the document.");
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("An exception occurred: " + ex.Message);
        }
        // wait for user to press any key
        Console.ReadLine();
    }
}
```

### See Also

[QDSDocumentSessionConfiguration](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.QDSDocumentSessionConfiguration.htm)

[DocumentState](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.Enums.DocumentState.htm)