Get multiValueLegacyExtendedProperty

Namespace: microsoft.graph

Get a resource instance that contains a multi-value extended property by using $expand.

Using the query parameter $expand allows you to get the specified instance expanded with the indicated extended property. This is currently the only way to get the multiValueLegacyExtendedProperty object that represents an extended property.

The following user resources are supported:

As well as the following group resources:

See Extended properties overview for more information about when to use open extensions or extended properties, and how to specify extended properties.


Depending on the resource you're getting the extended property from and the permission type (delegated or application) you request, the permission specified in the following table is the minimum required to call this API. To learn more, including how to choose permissions, see Permissions.

Supported resource Delegated (work or school account) Delegated (personal Microsoft account) Application
calendar Calendars.Read Calendars.Read Calendars.Read
contact Contacts.Read Contacts.Read Contacts.Read
contactFolder Contacts.Read Contacts.Read Contacts.Read
event Calendars.Read Calendars.Read Calendars.Read
group calendar Group.Read.All Not supported Not supported
group event Group.Read.All Not supported Not supported
group post Group.Read.All Not supported Group.Read.All
mailFolder Mail.Read Mail.Read Mail.Read
message Mail.Read Mail.Read Mail.Read

HTTP request

Get a resource instance expanded with the extended property which matches a filter on the id property. Make sure you apply URL encoding to the space characters in the filter string.

Get a message instance:

GET /me/messages/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/messages/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /me/mailFolders/{id}/messages/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Get a mailFolder instance:

GET /me/mailFolders/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/mailFolders/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Get an event instance:

GET /me/events/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/events/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Get a calendar instance:

GET /me/calendars/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/calendars/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Get a contact instance:

GET /me/contacts/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contacts/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /me/contactFolders/{id}/contacts/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}/contacts/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Get a contactFolder instance:

GET /me/contactfolders/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Get a group event instance:

GET /groups/{id}/events/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Get a group post instance:

GET /groups/{id}/threads/{id}/posts/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}?$expand=multiValueExtendedProperties($filter=id eq '{id_value}')

Path parameters

Parameter Type Description
id_value String The ID of the extended property to match. It must follow one of the supported formats. See Outlook extended properties overview for more information. Required.

Request headers

Name Description
Authorization Bearer {token}. Required.

Request body

Do not supply a request body for this method.


If successful, this method returns a 200 OK response code.

The response body includes an object representing the requested resource instance, expanded with the matching multiValueLegacyExtendedProperty object.



This example gets and expands the specified event by including a multi-value extended property. The filter returns the extended property that has its id matching the string StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation (with URL encoding removed here for ease of reading).


The response body includes all the properties of the specified event and extended property returned from the filter.

Note: The event object shown here is truncated for brevity. All of the properties will be returned from an actual call.

HTTP/1.1 200 OK
Content-type: application/json
    "@odata.context": "$metadata#Me/events/$entity",
    "": "'ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/events('AAMkAGE1M2_bs88AACbuFiiAAA=')",
    "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAm8k15A==\"",
    "id": "AAMkAGE1M2_bs88AACbuFiiAAA=",
    "start": {
        "dateTime": "2015-11-26T17:00:00.0000000",
        "timeZone": "UTC"
    "end": {
        "dateTime": "2015-11-30T05:00:00.0000000",
        "timeZone": "UTC"
    "organizer": {
        "emailAddress": {
            "name": "Christine Irwin",
            "address": ""
    "multiValueExtendedProperties": [
            "id": "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
            "value": [