Property sets and response shapes in EWS in Exchange
Learn to manage the response shapes and property sets that are returned by the EWS managed API and EWS in Exchange.
The Exchange data store provides a flexible storage solution that enables you to store different items, such as contacts and calendar entries, in the same folder; however, it can make it difficult to manage the data that is returned from a call to an EWS operation or an EWS managed API method.
To make it easier to manage the data that is returned by Exchange Online, Exchange Online as part of Office 365, or version of Excahange starting with Exchange 2013, the EWS Managed API uses property sets, and EWS uses response shapes. These are predefined collections that provide the most common properties of a store item. The set of properties that is returned is determined by the item type. That means that when you bind an item by using the Exchange Managed API Item.Bind method, you get a different set of properties depending on the type of item to which you bind. Binding to a calendar item will return a different set of properties than binding to a contact item. Likewise, if you are using EWS, the GetItem operation returns a different set of properties based on the type of item that is returned.
Binding to a folder with the Folder.Bind method or using the GetFolder operation also returns different sets of properties based on the folder that you request.
Table 1. Predefined response shapes
Response shape | EWS Managed API equivalent | Description |
---|---|---|
ID only |
BasePropertySet.IdOnly |
Returns only the identifier of the item or folder. Most applications should use this response shape and specify any additional properties that are required. |
Default |
N/A |
Returns a predefined set of properties that are the default for the item or folder (EWS only). |
All properties |
BasePropertySet.FirstClassProperties |
Returns the properties that client applications use most often. You can return additional properties by using a property path. |
Default response shapes
EWS includes a set of default response shapes for folders and for items.
The following table lists the default properties that are returned for each folder by the FindFolder and GetFolder EWS operations.
Table 2. Default folder properties
Property | Inbox | Calendar | Contacts | Deleted items | Drafts | Notes | Other folders | Outbox |
---|---|---|---|---|---|---|---|---|
Display name |
X |
X |
X |
X |
X |
X |
X |
X |
Folder ID |
X |
X |
X |
X |
X |
X |
X |
X |
Subfolder count |
X |
X |
X |
X |
X |
X |
X |
X |
Total count |
X |
X |
X |
X |
X |
X |
X |
|
Unread count |
X |
X |
X |
X |
X |
The following table lists the default properties that are returned for each item type by the FindItem and GetItem EWS operations.
Table 3. Default item properties
Property | Calendar item | Contact item | Message item | Task item |
---|---|---|---|---|
Body |
X(1) |
|||
CalendarItemType |
x | |||
CompanyName |
x |
|||
CompleteName |
x |
|||
DateTimeCreated |
x |
|||
DateTimeSent |
x |
|||
DueDate |
x(2) |
|||
EmailAddresses |
x |
|||
End |
x |
|||
FileAs |
x |
|||
From |
x |
|||
HasAttachments |
x |
x |
x |
x |
ImAddresses |
x |
|||
IsAssociated |
x |
x |
||
IsDeliveryReceiptRequested |
x |
|||
ItemId |
x |
x |
x |
x |
JobTitle |
x |
|||
LegacyFreeBusyStatus |
x |
|||
Location |
x |
|||
Organizer |
x |
|||
PercentComplete |
x |
|||
PhoneNumbers |
x |
|||
PhysicalAddresses |
x |
|||
ResponseObjects |
x(1) |
x(1) |
||
Sensitity |
x |
|||
Size |
x |
|||
StartDate |
x(2) |
|||
Status |
x |
|||
Subject |
x |
x |
x |
Notes:
Included in the response from the GetItem operation. Not included in the response from the FindItem operation.
Only included in the response if the field contains data. Not included in the response if the field is blank.
All properties set and response shape
The following table lists the first-class properties that are returned by calling the EWS Managed API Item.Bind and Item.FindItems EWS Managed API methods, and the "all properties" response shape returned by the FindItem and GetItem EWS operations.
You can add additional properties to the property set or include extended properties. For details, see Properties and extended properties in EWS in Exchange.
Table 4. First-class properties
Property |
Calendar item |
Contact item |
Message item |
Post item |
Task item |
---|---|---|---|---|---|
ActualWork |
x |
||||
AdjacentMeetingCount |
x |
||||
AdjacentMeetings |
x |
||||
Alias |
x |
||||
AllowNewTimeProposal |
x |
||||
AppointmentReplyTime |
x |
||||
AppointmentSequenceNumber |
x |
||||
AppointmentState |
x |
||||
AssignedTime |
x |
||||
AssistantName |
x |
||||
BccRecipients |
x |
||||
BillingInformation |
x |
||||
Body |
x(1) |
x(1) |
x(1) |
x(1) |
|
BusinessHomePage |
x |
x |
|||
CalendarItemType |
x |
||||
Categories |
x |
x |
x |
x |
|
CcRecipients |
x |
||||
ChangeCount |
x |
||||
Children |
x |
||||
Companies |
x |
||||
CompleteDate |
x |
||||
CompleteName |
x |
||||
ConferenceType |
x |
||||
ConflictingMeetingCount |
x |
||||
ConflictingMeetings |
x |
||||
Contacts |
x |
||||
ContactSource |
x |
||||
ConversationId |
x |
x |
x |
x |
x |
ConversationIndex |
x |
x |
|||
ConversationTopic |
x |
x |
|||
Culture |
x |
x |
x |
x |
x |
DateTimeCreated |
x |
x |
x |
x |
x |
DateTimeReceived |
x |
x |
x |
x |
x |
DateTimeSent |
x |
x |
x |
x |
x |
DateTimeStamp |
x |
||||
DelegationState |
x |
||||
Delegator |
x |
||||
DeletedOccurrences |
x |
||||
Department |
x |
||||
DirectoryId |
x |
||||
DirectReports |
x |
||||
DisplayCc |
x |
x |
x |
x |
x |
DisplayName |
x |
||||
DisplayTo |
x |
x |
x |
x |
x |
DueDate |
x |
||||
Duration |
x |
||||
EffectiveRights |
x |
x |
x |
x |
x |
EmailAddresses |
x |
||||
End |
x |
||||
EndTimeZone |
x |
||||
FileAs |
x |
||||
FileAsMapping |
x |
||||
FirstOccurrence |
x |
||||
From |
x |
x |
|||
Generation |
x |
||||
GivenName |
x |
||||
HasAttachments |
x |
x |
x |
x |
x |
HasPicture |
x |
||||
ImAddresses |
x |
||||
Importance |
x |
x |
x |
x |
x |
Initials |
x |
||||
InReplyTo |
x |
x |
x |
x |
x |
InternetMessageId |
x |
x |
|||
InternetMessageHeaders |
x |
x |
x |
x |
x |
IsAllDayEvent |
x |
||||
IsAssociated |
x |
x |
x |
x |
x |
IsCancelled |
x |
||||
IsComplete |
x |
||||
IsDeliveryReceiptRequested |
x |
||||
IsDraft |
x |
x |
x |
x |
x |
IsFromMe |
x |
x |
x |
x |
x |
IsMeeting |
x |
||||
IsOnlineMeeting |
x |
||||
IsRead |
x |
||||
IsReadReceiptRequested |
x |
||||
IsRecurring |
x |
x |
|||
IsResend |
x |
x |
x |
x |
x |
IsResponseRequested |
x |
x |
|||
IsSubmitted |
x |
x |
x |
x |
x |
IsUnmodified |
x |
x |
x |
x |
x |
ItemClass |
x |
x |
x |
x |
x |
ItemId |
x |
x |
x |
x |
x |
JobTitle |
x |
||||
LastModifiedName |
x |
x |
x |
x |
x |
LastModifiedTime |
x |
x |
x |
x |
x |
LastOccurrance |
x |
||||
LegacyFreeBusyStatus |
x |
||||
Location |
x |
||||
Manager |
x |
||||
MeetingRequestWasSent |
x |
||||
MeetingTimeZone |
x |
||||
MeetingWorkspaceUrl |
x |
||||
MiddleName |
x |
||||
Mileage |
x |
x |
|||
ModifiedOccurrances |
x |
||||
MyResponseType |
x |
||||
NetShowUrl |
x |
||||
NickName |
x |
||||
Notes |
x |
||||
OfficeLocation |
x |
||||
OptionalAttendees |
x |
||||
Organizer |
x |
||||
OriginalStart |
x |
||||
Owner |
x |
||||
ParentFolderId |
x |
x |
x |
x |
x |
PercentComplete |
x |
||||
PhoneNumbers |
x |
||||
PhoneticFirstName |
x |
||||
PhoneticFullName |
x |
||||
PhoneticLastName |
x |
||||
Photo |
x |
||||
PhysicalAddresses |
x |
||||
PostalAddressIndex |
x |
||||
PostedTime |
x |
||||
Profession |
x |
||||
ReceivedBy |
x |
||||
ReceivedRepresenting |
x |
||||
Reccurrence |
x |
x |
|||
References |
x |
x |
|||
ReminderDueBy |
x |
x |
x |
x |
x |
ReminderIsSet |
x |
x |
x |
x |
x |
ReminderMinutesBeforeStart |
x |
x |
x |
x |
x |
ReplyTo |
x |
||||
RequiredAttendees |
x |
||||
Resources |
x |
||||
ResponseObjects |
x(1) |
x(1) |
x(1) |
x(1) |
x(1) |
Sender |
x |
x |
|||
Sensitivity |
x |
x |
x |
x |
x |
Size |
x |
x |
x |
x |
x |
SpouseName |
x |
||||
Start |
x |
||||
StartDate |
x |
||||
StartTimeZone |
x |
||||
Status |
x |
||||
StatusDescription |
x |
||||
Subject |
x |
x |
x |
x |
|
Surname |
x |
||||
TimeZone |
x |
||||
ToRecipients |
x |
||||
TotalWork |
x |
||||
WebClientEditFormQueryString |
x |
x |
x |
x |
x |
WebClientReadFormQueryString |
x |
x |
x |
x |
x |
Notes:
- Included when binding to an item and in the response from the GetItem operation. Not included in the result of the Item.FindItems method or the response from the FindItem operation.