[MS-WMCSOM]:

Work Management Client-Side Object Model Protocol

Intellectual Property Rights Notice for Open Specifications Documentation

Technical Documentation. Microsoft publishes Open Specifications documentation (“this documentation”) for protocols, file formats, data portability, computer languages, and standards support. Additionally, overview documents cover inter-protocol relationships and interactions.

Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you can make copies of it in order to develop implementations of the technologies that are described in this documentation and can distribute portions of it in your implementations that use these technologies or in your documentation as necessary to properly document the implementation. You can also distribute in your implementation, with or without modification, any schemas, IDLs, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications documentation.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

Patents. Microsoft has patents that might cover your implementations of the technologies described in the Open Specifications documentation. Neither this notice nor Microsoft's delivery of this documentation grants any licenses under those patents or any other Microsoft patents. However, a given Open Specifications document might be covered by the Microsoft Open Specifications Promise or the Microsoft Community Promise. If you would prefer a written license, or if the technologies described in this documentation are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting .

License Programs. To see all of the protocols in scope under a specific license program and the associated patents, visit the Patent Map.

Trademarks. The names of companies and products contained in this documentation might be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit

Fictitious Names. The example companies, organizations, products, domain names, email addresses, logos, people, places, and events that are depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred.

Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than as specifically described above, whether by implication, estoppel, or otherwise.

Tools. The Open Specifications documentation does not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments, you are free to take advantage of them. Certain Open Specifications documents are intended for use in conjunction with publicly available standards specifications and network programming art and, as such, assume that the reader either is familiar with the aforementioned material or has immediate access to it.

Support. For questions and support, please contact .

Revision Summary

Date / Revision History / Revision Class / Comments
1/20/2012 / 0.1 / New / Released new document.
4/11/2012 / 0.1 / None / No changes to the meaning, language, or formatting of the technical content.
7/16/2012 / 0.2 / Major / Significantly changed the technical content.
9/12/2012 / 0.2 / None / No changes to the meaning, language, or formatting of the technical content.
10/8/2012 / 1.0 / Major / Significantly changed the technical content.
2/11/2013 / 2.0 / Major / Significantly changed the technical content.
7/30/2013 / 2.1 / Minor / Clarified the meaning of the technical content.
11/18/2013 / 2.1 / None / No changes to the meaning, language, or formatting of the technical content.
2/10/2014 / 2.1 / None / No changes to the meaning, language, or formatting of the technical content.
4/30/2014 / 2.2 / Minor / Clarified the meaning of the technical content.
7/31/2014 / 2.3 / Minor / Clarified the meaning of the technical content.
10/30/2014 / 2.3 / None / No changes to the meaning, language, or formatting of the technical content.
6/23/2016 / 2.3 / None / No changes to the meaning, language, or formatting of the technical content.
9/19/2017 / 3.0 / Major / Significantly changed the technical content.

Table of Contents

1Introduction

1.1Glossary

1.2References

1.2.1Normative References

1.2.2Informative References

1.3Overview

1.4Relationship to Other Protocols

1.5Prerequisites/Preconditions

1.6Applicability Statement

1.7Versioning and Capability Negotiation

1.8Vendor-Extensible Fields

1.9Standards Assignments

2Messages

2.1Transport

2.2Message Syntax

2.2.1Common Exceptions

3Protocol Details

3.1Server Details

3.1.1Abstract Data Model

3.1.2Timers

3.1.3Initialization

3.1.4Higher-Layer Triggered Events

3.1.5Message Processing Events and Sequencing Rules

3.1.5.1Microsoft.SharePoint.WorkManagement.Client.BaseSession

3.1.5.1.1Properties

3.1.5.1.1.1Scalar Properties

3.1.5.1.1.2ObjectPath Properties

3.1.5.1.2Methods

3.1.5.1.2.1Scalar Methods

3.1.5.1.2.1.1BeginExchangeSync

3.1.5.1.2.1.2IsExchangeJobPending

3.1.5.1.2.2ObjectPath Methods

3.1.5.1.2.2.1AddAttributeToTask

3.1.5.1.2.2.2BeginCacheRefresh

3.1.5.1.2.2.3CreateTask

3.1.5.1.2.2.4DeleteTask

3.1.5.1.2.2.5GetRefreshHistory

3.1.5.1.2.2.6GetRefreshStatus

3.1.5.1.2.2.7PinTask

3.1.5.1.2.2.8RemoveAttributeFromTask

3.1.5.1.2.2.9RemovePinOnTask

3.1.5.1.2.2.10UpdateTaskWithLocalizedValue

3.1.5.1.2.2.11GetCalloutInfo

3.1.5.1.2.2.12ReadAllNonTaskData

3.1.5.1.2.2.13RefreshSingleTask

3.1.5.1.2.2.14GetRefreshHealthInfo

3.1.5.1.2.2.15CreatePersonalTaskAndPromoteToProviderTask

3.1.5.1.2.2.16PromotePersonalTaskToProviderTaskInLocation

3.1.5.2Microsoft.SharePoint.WorkManagement.Client.BooleanCompareType

3.1.5.2.1Field Values

3.1.5.2.1.1NoValue

3.1.5.2.1.2IsTrue

3.1.5.2.1.3IsFalse

3.1.5.3Microsoft.SharePoint.WorkManagement.Client.BooleanCriterion

3.1.5.3.1Properties

3.1.5.3.1.1Scalar Properties

3.1.5.3.1.1.1CompareType

3.1.5.3.1.2ObjectPath Properties

3.1.5.3.2Methods

3.1.5.3.2.1Scalar Methods

3.1.5.3.2.2ObjectPath Methods

3.1.5.3.2.2.1CSOM Constructor

3.1.5.4Microsoft.SharePoint.WorkManagement.Client.CreateRefreshJobResult

3.1.5.4.1Properties

3.1.5.4.1.1Scalar Properties

3.1.5.4.1.1.1CreatedJob

3.1.5.4.1.1.2CurrentJobId

3.1.5.4.1.1.3EncounteredError

3.1.5.4.1.2ObjectPath Properties

3.1.5.4.2Methods

3.1.5.4.2.1Scalar Methods

3.1.5.4.2.2ObjectPath Methods

3.1.5.5Microsoft.SharePoint.WorkManagement.Client.CriterionConcatType

3.1.5.5.1Field Values

3.1.5.5.1.1NoValue

3.1.5.5.1.2All

3.1.5.5.1.3Any

3.1.5.6Microsoft.SharePoint.WorkManagement.Client.CustomAttributeFilter

3.1.5.6.1Properties

3.1.5.6.1.1Scalar Properties

3.1.5.6.1.1.1Attributes

3.1.5.6.1.1.2ConcatType

3.1.5.6.1.2ObjectPath Properties

3.1.5.6.2Methods

3.1.5.6.2.1Scalar Methods

3.1.5.6.2.2ObjectPath Methods

3.1.5.6.2.2.1CSOM Constructor

3.1.5.7Microsoft.SharePoint.WorkManagement.Client.DashboardScriptExtensionInfo

3.1.5.7.1Properties

3.1.5.7.1.1Scalar Properties

3.1.5.7.1.1.1ProviderKey

3.1.5.7.1.1.2ScriptClass

3.1.5.7.1.1.3ScriptData

3.1.5.7.1.1.4ScriptFiles

3.1.5.7.1.2ObjectPath Properties

3.1.5.7.2Methods

3.1.5.7.2.1Scalar Methods

3.1.5.7.2.2ObjectPath Methods

3.1.5.8Microsoft.SharePoint.WorkManagement.Client.DateRangeCriterion

3.1.5.8.1Properties

3.1.5.8.1.1Scalar Properties

3.1.5.8.1.1.1RangeEndValue

3.1.5.8.1.1.2RangeStartValue

3.1.5.8.1.2ObjectPath Properties

3.1.5.8.2Methods

3.1.5.8.2.1Scalar Methods

3.1.5.8.2.2ObjectPath Methods

3.1.5.8.2.2.1CSOM Constructor

3.1.5.9Microsoft.SharePoint.WorkManagement.Client.RefreshHealthInfo

3.1.5.9.1Properties

3.1.5.9.1.1Scalar Properties

3.1.5.9.1.1.1LatestRefreshTime

3.1.5.9.1.1.2Succeeded

3.1.5.9.1.1.3NewTasks

3.1.5.9.1.2ObjectPath Properties

3.1.5.9.1.2.1ProviderErrors

3.1.5.9.2Methods

3.1.5.9.2.1Scalar Methods

3.1.5.9.2.2ObjectPath Methods

3.1.5.10Microsoft.SharePoint.WorkManagement.Client.Location

3.1.5.10.1Properties

3.1.5.10.1.1Scalar Properties

3.1.5.10.1.1.1Color

3.1.5.10.1.1.2Id

3.1.5.10.1.1.3Name

3.1.5.10.1.1.4ParentId

3.1.5.10.1.1.5RootProviderKey

3.1.5.10.1.1.6Url

3.1.5.10.1.1.7Important

3.1.5.10.1.2ObjectPath Properties

3.1.5.10.2Methods

3.1.5.10.2.1Scalar Methods

3.1.5.10.2.2ObjectPath Methods

3.1.5.10.2.2.1CSOM Constructor

3.1.5.11Microsoft.SharePoint.WorkManagement.Client.LocationClientCollection

3.1.5.11.1Properties

3.1.5.11.1.1Scalar Properties

3.1.5.11.1.2ObjectPath Properties

3.1.5.11.2Methods

3.1.5.11.2.1Scalar Methods

3.1.5.11.2.2ObjectPath Methods

3.1.5.12Microsoft.SharePoint.WorkManagement.Client.LocationDisplaySetting

3.1.5.12.1Properties

3.1.5.12.1.1Scalar Properties

3.1.5.12.1.1.1Color

3.1.5.12.1.1.2Id

3.1.5.12.1.2ObjectPath Properties

3.1.5.12.2Methods

3.1.5.12.2.1Scalar Methods

3.1.5.12.2.2ObjectPath Methods

3.1.5.13Microsoft.SharePoint.WorkManagement.Client.LocationFilter

3.1.5.13.1Properties

3.1.5.13.1.1Scalar Properties

3.1.5.13.1.1.1LocationKeys

3.1.5.13.1.1.2IncludeUncategorizedTasks

3.1.5.13.1.2ObjectPath Properties

3.1.5.13.2Methods

3.1.5.13.2.1Scalar Methods

3.1.5.13.2.2ObjectPath Methods

3.1.5.13.2.2.1CSOM Constructor

3.1.5.14Microsoft.SharePoint.WorkManagement.Client.LocationGroupClientCollection

3.1.5.14.1Properties

3.1.5.14.1.1Scalar Properties

3.1.5.14.1.2ObjectPath Properties

3.1.5.14.2Methods

3.1.5.14.2.1Scalar Methods

3.1.5.14.2.2ObjectPath Methods

3.1.5.14.2.2.1CSOM Constructor

3.1.5.15Microsoft.SharePoint.WorkManagement.Client.LocationOrientedSortableSession

3.1.5.15.1Properties

3.1.5.15.1.1Scalar Properties

3.1.5.15.1.2ObjectPath Properties

3.1.5.15.2Methods

3.1.5.15.2.1Scalar Methods

3.1.5.15.2.1.1MovePersonalTaskToLocation

3.1.5.15.2.1.2BeginExchangeSync

3.1.5.15.2.1.3IsExchangeJobPending

3.1.5.15.2.2ObjectPath Methods

3.1.5.15.2.2.1AddAttributeToTask

3.1.5.15.2.2.2BeginCacheRefresh

3.1.5.15.2.2.3CreateTask

3.1.5.15.2.2.4DeleteTask

3.1.5.15.2.2.5GetRefreshHistory

3.1.5.15.2.2.6GetRefreshStatus

3.1.5.15.2.2.7PinTask

3.1.5.15.2.2.8ReadTasks

3.1.5.15.2.2.9RemoveAttributeFromTask

3.1.5.15.2.2.10RemovePinOnTask

3.1.5.15.2.2.11UpdateTaskWithLocalizedValue

3.1.5.15.2.2.12GetCalloutInfo

3.1.5.15.2.2.13ReadAllNonTaskData

3.1.5.15.2.2.14RefreshSingleTask

3.1.5.15.2.2.15GetRefreshHealthInfo

3.1.5.15.2.2.16CreatePersonalTaskAndPromoteToProviderTask

3.1.5.15.2.2.17PromotePersonalTaskToProviderTaskInLocation

3.1.5.16Microsoft.SharePoint.WorkManagement.Client.LocationOrientedUserOrderedSession

3.1.5.16.1Properties

3.1.5.16.1.1Scalar Properties

3.1.5.16.1.2ObjectPath Properties

3.1.5.16.2Methods

3.1.5.16.2.1Scalar Methods

3.1.5.16.2.1.1MovePersonalTaskToLocation

3.1.5.16.2.1.2ReorderTask

3.1.5.16.2.1.3BeginExchangeSync

3.1.5.16.2.1.4IsExchangeJobPending

3.1.5.16.2.2ObjectPath Methods

3.1.5.16.2.2.1AddAttributeToTask

3.1.5.16.2.2.2BeginCacheRefresh

3.1.5.16.2.2.3CreateTask

3.1.5.16.2.2.4DeleteTask

3.1.5.16.2.2.5GetRefreshHistory

3.1.5.16.2.2.6GetRefreshStatus

3.1.5.16.2.2.7PinTask

3.1.5.16.2.2.8ReadTasks

3.1.5.16.2.2.9RemoveAttributeFromTask

3.1.5.16.2.2.10RemovePinOnTask

3.1.5.16.2.2.11UpdateTaskWithLocalizedValue

3.1.5.16.2.2.12GetCalloutInfo

3.1.5.16.2.2.13ReadAllNonTaskData

3.1.5.16.2.2.14RefreshSingleTask

3.1.5.16.2.2.15GetRefreshHealthInfo

3.1.5.16.2.2.16CreatePersonalTaskAndPromoteToProviderTask

3.1.5.16.2.2.17PromotePersonalTaskToProviderTaskInLocation

3.1.5.17Microsoft.SharePoint.WorkManagement.Client.LocationUpdateResult

3.1.5.17.1Properties

3.1.5.17.1.1Scalar Properties

3.1.5.17.1.1.1ActiveAddedCount

3.1.5.17.1.1.2AddedCount

3.1.5.17.1.1.3RemovedCount

3.1.5.17.1.1.4RootLocationId

3.1.5.17.1.1.5UpdatedCount

3.1.5.17.1.2ObjectPath Properties

3.1.5.17.2Methods

3.1.5.17.2.1Scalar Methods

3.1.5.17.2.2ObjectPath Methods

3.1.5.18Microsoft.SharePoint.WorkManagement.Client.LocationUpdateResultClientCollection

3.1.5.18.1Properties

3.1.5.18.1.1Scalar Properties

3.1.5.18.1.2ObjectPath Properties

3.1.5.18.2Methods

3.1.5.18.2.1Scalar Methods

3.1.5.18.2.2ObjectPath Methods

3.1.5.19Microsoft.SharePoint.WorkManagement.Client.NameCriterion

3.1.5.19.1Properties

3.1.5.19.1.1Scalar Properties

3.1.5.19.1.1.1CompareType

3.1.5.19.1.1.2CompareValue

3.1.5.19.1.2ObjectPath Properties

3.1.5.19.2Methods

3.1.5.19.2.1Scalar Methods

3.1.5.19.2.2ObjectPath Methods

3.1.5.19.2.2.1CSOM Constructor

3.1.5.20Microsoft.SharePoint.WorkManagement.Client.OrderInfo

3.1.5.20.1Properties

3.1.5.20.1.1Scalar Properties

3.1.5.20.1.1.1Field

3.1.5.20.1.1.2IsDescending

3.1.5.20.1.2ObjectPath Properties

3.1.5.20.2Methods

3.1.5.20.2.1Scalar Methods

3.1.5.20.2.2ObjectPath Methods

3.1.5.20.2.2.1CSOM Constructor

3.1.5.21Microsoft.SharePoint.WorkManagement.Client.PinAge

3.1.5.21.1Field Values

3.1.5.21.1.1NoValue

3.1.5.21.1.2Fresh

3.1.5.21.1.3Stale

3.1.5.22Microsoft.SharePoint.WorkManagement.Client.PinnedState

3.1.5.22.1Field Values

3.1.5.22.1.1NoValue

3.1.5.22.1.2Pinned

3.1.5.22.1.3NotPinned

3.1.5.23Microsoft.SharePoint.WorkManagement.Client.ProviderErrorInfo

3.1.5.23.1Properties

3.1.5.23.1.1Scalar Properties

3.1.5.23.1.1.1CorrelationId

3.1.5.23.1.1.2LastSuccessfulRefresh

3.1.5.23.1.1.3LocalizedName

3.1.5.23.1.2ObjectPath Properties

3.1.5.23.2Methods

3.1.5.23.2.1Scalar Methods

3.1.5.23.2.2ObjectPath Methods

3.1.5.24Microsoft.SharePoint.WorkManagement.Client.ProviderErrorInfoClientCollection

3.1.5.24.1Properties

3.1.5.24.1.1Scalar Properties

3.1.5.24.1.2ObjectPath Properties

3.1.5.24.2Methods

3.1.5.24.2.1Scalar Methods

3.1.5.24.2.2ObjectPath Methods

3.1.5.25Microsoft.SharePoint.WorkManagement.Client.ProviderRefreshStatus

3.1.5.25.1Properties

3.1.5.25.1.1Scalar Properties

3.1.5.25.1.1.1ProviderKey

3.1.5.25.1.1.2ProviderLocalizedName

3.1.5.25.1.1.3RefreshFinished

3.1.5.25.1.1.4RefreshStarted

3.1.5.25.1.1.5RootLocationId

3.1.5.25.1.2ObjectPath Properties

3.1.5.25.2Methods

3.1.5.25.2.1Scalar Methods

3.1.5.25.2.2ObjectPath Methods

3.1.5.26Microsoft.SharePoint.WorkManagement.Client.ProviderRefreshStatusClientCollection

3.1.5.26.1Properties

3.1.5.26.1.1Scalar Properties

3.1.5.26.1.2ObjectPath Properties

3.1.5.26.2Methods

3.1.5.26.2.1Scalar Methods

3.1.5.26.2.2ObjectPath Methods

3.1.5.27Microsoft.SharePoint.WorkManagement.Client.RefreshResult

3.1.5.27.1Properties

3.1.5.27.1.1Scalar Properties

3.1.5.27.1.1.1AggregatorRefreshState

3.1.5.27.1.1.2CorrelationId

3.1.5.27.1.1.3RefreshFinished

3.1.5.27.1.1.4RefreshId

3.1.5.27.1.2ObjectPath Properties

3.1.5.27.1.2.1TaskChangesByLocation

3.1.5.27.1.2.2ProviderStatuses

3.1.5.27.2Methods

3.1.5.27.2.1Scalar Methods

3.1.5.27.2.2ObjectPath Methods

3.1.5.28Microsoft.SharePoint.WorkManagement.Client.RefreshEventInfoClientCollection

3.1.5.28.1Properties

3.1.5.28.1.1Scalar Properties

3.1.5.28.1.2ObjectPath Properties

3.1.5.28.2Methods

3.1.5.28.2.1Scalar Methods

3.1.5.28.2.2ObjectPath Methods

3.1.5.29Microsoft.SharePoint.WorkManagement.Client.RefreshHistory

3.1.5.29.1Properties

3.1.5.29.1.1Scalar Properties

3.1.5.29.1.2ObjectPath Properties

3.1.5.29.1.2.1Refreshes

3.1.5.29.2Methods

3.1.5.29.2.1Scalar Methods

3.1.5.29.2.2ObjectPath Methods

3.1.5.30Microsoft.SharePoint.WorkManagement.Client.RefreshState

3.1.5.30.1Field Values

3.1.5.30.1.1NoValue

3.1.5.30.1.2Pending

3.1.5.30.1.3Ignored

3.1.5.30.1.4Succeeded

3.1.5.30.1.5Failed

3.1.5.31Microsoft.SharePoint.WorkManagement.Client.SortableSession

3.1.5.31.1Properties

3.1.5.31.1.1Scalar Properties

3.1.5.31.1.2ObjectPath Properties

3.1.5.31.2Methods

3.1.5.31.2.1Scalar Methods

3.1.5.31.2.1.1BeginExchangeSync

3.1.5.31.2.1.2IsExchangeJobPending

3.1.5.31.2.2ObjectPath Methods

3.1.5.31.2.2.1AddAttributeToTask

3.1.5.31.2.2.2BeginCacheRefresh

3.1.5.31.2.2.3CreateTask

3.1.5.31.2.2.4DeleteTask

3.1.5.31.2.2.5GetRefreshHistory

3.1.5.31.2.2.6GetRefreshStatus

3.1.5.31.2.2.7PinTask

3.1.5.31.2.2.8ReadTasks

3.1.5.31.2.2.9RemoveAttributeFromTask

3.1.5.31.2.2.10RemovePinOnTask

3.1.5.31.2.2.11UpdateTaskWithLocalizedValue

3.1.5.31.2.2.12GetCalloutInfo

3.1.5.31.2.2.13ReadAllNonTaskData

3.1.5.31.2.2.14RefreshSingleTask

3.1.5.31.2.2.15GetRefreshHealthInfo

3.1.5.31.2.2.16CreatePersonalTaskAndPromoteToProviderTask

3.1.5.31.2.2.17PromotePersonalTaskToProviderTaskInLocation

3.1.5.32Microsoft.SharePoint.WorkManagement.Client.SortableSessionManager

3.1.5.32.1Properties

3.1.5.32.1.1Scalar Properties

3.1.5.32.1.2ObjectPath Properties

3.1.5.32.2Methods

3.1.5.32.2.1Scalar Methods

3.1.5.32.2.2ObjectPath Methods

3.1.5.32.2.2.1CreateLocationOrientedSession

3.1.5.32.2.2.2CreateSession

3.1.5.32.2.2.3CSOM Constructor

3.1.5.33Microsoft.SharePoint.WorkManagement.Client.SortableTaskField

3.1.5.33.1Field Values

3.1.5.33.1.1NoValue

3.1.5.33.1.2IsCompleted

3.1.5.33.1.3Id

3.1.5.33.1.4DueDate

3.1.5.33.1.5Description

3.1.5.33.1.6PinAge

3.1.5.33.1.7Location

3.1.5.33.1.8LastModified

3.1.5.33.1.9DiscoveredDate

3.1.5.33.1.10Title

3.1.5.34Microsoft.SharePoint.WorkManagement.Client.SortableTaskQuery

3.1.5.34.1Properties

3.1.5.34.1.1Scalar Properties

3.1.5.34.1.2ObjectPath Properties

3.1.5.34.1.2.1CoreQuery

3.1.5.34.1.2.2Order

3.1.5.34.2Methods

3.1.5.34.2.1Scalar Methods

3.1.5.34.2.2ObjectPath Methods

3.1.5.34.2.2.1CSOM Constructor

3.1.5.35Microsoft.SharePoint.WorkManagement.Client.StringCompareType

3.1.5.35.1Field Values

3.1.5.35.1.1NoValue

3.1.5.35.1.2Equals

3.1.5.35.1.3Contains

3.1.5.35.1.4BeginsWith

3.1.5.36Microsoft.SharePoint.WorkManagement.Client.Task

3.1.5.36.1Properties

3.1.5.36.1.1Scalar Properties

3.1.5.36.1.1.1CustomAttributes

3.1.5.36.1.1.2Description

3.1.5.36.1.1.3DueDate

3.1.5.36.1.1.4EditUrl

3.1.5.36.1.1.5Id

3.1.5.36.1.1.6IsCompleted

3.1.5.36.1.1.7IsPersonal

3.1.5.36.1.1.8LastModified

3.1.5.36.1.1.9Name

3.1.5.36.1.1.10PinAge

3.1.5.36.1.1.11SerializedCustomDataForClient

3.1.5.36.1.1.12StartDate

3.1.5.36.1.1.13LocationId

3.1.5.36.1.1.14IsReadOnly

3.1.5.36.1.2ObjectPath Properties

3.1.5.36.2Methods

3.1.5.36.2.1Scalar Methods

3.1.5.36.2.2ObjectPath Methods

3.1.5.36.2.2.1CSOM Constructor

3.1.5.37Microsoft.SharePoint.WorkManagement.Client.TaskClientCollection

3.1.5.37.1Properties

3.1.5.37.1.1Scalar Properties

3.1.5.37.1.2ObjectPath Properties

3.1.5.37.2Methods

3.1.5.37.2.1Scalar Methods

3.1.5.37.2.2ObjectPath Methods

3.1.5.37.2.2.1CSOM Constructor

3.1.5.38Microsoft.SharePoint.WorkManagement.Client.TaskFilter

3.1.5.38.1Properties

3.1.5.38.1.1Scalar Properties

3.1.5.38.1.1.1CriterionConcatType

3.1.5.38.1.1.2IdsToFilterBy

3.1.5.38.1.2ObjectPath Properties

3.1.5.38.1.2.1CompletedCriterion

3.1.5.38.1.2.2DueDateRangeCriterion

3.1.5.38.1.2.3IsNewCriterion

3.1.5.38.1.2.4NameCriterion

3.1.5.38.1.2.5StartDateRangeCriterion

3.1.5.38.2Methods

3.1.5.38.2.1Scalar Methods

3.1.5.38.2.2ObjectPath Methods

3.1.5.38.2.2.1CSOM Constructor

3.1.5.39Microsoft.SharePoint.WorkManagement.Client.TaskQuery

3.1.5.39.1Properties

3.1.5.39.1.1Scalar Properties

3.1.5.39.1.1.1KeywordFilter

3.1.5.39.1.1.2LastQueryTime

3.1.5.39.1.1.3PinnedFilter

3.1.5.39.1.2ObjectPath Properties

3.1.5.39.1.2.1CustomAttributeFilter

3.1.5.39.1.2.2FieldFilter

3.1.5.39.1.2.3LastModifiedDateRangeFilter

3.1.5.39.1.2.4LocationFilter

3.1.5.39.2Methods

3.1.5.39.2.1Scalar Methods

3.1.5.39.2.2ObjectPath Methods

3.1.5.39.2.2.1CSOM Constructor

3.1.5.40Microsoft.SharePoint.WorkManagement.Client.TaskWriteResult

3.1.5.40.1Properties

3.1.5.40.1.1Scalar Properties

3.1.5.40.1.1.1Error

3.1.5.40.1.1.2ErrorMessage

3.1.5.40.1.2ObjectPath Properties

3.1.5.40.1.2.1Result

3.1.5.40.2Methods

3.1.5.40.2.1Scalar Methods

3.1.5.40.2.2ObjectPath Methods

3.1.5.41Microsoft.SharePoint.WorkManagement.Client.UserOrderedSession

3.1.5.41.1Properties

3.1.5.41.1.1Scalar Properties

3.1.5.41.1.2ObjectPath Properties

3.1.5.41.2Methods

3.1.5.41.2.1Scalar Methods

3.1.5.41.2.1.1ReorderTask

3.1.5.41.2.1.2BeginExchangeSync

3.1.5.41.2.1.3IsExchangeJobPending

3.1.5.41.2.2ObjectPath Methods

3.1.5.41.2.2.1AddAttributeToTask

3.1.5.41.2.2.2BeginCacheRefresh

3.1.5.41.2.2.3CreateTask

3.1.5.41.2.2.4DeleteTask

3.1.5.41.2.2.5GetRefreshHistory

3.1.5.41.2.2.6GetRefreshStatus

3.1.5.41.2.2.7PinTask

3.1.5.41.2.2.8ReadTasks

3.1.5.41.2.2.9RemoveAttributeFromTask

3.1.5.41.2.2.10RemovePinOnTask

3.1.5.41.2.2.11UpdateTaskWithLocalizedValue

3.1.5.41.2.2.12GetCalloutInfo

3.1.5.41.2.2.13ReadAllNonTaskData

3.1.5.41.2.2.14RefreshSingleTask

3.1.5.41.2.2.15GetRefreshHealthInfo

3.1.5.41.2.2.16CreatePersonalTaskAndPromoteToProviderTask

3.1.5.41.2.2.17PromotePersonalTaskToProviderTaskInLocation

3.1.5.42Microsoft.SharePoint.WorkManagement.Client.UserOrderedSessionManager

3.1.5.42.1Properties

3.1.5.42.1.1Scalar Properties

3.1.5.42.1.2ObjectPath Properties

3.1.5.42.2Methods

3.1.5.42.2.1Scalar Methods

3.1.5.42.2.2ObjectPath Methods

3.1.5.42.2.2.1CreateLocationOrientedSession

3.1.5.42.2.2.2CreateSession

3.1.5.42.2.2.3CSOM Constructor

3.1.5.43Microsoft.SharePoint.WorkManagement.Client.UserSettings

3.1.5.43.1Properties

3.1.5.43.1.1Scalar Properties

3.1.5.43.1.1.1DaysAfterCurrentDateTimelineEnds

3.1.5.43.1.1.2DaysATaskIsConsideredNewTask

3.1.5.43.1.1.3DaysBeforeCurrentDateTimelineStarts

3.1.5.43.1.1.4ImportantTasksLimit

3.1.5.43.1.1.5InactiveMonthsBeforeLocationExpiration

3.1.5.43.1.1.6LateTasksLimit

3.1.5.43.1.1.7OldTasksLimit

3.1.5.43.1.1.8UpcomingTasksLimit

3.1.5.43.1.1.9ImportantLocationIds

3.1.5.43.1.2ObjectPath Properties

3.1.5.43.2Methods

3.1.5.43.2.1Scalar Methods

3.1.5.43.2.2ObjectPath Methods

3.1.5.43.2.2.1CSOM Constructor

3.1.5.44Microsoft.SharePoint.WorkManagement.Client.UserSettingsManager

3.1.5.44.1Properties

3.1.5.44.1.1Scalar Properties

3.1.5.44.1.2ObjectPath Properties

3.1.5.44.2Methods

3.1.5.44.2.1Scalar Methods

3.1.5.44.2.1.1SetUserSettings

3.1.5.44.2.1.2IsExchangeJobPending

3.1.5.44.2.1.3OptIntoExchangeSync

3.1.5.44.2.1.4OptOutOfExchangeSync

3.1.5.44.2.1.5SetPersistedProperties

3.1.5.44.2.2ObjectPath Methods

3.1.5.44.2.2.1GetAllLocations

3.1.5.44.2.2.2GetImportantLocations

3.1.5.44.2.2.3GetUserSettings

3.1.5.44.2.2.4GetLocations

3.1.5.44.2.2.5CSOM Constructor

3.1.5.44.2.2.6GetExchangeSyncInfo

3.1.5.44.2.2.7GetPersistedProperties

3.1.5.45Microsoft.SharePoint.WorkManagement.Client.ViewSelectionInfo

3.1.5.45.1Properties

3.1.5.45.1.1Scalar Properties

3.1.5.45.1.1.1Id

3.1.5.45.1.1.2Image

3.1.5.45.1.1.3Name

3.1.5.45.1.2ObjectPath Properties

3.1.5.45.2Methods

3.1.5.45.2.1Scalar Methods

3.1.5.45.2.2ObjectPath Methods

3.1.5.45.2.2.1CSOM Constructor

3.1.5.46Microsoft.SharePoint.WorkManagement.Client.WritableTaskField

3.1.5.46.1Field Values

3.1.5.46.1.1NoValue

3.1.5.46.1.2IsCompleted

3.1.5.46.1.3DueDate

3.1.5.46.1.4Description

3.1.5.46.1.5Title

3.1.5.46.1.6EditUrl

3.1.5.46.1.7StartDate

3.1.5.47Microsoft.SharePoint.WorkManagement.Client.WriteFieldErrorType

3.1.5.47.1Field Values

3.1.5.47.1.1NoValue

3.1.5.47.1.2TaskNotFound

3.1.5.47.1.3InvalidInput

3.1.5.47.1.4TaskDeleted

3.1.5.47.1.5FieldConflict

3.1.5.47.1.6Validation

3.1.5.47.1.7LocationInvalid

3.1.5.47.1.8Unknown

3.1.5.47.1.9DueDateInvalid

3.1.5.47.1.10StartDateInvalid

3.1.5.47.1.11DescriptionInvalid

3.1.5.47.1.12IsCompletedInvalid

3.1.5.47.1.13TitleInvalid

3.1.5.47.1.14EditUrlInvalid

3.1.5.47.1.15AccessDenied

3.1.5.47.1.16PromoteTargetTaskNotPersonal

3.1.5.47.1.17PromotionFailedInProvider

3.1.5.48Microsoft.SharePoint.WorkManagement.Client.PrivacyType

3.1.5.48.1Field Values

3.1.5.48.1.1None

3.1.5.48.1.2Personal

3.1.5.48.1.3Public

3.1.5.49Microsoft.SharePoint.WorkManagement.Client.CalloutInfo

3.1.5.49.1Properties

3.1.5.49.1.1Scalar Properties

3.1.5.49.1.1.1Contacts

3.1.5.49.1.1.2DirectLinkTitle

3.1.5.49.1.1.3DirectLinkUrl

3.1.5.49.1.1.4Hierarchy

3.1.5.49.1.1.5Predecessors

3.1.5.49.1.1.6Successors

3.1.5.49.1.1.7Title

3.1.5.49.1.1.8Url

3.1.5.49.1.2ObjectPath Properties

3.1.5.49.2Methods

3.1.5.49.2.1Scalar Methods

3.1.5.49.2.2ObjectPath Methods

3.1.5.50Microsoft.SharePoint.WorkManagement.Client.DashboardScriptExtensionInfoClientCollection

3.1.5.50.1Properties

3.1.5.50.1.1Scalar Properties

3.1.5.50.1.2ObjectPath Properties

3.1.5.50.2Methods

3.1.5.50.2.1Scalar Methods

3.1.5.50.2.2ObjectPath Methods

3.1.5.51Microsoft.SharePoint.WorkManagement.Client.ExchangeOptInResult

3.1.5.51.1Field Values

3.1.5.51.1.1NoValue

3.1.5.51.1.2Success

3.1.5.51.1.3UnknownError

3.1.5.51.1.4CouldNotConnectToExchange

3.1.5.51.1.5CouldNotFindOrCreateMySite

3.1.5.51.1.6UserAlreadyOptedIn

3.1.5.51.1.7UserExchangeOperationPending

3.1.5.51.1.8UnsupportedExchangeVersion

3.1.5.51.1.9MissingEmailAddress

3.1.5.51.1.10ExchangeWebServiceClientMissing

3.1.5.51.1.11UnsupportedSharePointConfiguration

3.1.5.51.1.12InvalidOrUnauthorizedUser

3.1.5.51.1.13CouldNotActivateExchangeSyncFeatureOnSiteSubscription

3.1.5.52Microsoft.SharePoint.WorkManagement.Client.ExchangeSyncResult

3.1.5.52.1Field Values

3.1.5.52.1.1NoValue

3.1.5.52.1.2Success

3.1.5.52.1.3UnknownError

3.1.5.52.1.4CouldNotConnectToExchange

3.1.5.52.1.5CouldNotGetUserCredentials

3.1.5.52.1.6CouldNotKickoffJob

3.1.5.52.1.7SyncWithErrors

3.1.5.53Microsoft.SharePoint.WorkManagement.Client.ExchangeUserSyncState

3.1.5.53.1Properties

3.1.5.53.1.1Scalar Properties

3.1.5.53.1.1.1IsOptedIn

3.1.5.53.1.1.2LastEndTime

3.1.5.53.1.1.3LastSyncResult

3.1.5.53.1.2ObjectPath Properties

3.1.5.53.2Methods

3.1.5.53.2.1Scalar Methods

3.1.5.53.2.2ObjectPath Methods

3.1.5.54Microsoft.SharePoint.WorkManagement.Client.NonTaskDataReadResult

3.1.5.54.1Properties

3.1.5.54.1.1Scalar Properties

3.1.5.54.1.2ObjectPath Properties

3.1.5.54.1.2.1AllLocatons

3.1.5.54.1.2.2PersistedProperties

3.1.5.54.1.2.3RefreshHistory

3.1.5.54.1.2.4ScriptExtensions

3.1.5.54.1.2.5UserSettings

3.1.5.54.2Methods

3.1.5.54.2.1Scalar Methods

3.1.5.54.2.2ObjectPath Methods

3.1.5.55Microsoft.SharePoint.WorkManagement.Client.PersistedProperties

3.1.5.55.1Properties

3.1.5.55.1.1Scalar Properties

3.1.5.55.1.1.1FilteredLocationIds

3.1.5.55.1.1.2GroupByProjects

3.1.5.55.1.1.3HasShownMarkAsImportantCallout

3.1.5.55.1.1.4HasShownTaskListTooLongNotification

3.1.5.55.1.1.5QuickLaunchLandingPage

3.1.5.55.1.2ObjectPath Properties

3.1.5.55.2Methods

3.1.5.55.2.1Scalar Methods

3.1.5.55.2.2ObjectPath Methods

3.1.5.55.2.2.1CSOM Constructor

3.1.5.56Microsoft.SharePoint.WorkManagement.Client.TaskRefreshResult

3.1.5.56.1Properties

3.1.5.56.1.1Scalar Properties

3.1.5.56.1.1.1ErrorCorrelationId

3.1.5.56.1.1.2RefreshState

3.1.5.56.1.2ObjectPath Properties

3.1.5.56.1.2.1Result

3.1.5.56.2Methods

3.1.5.56.2.1Scalar Methods

3.1.5.56.2.2ObjectPath Methods

3.1.5.57Microsoft.SharePoint.WorkManagement.Client.TaskQueryByLocationResult

3.1.5.57.1Properties

3.1.5.57.1.1Scalar Properties

3.1.5.57.1.1.1Error

3.1.5.57.1.1.2ErrorMessage

3.1.5.57.1.2ObjectPath Properties

3.1.5.57.1.2.1Results

3.1.5.57.2Methods

3.1.5.57.2.1Scalar Methods

3.1.5.57.2.2ObjectPath Methods

3.1.5.58Microsoft.SharePoint.WorkManagement.Client.TaskQueryErrorType

3.1.5.58.1Field Values

3.1.5.58.1.1NoValue

3.1.5.58.1.2QueryThrottled

3.1.5.59Microsoft.SharePoint.WorkManagement.Client.TaskQueryResult

3.1.5.59.1Properties

3.1.5.59.1.1Scalar Properties

3.1.5.59.1.1.1Error

3.1.5.59.1.1.2ErrorMessage

3.1.5.59.1.2ObjectPath Properties

3.1.5.59.1.2.1Results

3.1.5.59.2Methods

3.1.5.59.2.1Scalar Methods

3.1.5.59.2.2ObjectPath Methods

3.1.6Timer Events

3.1.7Other Local Events

4Protocol Examples

4.1Retrieving Active Tasks for a User

4.2Updating a Task

4.3Creating a New Task

5Security

5.1Security Considerations for Implementers

5.2Index of Security Parameters

6Appendix A: Product Behavior

7Change Tracking

8Index

1Introduction

The Work Management Client-Side Object Model Protocol defines types, methods, and properties that protocol clients use to access and manipulate tasks (2) assigned to a user on a protocol server that proxies to a Work Management service application.

Sections 1.5, 1.8, 1.9, 2, and 3 of this specification are normative. All other sections and examples in this specification are informative.

1.1Glossary

This document uses the following terms:

CSOM array: An ordered collection of values that can be used in an XML request or JSON response text. The values are identified by their position and their position is determined by a zero-based integer index.

CSOM Boolean: A Boolean value that can be used in an XML request or JSON response text. A CSOM Boolean value is either "true" or "false".

CSOM DateTime: An Int64 value that represents the number of 100-nanosecond time intervals that have elapsed since 12:00:00, January 1, 0001. It can be used in an XML request or as a string in JSON response text. The value can represent time intervals through 23:59:59.9999999, December 31, 9999. It can also specify whether a local, UTC, or no time zone applies.

CSOM Int32: A 32-bit, signed integer value, which is the INT32 type described in [MS-DTYP], that can be used in an XML request or as a number in JSON response text. The range of CSOM Int32 values is from "-2147483648" to "2147483647".

CSOM String: A representation of text as a series of Unicode characters. It can be used in an XML request or JSON response text.

CSOM UInt32: A 32-bit, unsigned integer value, which is the UINT32 type described in [MS-DTYP], that can be used in an XML request or as a number in JSON response text. The range of CSOM UInt32 values is from "0" to "4294967295".

endpoint: A communication port that is exposed by an application server for a specific shared service and to which messages can be addressed.

Hypertext Transfer Protocol (HTTP): An application-level protocol for distributed, collaborative, hypermedia information systems (text, graphic images, sound, video, and other multimedia files) on the World Wide Web.

Hypertext Transfer Protocol Secure (HTTPS): An extension of HTTP that securely encrypts and decrypts web page requests. In some older protocols, "Hypertext Transfer Protocol over Secure Sockets Layer" is still used (Secure Sockets Layer has been deprecated). For more information, see [SSL3] and [RFC5246].

list: A container within a SharePoint site that stores list items. A list has a customizable schema that is composed of one or more fields.

server: A replicating machine that sends replicated files to a partner (client). The term "server" refers to the machine acting in response to requests from partners that want to receive replicated files.

service application: A middle-tier application that runs without any user interface components and supports other applications by performing tasks such as retrieving or modifying data in a database.

session: A representation of application data in system memory. It is used to maintain state for application data that is being manipulated or monitored on a protocol server by a user.

site: A group of related pages and data within a SharePoint site collection. The structure and content of a site is based on a site definition. Also referred to as SharePoint site and web site.

task: (1) An act to be executed by all query servers, and any requisite information for those query servers to execute that act correctly.

(2) An object that represents an assignment to be completed.

Uniform Resource Identifier (URI): A string that identifies a resource. The URI is an addressing mechanism defined in Internet Engineering Task Force (IETF) Uniform Resource Identifier (URI): Generic Syntax [RFC3986].

Uniform Resource Locator (URL): A string of characters in a standardized format that identifies a document or resource on the World Wide Web. The format is as specified in [RFC1738].

User Profile Service: A data source that stores, provides, and applies information about users.

view: See form view (Microsoft InfoPath), list view (SharePoint Products and Technologies), or View (Microsoft Business Connectivity Services).

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.

1.2References

Links to a document in the Microsoft Open Specifications library point to the correct section in the most recently published version of the referenced document. However, because individual documents in the library are not updated at the same time, the section numbers in the documents may not match. You can confirm the correct section numbering by checking the Errata.

1.2.1Normative References

We conduct frequent surveys of the normative references to assure their continued availability. If you have any issue with finding a normative reference, please contact . We will assist you in finding the relevant information.

[MS-CSOM] Microsoft Corporation, "SharePoint Client Query Protocol".

[MS-WMS] Microsoft Corporation, "Work Management Service Web Service Protocol".

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997,

1.2.2Informative References

[MS-WSSTS] Microsoft Corporation, "Windows SharePoint Services".

[RFC2616] Fielding, R., Gettys, J., Mogul, J., et al., "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999,

[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000,

1.3Overview

This protocol defines types, methods, and properties that protocol clients use to access and manipulate tasks (2) assigned to a user on a protocol server that proxies to an instance of the Work Management service application.

Some typical scenarios in which a protocol client could use this protocol are: retrieving a user’s task (2) list, updating a task (2), and changing the order of tasks (2).

1.4Relationship to Other Protocols

The Work Management Client-Side Object Model protocol is a set of types, properties, and methods that can be accessed by using the SharePoint Client Query Protocol as described in [MS-CSOM]. This protocol also uses Hypertext Transfer Protocol (HTTP), as described in [RFC2616] and Hypertext Transfer Protocol over Secure Sockets Layer (HTTPS), as described in [RFC2818]. The dependencies for this protocol are shown in the following layering diagram.

Figure 1: This protocol in relation to other protocols

1.5Prerequisites/Preconditions

This protocol depends on the User Profile Service APIs to determine the Uniform Resource Locator (URL) for the site to retrieve tasks (2) from.

This protocol operates against a protocol server that exposes one or more endpointUniform Resource Identifiers (URI) that are known by protocol clients.

This protocol assumes that authentication has been performed by underlying protocols.

This protocol requires the protocol client to have appropriate permission to call the methods on the protocol server (2).

1.6Applicability Statement

This protocol can be used by a protocol client to read data from, write data to, and execute operations against a protocol server. The protocol is optimized to enable a protocol client to specify the exact set of data and operations to perform in a single batch, making it suitable for situations where the connection speed between the protocol client and the protocol server can be slow. Because of the complexity of the structure of requests and responses, it is not suitable for cases where the inputs and outputs need to be quickly understood and specified by a human. Because the protocol features minimal services for type and operation discovery, it is not suitable for protocol servers that implement a different set of functionality compared to the set of functionality described for a collaboration server in [MS-WSSTS].

1.7Versioning and Capability Negotiation

This protocol operates in the context of the authenticated user that made a request to the service, and it runs in the context of a particular site. Localization-specific properties, such as the title of a list, are returned by using the preferred language of the user, if available, or by using the default language of the site as a fallback.

1.8Vendor-Extensible Fields

A protocol server can provide additional properties and methods beyond those specified in this document to provide extended collaboration server functionality; however, because no means are provided for a protocol client to discover that extended functionality, the functionality is taken advantage of only by protocol clients that have built-in knowledge of the extensions.

A protocol client is expected to be tolerant of the situation where particular methods and properties specified in this document are not available, because either the protocol server does not support the functionality or the administrator has disabled specific functionalities.

1.9Standards Assignments

None.

2Messages

2.1Transport

Messages are transported by using the SharePoint Client Query Protocol, as specified in [MS-CSOM].

2.2Message Syntax

2.2.1Common Exceptions

The protocol server MUST validate the request from the protocol client. When a protocol server processes a CSOM operation in the request, the following table lists common exceptions that could occur when accessing or updating a property or invoking a method.

Error code / Error type name / Condition
-2147024891 / System.UnauthorizedAccessException / The user does not have permission to access a property, update a property, or call a method.

Besides the preceding exceptions and the exceptions that are listed for the specific properties or methods, the protocol server (2) can return other exceptions to the protocol client, for which the protocol client could use the error message for display purpose but could not use the error code or error type to determine the causes of the exception.

Exceptions listed for the specific properties are thrown for both read and write operations, unless otherwise specified.

3Protocol Details

3.1Server Details

3.1.1Abstract Data Model

This protocol shares the abstract data model used by the SharePoint Client Query Protocol, as specified in [MS-CSOM] section 3.1.1, to communicate with the protocol server.