2.2.1.5 FolderSync

The FolderSync command synchronizes the collection hierarchy but does not synchronize the items in the collections themselves.

This command works similarly to the Sync command (section 2.2.1.21). An initial FolderSync command with a SyncKey element (section 2.2.3.181.2) value of 0 (zero) is required in order to obtain the list of folders and the synchronization key associated with that list. The synchronization key is returned in the SyncKey element of the response if the FolderSync command succeeds. This synchronization key is used in subsequent FolderSync commands to obtain folder hierarchy changes.

Unlike a Sync request, there is no GetChanges element (section 2.2.3.84) submitted in the FolderSync request (section 2.2.1.5) to get changes from the server. All folders MUST be returned to the client when initial folder synchronization is done with a synchronization key of 0 (zero).

The FolderHierarchy namespace is the primary namespace for this section. Elements referenced in this section that are not defined in the FolderHierarchy namespace use the namespace prefixes defined in section 2.2.4.

The following table lists the elements that are used in FolderSync command requests and responses.

Element name

Scope

Reference

FolderSync

Request and Response

section 2.2.3.76

SyncKey

Request and Response

section 2.2.3.181.2

Status

Response

section 2.2.3.177.5

Changes

Response

section 2.2.3.25

Count

Response

section 2.2.3.37

Update

Response

section 2.2.3.187

ServerId

Response

section 2.2.3.166.4

ParentId

Response

section 2.2.3.129.2

DisplayName

Response

section 2.2.3.49.4

Type

Response

section 2.2.3.186.3

Delete

Response

section 2.2.3.42.1

Add

Response

section 2.2.3.7.1

The XML schema for the FolderSync command request is described in section 6.14. The XML schema for the FolderSync command response is described in section 6.15.

Protocol Versions

The following table specifies the protocol versions that support this command. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.

Protocol version

Command support

2.5

Yes

12.0

Yes

12.1

Yes

14.0

Yes

14.1

Yes

16.0

Yes

16.1

Yes