# RemoteGetSourceDocumentFolders Method

## Overloads

| [RemoteGetSourceDocumentFolders(Guid, Guid, DocumentFolderScope)](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api4.IQMS4.RemoteGetSourceDocumentFolders.htm#PIX_Services_V12_Api4_IQMS4_RemoteGetSourceDocumentFolders_System_Guid_System_Guid_PIX_QMSAPI_DataObjects_DocumentFolderScope_) |  | Gets all source document folders for a QlikView Distribution Service, managed by a remote QlikView Management Service, with the specified ID. |
| --- | --- | --- |

[](https://help.qlik.com/en-US/qlikview-developer/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api4.IQMS4.RemoteGetSourceDocumentFolders.htm) [](https://help.qlik.com/en-US/qlikview-developer/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api4.IQMS4.RemoteGetSourceDocumentFolders.htm)

## RemoteGetSourceDocumentFolders(Guid, Guid, DocumentFolderScope)

Gets all source document folders for a QlikView Distribution Service, managed by a remote QlikView Management Service, with the specified ID.

### Declaration

```

          List<DocumentFolder> RemoteGetSourceDocumentFolders(Guid remoteQmsId, Guid remoteQdsId, DocumentFolderScope scope)
    
  
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| System.Guid | remoteQmsId | The ID of the remote QlikView Management Service, managing the remote QlikView Distribution Service. |
| System.Guid | remoteQdsId | The ID of the remote QlikView Distribution Service for which to retrieve source document folders. |
| [DocumentFolderScope](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.DocumentFolderScope.htm) | scope | The scope of the source document folders to retrieve. |

### Returns

| Type | Description |
| --- | --- |
| System.Collections.Generic.List&lt;[DocumentFolder](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.DocumentFolder.htm)&gt; | All source document folders with the specified scope for the QlikView Distribution Service with the specified ID. |

### Remarks

Only source document folders that the caller have access to will be returned.

##### security

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

### Examples

This example retrieves all source document folders from all QlikView Distribution services managed by a remote QlikView Management Service.

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 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();

            //Get a remote QlikView Management service.
            ServiceInfo remoteQMSService = apiClient.GetServices(ServiceTypes.RemoteQlikViewManagementService).FirstOrDefault();

            if (remoteQMSService != null)
            {
                //Get all QlikView Distribution services on the remote QMS.
                List<ServiceInfo> remoteQDS = apiClient.RemoteGetServices(remoteQMSService.ID, ServiceTypes.QlikViewDistributionService);
                {
                    //Print the name of the QMS and the source folders found.
                    remoteQDS.ForEach(delegate(ServiceInfo qdsInfo)
                        {
                            Console.WriteLine("Source document folders on " + qdsInfo.Name);
                            List<DocumentFolder> sourceDocumentFolders = apiClient.RemoteGetSourceDocumentFolders(remoteQMSService.ID, qdsInfo.ID, DocumentFolderScope.All);
                            sourceDocumentFolders.ForEach(folder=>Console.WriteLine(folder.General.Path));
                        }
                    );
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("An exception occurred: " + ex.Message);
        }
        // wait for user to press any key
        Console.ReadLine();
    }
}
```