title | description | ms.localizationpriority | author | ms.subservice | doc_type |
---|---|---|---|---|---|
Create single-value extended property |
Create one or more single-value extended properties in a new or existing instance of a resource. |
medium |
SuryaLashmiS |
non-product-specific |
apiPageType |
Namespace: microsoft.graph
Create one or more single-value extended properties in a new or existing instance of a resource.
The following user resources are supported:
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.
[!INCLUDE national-cloud-support]
Depending on the resource you're creating the extended property in 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.ReadWrite | Calendars.ReadWrite | Calendars.ReadWrite |
contact | Contacts.ReadWrite | Contacts.ReadWrite | Contacts.ReadWrite |
contactFolder | Contacts.ReadWrite | Contacts.ReadWrite | Contacts.ReadWrite |
event | Calendars.ReadWrite | Calendars.ReadWrite | Calendars.ReadWrite |
group calendar | Group.ReadWrite.All | Not supported | Not supported |
group event | Group.ReadWrite.All | Not supported | Not supported |
group post | Group.ReadWrite.All | Not supported | Not supported |
mailFolder | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
message | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
You can create extended properties in a new or existing resource instance.
To create one or more extended properties in a new resource instance, use the same REST request as creating the instance, and include the properties of the new resource instance and extended property in the request body. Some resources support creation in more than one way. For more information on creating these resource instances, see the corresponding articles for creating a message, mailFolder, event, calendar, contact, contactFolder, group event, and group post.
The following is the syntax of the requests.
POST /me/messages
POST /users/{id|userPrincipalName}/messages
POST /me/mailFolders/{id}/messages
POST /me/mailFolders
POST /users/{id|userPrincipalName}/mailFolders
POST /me/events
POST /users/{id|userPrincipalName}/events
POST /me/calendars
POST /users/{id|userPrincipalName}/calendars
POST /me/contacts
POST /users/{id|userPrincipalName}/contacts
POST /me/contactFolders
POST /users/{id|userPrincipalName}/contactFolders
POST /groups/{id}/events
POST /groups/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/threads/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/reply
POST /groups/{id}/threads
POST /groups/{id}/conversations
To create one or more extended properties in an existing resource instance, specify the instance in the request, and include the extended property in the request body.
Note You can't create an extended property in an existing group post.
PATCH /me/messages/{id}
PATCH /users/{id|userPrincipalName}/messages/{id}
PATCH /me/mailFolders/{id}/messages/{id}
PATCH /me/mailFolders/{id}
PATCH /users/{id|userPrincipalName}/mailFolders/{id}
PATCH /me/events/{id}
PATCH /users/{id|userPrincipalName}/events/{id}
PATCH /me/calendars/{id}
PATCH /users/{id|userPrincipalName}/calendars/{id}
PATCH /me/contacts/{id}
PATCH /users/{id|userPrincipalName}/contacts/{id}
PATCH /me/contactFolders/{id}
PATCH /users/{id|userPrincipalName}/contactFolders/{id}
PATCH /groups/{id}/events/{id}
Name | Value |
---|---|
Authorization | Bearer {token}. Required. Learn more about authentication and authorization. |
Content-Type | application/json |
Provide a JSON body of each singleValueLegacyExtendedProperty object in the singleValueExtendedProperties collection property of the resource instance.
Property | Type | Description |
---|---|---|
singleValueExtendedProperties | singleValueLegacyExtendedProperty collection | An array of one or more single-valued extended properties. |
id | String | For each property in the singleValueExtendedProperties collection, specify this to identify the property. It must follow one of the supported formats. See Outlook extended properties overview for more information. Required. |
value | string | For each property in the singleValueExtendedProperties collection, specify the property value. Required. |
When creating an extended property in a new resource instance, in addition to the new singleValueExtendedProperties collection, provide a JSON representation of that resource instance (that is, a message, mailFolder, event, etc.)
An operation successful in creating an extended property in a new resource instance returns 201 Created
, except in a new group post,
depending on the method used, the operation can return 200 OK
or 202 Accepted
.
In an existing resource instance, a successful create operation returns 200 OK
.
When creating an extended property, the response includes only the new or existing instance but not the new extended property. To see the newly created extended property, get the instance expanded with the extended property.
When creating an extended property in a new group post by replying to a thread or post, the response includes only a response code but not the new post nor the extended property.
The first example creates a new event and a single-value extended property in the same POST operation. Apart from the properties you'd normally include for a new event, the request body includes the singleValueExtendedProperties collection that contains one single-value extended property, and the following for the property:
- id specifies the property type as
String
, the GUID, and the property namedFun
. - value specifies
Food
as the value of theFun
property.
POST https://graph.microsoft.com/v1.0/me/events
Content-Type: application/json
{
"subject": "Celebrate Thanksgiving",
"body": {
"contentType": "HTML",
"content": "Let's get together!"
},
"start": {
"dateTime": "2015-11-26T18:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2015-11-26T23:00:00",
"timeZone": "Pacific Standard Time"
},
"attendees": [
{
"emailAddress": {
"address": "Terrie@contoso.com",
"name": "Terrie Barrera"
},
"type": "Required"
}
],
"singleValueExtendedProperties": [
{
"id":"String {66f5a359-4659-4830-9070-00040ec6ac6e} Name Fun",
"value":"Food"
}
]
}
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
A successful response is indicated by an HTTP 201 Created
response code, and includes the new event in the response body, similar to the response from creating just an event. The response doesn't include any newly created extended properties.
To see the newly created extended property, get the event expanded with the extended property.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('c71-86a-a0-92-906ba')/events/$entity",
"@odata.etag": "W/\"oBeN/g==\"",
"id": "AAMkADI4Yzc5AABVNeEhAAA=",
"createdDateTime": "2023-06-26T15:46:00.9307807Z",
"lastModifiedDateTime": "2023-06-26T15:46:02.0775731Z",
"changeKey": "oBEEg==",
"categories": [],
"transactionId": null,
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"iCalUId": "04049ACBF84A7AC7CB34D",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "Celebrate Thanksgiving",
"bodyPreview": "Let's get together!",
"importance": "normal",
"sensitivity": "normal",
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"webLink": "https://outlook.office365.com/owa/?itemid=AAMkAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl": null,
"isOnlineMeeting": false,
"onlineMeetingProvider": "unknown",
"allowNewTimeProposals": true,
"occurrenceId": null,
"isDraft": false,
"hideAttendees": false,
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"body": {
"contentType": "html",
"content": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>Let's get together!</body></html>"
},
"start": {
"dateTime": "2015-11-26T18:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2015-11-26T23:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"location": {
"displayName": "",
"locationType": "default",
"uniqueIdType": "unknown",
"address": {},
"coordinates": {}
},
"locations": [],
"recurrence": null,
"attendees": [
{
"type": "required",
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"emailAddress": {
"name": "Terrie Barrera",
"address": "Terrie@contoso.com"
}
}
],
"organizer": {
"emailAddress": {
"name": "MOD Administrator",
"address": "admin@contoso.com"
}
},
"onlineMeeting": null
}
The second example creates one single-value extended property for the specified existing message. That extended property is the only element in the singleValueExtendedProperties array. The request body includes the following for the extended property:
- id specifies the property type as
String
, the GUID, and the property namedColor
. - value specifies
Green
as the value of theColor
property.
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2_bs88AACHsLqWAAA=
Content-Type: application/json
{
"singleValueExtendedProperties": [
{
"id":"String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
"value":"Green"
}
]
}
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
A successful response is indicated by an HTTP 200 OK
response code, and includes the specified message in the response body, similar to the response from updating a message. The response doesn't include the newly created extended property.
To see the newly created extended property, get the message expanded with the extended property.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('3cc-ad3-4b9-9a-54')/messages/$entity",
"@odata.etag": "W/\"CQAAABTiMty\"",
"id": "AAMkADQzZ1NzItKbS4P8E6VEAAA3LwToAAA=",
"createdDateTime": "2023-05-12T15:55:56Z",
"lastModifiedDateTime": "2023-06-23T17:45:43Z",
"changeKey": "CQAAAAABTiMty",
"categories": [],
"receivedDateTime": "2023-05-12T15:55:57Z",
"sentDateTime": "2023-05-12T15:55:48Z",
"hasAttachments": false,
"internetMessageId": "<odspmicro-PlannerDueDate-06c7f00e-6b5f793846-DispatchToRecipients-PreprocessPayload-r0-SendEmail@59C185B>",
"subject": "You have upcoming tasks due",
"bodyPreview": "Hi Alex. You have 2 tasks due. You have upcoming tasksSubmit your expensesIn the plan Event Plan 5/19/2023Due in 7 daysSubmit your expensesIn the plan Event Plan 5/19/2023Due in 7 daysView tasks in Microsoft To ",
"importance": "normal",
"parentFolderId": "AQMkc0BAIptLg-wTpUQAAAIBDAAAAA==",
"conversationId": "AAQkADQzZmJLgzlRSFD0=",
"conversationIndex": "AQHIUPQ==",
"isDeliveryReceiptRequested": null,
"isReadReceiptRequested": false,
"isRead": false,
"isDraft": false,
"webLink": "https://outlook.office365.com/owa/?ItemID=AAP8E6vsurl=1&viewmodel=ReadMessageItem",
"inferenceClassification": "focused",
"body": {
"contentType": "html",
"content": "<html aria-hidden=\"true\" role=\"presentation\" height=\"1\" width=\"1\"></html>"
},
"sender": {
"emailAddress": {
"name": "Microsoft on behalf of your organization",
"address": "noreply@planner.office365.com"
}
},
"from": {
"emailAddress": {
"name": "Microsoft on behalf of your organization",
"address": "noreply@planner.office365.com"
}
},
"toRecipients": [
{
"emailAddress": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
}
],
"ccRecipients": [],
"bccRecipients": [],
"replyTo": [],
"flag": {
"flagStatus": "notFlagged"
}
}