Skip to content

Commit 16f8711

Browse files
authored
Merge branch 'main' into Danielabom-patch-4
2 parents 1cda222 + e77788a commit 16f8711

File tree

8 files changed

+163
-1
lines changed

8 files changed

+163
-1
lines changed

api-reference/beta/api/copilotadminlimitedmode-get.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ Choose the permission or permissions marked as least privileged for this API. Us
2727
"name": "copilotadminlimitedmode-get-permissions"
2828
}
2929
-->
30-
> **Note:** Global admin or Global reader permission is required to call this API.
3130

3231
<!-- { "blockType": "permissions", "name": "copilotadminlimitedmode_get" } -->
3332
[!INCLUDE [permissions-table](../includes/permissions/copilotadminlimitedmode-get-permissions.md)]
3433

34+
> [!IMPORTANT]
35+
> Global Reader is the least privileged [administrator role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) supported for this operation.
3536
3637
## HTTP request
3738

api-reference/beta/resources/identifierurirestriction.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Configuration object to configure a restriction for identifier URIs on applicati
2424
| excludeSaml | Boolean | If `true`, the restriction isn't enforced for SAML applications in Microsoft Entra ID; else, the restriction is enforced for those applications.|
2525
| restrictForAppsCreatedAfterDateTime | String | Specifies the date from which the policy restriction applies to newly created applications. For existing applications, the enforcement date can be retroactively applied.|
2626
| state | appManagementRestrictionState | String value that indicates if the restriction is evaluated. The possible values are: `enabled`, `disabled`, and `unknownFutureValue`. If `enabled`, the restriction is evaluated. If `disabled`, the restriction isn't evaluated or enforced.|
27+
| isStateSetByMicrosoft | Boolean | If `true`, Microsoft sets the `identifierUriRestriction` state. If `false`, the tenant modifies the `identifierUriRestriction` state. Read-only.|
2728

2829
## Relationships
2930
None.
@@ -39,6 +40,7 @@ The following JSON representation shows the resource type.
3940
{
4041
"@odata.type": "#microsoft.graph.identifierUriRestriction",
4142
"state": "String",
43+
"isStateSetByMicrosoft": "Boolean",
4244
"restrictForAppsCreatedAfterDateTime": "String (timestamp)",
4345
"excludeAppsReceivingV2Tokens": "Boolean",
4446
"excludeSaml": "Boolean",

api-reference/beta/resources/signin.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ The [Microsoft Entra data retention policies](/azure/active-directory/reports-mo
3434
|appDisplayName|String|The application name displayed in the Microsoft Entra admin center. <br/><br/> Supports `$filter` (`eq`, `startsWith`).|
3535
|appId|String|The application identifier in Microsoft Entra ID. <br/><br/> Supports `$filter` (`eq`).|
3636
|appliedConditionalAccessPolicies|[appliedConditionalAccessPolicy](appliedconditionalaccesspolicy.md) collection|A list of conditional access policies that the corresponding sign-in activity triggers. Apps need more Conditional Access-related privileges to read the details of this property. For more information, see [Permissions for viewing applied conditional access (CA) policies in sign-ins](../api/signin-list.md#permissions).|
37+
|appOwnerTenantId|String|The identifier of the tenant that owns the client application. <br/><br/> Supports `$filter` (`eq`).|
3738
|appliedEventListeners|[appliedAuthenticationEventListener](../resources/appliedauthenticationeventlistener.md) collection|Detailed information about the listeners, such as Azure Logic Apps and Azure Functions, which the corresponding events in the sign-in event triggered.|
3839
|appTokenProtectionStatus|tokenProtectionStatus|Token protection creates a cryptographically secure tie between the token and the device it's issued to. This field indicates whether the app token was bound to the device.|
3940
|authenticationAppDeviceDetails|[authenticationAppDeviceDetails](../resources/authenticationappdevicedetails.md)|Provides details about the app and device used during a Microsoft Entra authentication step.|
@@ -76,6 +77,7 @@ The [Microsoft Entra data retention policies](/azure/active-directory/reports-mo
7677
|processingTimeInMilliseconds|Int|The request processing time in milliseconds in AD STS.|
7778
|resourceDisplayName|String|The name of the resource that the user signed in to. <br/><br/> Supports `$filter` (`eq`).|
7879
|resourceId|String|The identifier of the resource that the user signed in to. <br/><br/> Supports `$filter` (`eq`).|
80+
|resourceOwnerTenantId|String|The identifier of the owner of the resource. <br/><br/> Supports `$filter` (`eq`).|
7981
|resourceServicePrincipalId|String|The identifier of the service principal representing the target resource in the sign-in event.|
8082
|resourceTenantId|String|The tenant identifier of the resource referenced in the sign in.|
8183
|riskDetail|riskDetail|The reason behind a specific state of a risky user, sign-in, or a risk event. The possible values are `none`, `adminGeneratedTemporaryPassword`, `userPerformedSecuredPasswordChange`, `userPerformedSecuredPasswordReset`, `adminConfirmedSigninSafe`, `aiConfirmedSigninSafe`, `userPassedMFADrivenByRiskBasedPolicy`, `adminDismissedAllRiskForUser`, `adminConfirmedSigninCompromised`, `hidden`, `adminConfirmedUserCompromised`, `unknownFutureValue`, `adminConfirmedServicePrincipalCompromised`, `adminDismissedAllRiskForServicePrincipal`, `m365DAdminDismissedDetection`, `userChangedPasswordOnPremises`, `adminDismissedRiskForSignIn`, `adminConfirmedAccountSafe`. Use the `Prefer: include-unknown-enum-members` request header to get the following value or values in this [evolvable enum](/graph/best-practices-concept#handling-future-members-in-evolvable-enumerations): `adminConfirmedServicePrincipalCompromised`, `adminDismissedAllRiskForServicePrincipal`, `m365DAdminDismissedDetection`, `userChangedPasswordOnPremises`, `adminDismissedRiskForSignIn`, `adminConfirmedAccountSafe`.The value `none` means that Microsoft Entra risk detection hasn't flagged the user or the sign-in as a risky event so far. <br/><br/> Supports `$filter` (`eq`).<br> **Note:** Details for this property are only available for Microsoft Entra ID P2 customers. All other customers are returned `hidden`.|
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
---
2+
title: "Working with calendars and events using the Microsoft Graph API"
3+
description: "Learn how to manage calendars and events with the Calendar API in Microsoft Graph."
4+
ms.localizationpriority: high
5+
author: "mnorman-ms"
6+
doc_type: conceptualPageType
7+
ms.subservice: "outlook"
8+
ms.date: 01/06/2025
9+
---
10+
11+
# Working with calendars and events using the Microsoft Graph API
12+
13+
The Microsoft Graph Calendar API provides [calendar](./calendar.md), [calendarGroup](./calendargroup.md), [event](./event.md), and other resources that enable you to create events and meetings, find workable meeting times, manage attendees, and more. With the Calendar API, you can build a variety of experiences with calendar data.
14+
15+
## Manage events and meetings
16+
The [event](./event.md) type represents a scheduled occurrence on a calendar, such as a meeting, holiday, or time block. Meetings, such as team meetings or one-on-ones, are all represented by **event** resources. You can directly manage the event lifecycle by creating, canceling, and deleting events directly, among other actions. Also, you can create draft event messages, send them, forward them, and create draft replies, and more. By working with event messages, you enable the user to take an active role in creating events and meetings. You also enable them to communicate to meeting originators, other recipients, and attendees.
17+
18+
### Working directly with events
19+
The Microsoft Graph API provides methods for operations such as creating, updating, deleting, and canceling events. The following table lists some common lifecycle event use cases and the APIs that Microsoft Graph provides for working with them.
20+
21+
| Use case | Verb | Example URL |
22+
|:---------|:-----|:----|
23+
| [Create an event.](../api/user-post-events.md) | POST | /users/{id \| userPrincipalName}/events |
24+
| [Delete an event from a calendar.](../api/event-delete.md)| DELETE | /users/{id \| userPrincipalName}/events/{id} |
25+
| [Cancel an event and send a cancellation message.](../api/event-cancel.md)<br/>**Note**: Specify the optional cancellation message in the request body. | POST | /users/{id \| userPrincipalName}/events/{id}/cancel |
26+
| [Update an event.](../api/event-update.md)<br/>**Note**: Specify the event details to update in the [request body](../api/event-update.md#request-body). | PATCH | /users/{id \| userPrincipalName}/events/{id} |
27+
| [Accept an event.](../api/event-accept.md) | POST | /users/{id \| userPrincipalName}/events/{id}/accept |
28+
| [Tentatively accept an event.](../api/event-tentativelyaccept.md) | POST | /users/{id \| userPrincipalName}/events/{id}/tentativelyAccept |
29+
| [Decline an event.](../api/event-decline.md) | POST | /users/{id \| userPrincipalName}/events/{id}/decline |
30+
| [Dismiss an event reminder.](../api/event-dismissreminder.md) | POST | /users/{id \| userPrincipalName}/events/{id}/dismissReminder |
31+
| [Snooze an event reminder.](../api/event-snoozereminder.md) | POST | /users/{id \| userPrincipalName}/events/{id}/snoozeReminder |
32+
33+
### Working with event messages
34+
The [eventMessage](./eventmessage.md) resource is an abstract type that represents meeting requests, cancellations, and responses. Responses are generated when the message recipient accepts, tentatively accepts, or declines the request. Handling [eventMessageRequest](./eventmessagerequest.md) and [eventMessageResponse](./eventmessageresponse.md) moves the event through its lifecycle. The messaging APIs in the Calendar API support both MIME and JSON content.
35+
36+
The following table lists some common event message use cases and the APIs for working with them.
37+
38+
| Use case | Verb | Example URL |
39+
|:---------|:-----|:----|
40+
| [Send an existing draft message.](../api/message-send.md) | POST | /users/{id \| userPrincipalName}/messages/{id}/send |
41+
| [Create a draft reply.](../api/message-createreply.md) | POST| /users/{id \| userPrincipalName}/messages/{id}/createReply |
42+
| [Reply to an event message.](../api/message-reply.md) | POST | /users/{id \| userPrincipalName}/messages/{id}/reply |
43+
| [Create a draft reply-all message.](../api/message-createreplyall.md) | POST | /users/{id \| userPrincipalName}/messages/{id}/createReplyAll |
44+
| [Reply to all in an event message.](../api/message-replyall.md) | POST | /users/{id \| userPrincipalName}/messages/{id}/replyAll |
45+
| [Create a draft forward.](../api/message-createforward.md) | POST | /users/{id \| userPrincipalName}/messages/{id}/createForward |
46+
| [Forward an event message.](../api/message-forward.md) | POST | /users/{id \| userPrincipalName}/messages/{id}/forward |
47+
48+
## Adding and removing attachments
49+
The abstract [attachment](./attachment.md) type serves as a base for files, items, and references that are attached to events, messages, and posts. You can view the attachments for an event, for example, with the [List attachments](../api/event-list-attachments.md) method. You can delete an attachment with the [Delete attachment](../api/attachment-delete.md) method. Events in group calendars don't support attachments.
50+
51+
### Attachment types
52+
The [fileAttachment](./fileattachment.md), [itemAttachment](./itemattachment.md), and [referenceAttatchment](./referenceattachment.md) types represent the three kinds of items that can be attached to calendar items. An **itemAttachment** object represents a contact, event, or message that is directly attached to a user event, message, or post. A **fileAttachment** represents a file that is directly attached. A **referenceAttachment** represents an item, such as a Word document or text file, that is located on a OneDrive for work or school cloud drive or other supported storage location. To see all of the attachments for an [event](./event.md), for example, you can use the [GET /users/{id \| userPrincipalName}/events/{id}/attachments](../api/event-list-attachments.md) endpoint.
53+
54+
### Uploading attachments
55+
You can directly upload attachments less than 3 MB in size to an event for a user with the [Add attachment](../api/event-post-attachments.md) method. For an attachment that is larger than 3 MB, however, you must use the [attachment: createUploadSession](../api/attachment-createuploadsession.md) method to get an upload URL that you use to iteratively upload the attachment.
56+
57+
## Work with calendars, calendar groups, and Outlook categories
58+
With the Calendar API, you can create, read, update, and delete calendars, create and view calendar events, get free/busy information for users, and find suggested meeting times.
59+
60+
The Calendar API provides methods to operate on calendars and calendar groups. The following table shows some use cases with selected URLs.
61+
62+
> **Note**: Many of the methods shown in the following table have other URLs for related use cases. For example, to update a user's calendar in a specific calendar group, send a PATCH operation with the URL `/users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}`.
63+
64+
| Use case | Verb | Example URL |
65+
|:---------|:-----|:----|
66+
| [List calendars for a user.](../api/user-list-calendars.md) | GET | /users/{id \| userPrincipalName}/calendars |
67+
| [List a user's calendars in a group.](../api/user-list-calendars.md) | GET | /users/{id \| userPrincipalName}/calendarGroups/{calendarGroupId}/calendars |
68+
| [Create a calendar.](../api/user-post-calendars.md) | POST | /users/{id \| userPrincipalName}/calendars |
69+
| [Get a calendar.](../api/calendar-get.md) | GET | /users/{id \| userPrincipalName}/calendars/{id} |
70+
| [Update a calendar.](../api/calendar-update.md) | PATCH | /users/{id \| userPrincipalName}/calendars/{id} |
71+
| [Delete a calendar.](../api/calendar-delete.md) | DELETE | /users/{id \| userPrincipalName}/calendars/{id} |
72+
| [Create a calendar group.](../api/user-post-calendargroups.md) | POST | /users/{id \| userPrincipalName}/calendarGroups |
73+
| [Get a calendar group.](../api/calendargroup-get.md) | GET | /users/{id \| userPrincipalName}/calendarGroups/{id} |
74+
| [Update a calendar group.](../api/calendargroup-update.md) | PATCH | /users/{id \| userPrincipalName}/calendarGroups/{id} |
75+
| [Delete a calendar group.](../api/calendargroup-delete.md) | DELETE | /users/{id \| userPrincipalName}/calendarGroups/{id} |
76+
77+
### Free/busy data and meeting times
78+
Two of the core functions of calendaring are to find free/busy information and find meeting times in order to schedule meetings. The Calendar API provides the [Get free/busy schedule](../api/calendar-getschedule.md) method that returns a collection of [scheduleInformation](./scheduleinformation.md) objects for a time period and a collection of users, resources, or distribution lists. You can present this information to the user so that they can manually pick an appropriate time at which to schedule a meeting. Use the [user: findMeetingTimes](../api/user-findmeetingtimes.md) method to get a [meetingTimeSuggestionResult](./meetingtimesuggestionsresult.md) that contains a collection of [meetingTimeSuggestion](./meetingtimesuggestion.md) objects that represent detailed information about proposed meeting times for the participants and constraints that you sent.
79+
80+
### Outlook categories
81+
A calendar category is a combination of a description and a **categoryColor** that together define a category for an Outlook item and control how Outlook displays the item. Outlook users can group messages and events, for example, by category. For more information, see [outlookCategory](./outlookcategory.md).
82+
83+
### Calendar permissions
84+
When users share calendars with other users from within Outlook clients, they can control the calendar items that the recipients can view or edit. The [calendarPermissions](../resources/calendar.md#relationships) relationship contains permissions for every user with whom a user shared their calendar. This relationship allows you to, for example, see which users can view free/busy information for the owner, view all calendar information, or edit events on the calendar.
85+
86+
## Work with open extensions and extended properties
87+
[Open extensions](./opentypeextension.md), formerly known as Office 365 data extensions, represent the preferred way to store and access custom data for resources in a user's mailbox. If an Outlook MAPI property isn't available in the Microsoft Graph API metadata, then you can fall back to Outlook extended properties. For more information, see [Outlook extended properties overview](./extended-properties-overview.md).
88+
89+
## Next steps
90+
91+
The Calendar API in Microsoft Graph allows you to build a range of experiences with calendar data. To learn more:
92+
93+
- Drill down on the methods and properties of the resources most helpful to your scenario.
94+
- Try the API in the [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer).

api-reference/v1.0/toc/calendars/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# GENERATED FILE - DO NOT EDIT
33
#
44
items:
5+
- name: Overview
6+
href: ../../resources/calendar-overview.md
57
- name: Calendar
68
items:
79
- name: Calendar

api-reference/v1.0/toc/toc.mapping.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@
182182
"Outlook",
183183
"Outlook calendar"
184184
],
185+
"overview": "../../resources/calendar-overview.md",
185186
"resources": [
186187
"calendar",
187188
"event",

changelog/Microsoft.AAD.Reporting.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,32 @@
7070
"CreatedDateTime": "2024-11-13T17:39:15.5745429Z",
7171
"WorkloadArea": "Reports",
7272
"SubArea": "Identity and access reports"
73+
},
74+
{
75+
"ChangeList": [
76+
{
77+
"Id": "da78f1c6-0bfa-4e22-b2c4-b7bb1af5366d",
78+
"ApiChange": "Property",
79+
"ChangedApiName": "appOwnerTenantId",
80+
"ChangeType": "Addition",
81+
"Description": "Added the **appOwnerTenantId** property to the [signIn](https://learn.microsoft.com/en-us/graph/api/resources/signIn?view=graph-rest-beta) resource.",
82+
"Target": "signIn"
83+
},
84+
{
85+
"Id": "da78f1c6-0bfa-4e22-b2c4-b7bb1af5366d",
86+
"ApiChange": "Property",
87+
"ChangedApiName": "resourceOwnerTenantId",
88+
"ChangeType": "Addition",
89+
"Description": "Added the **resourceOwnerTenantId** property to the [signIn](https://learn.microsoft.com/en-us/graph/api/resources/signIn?view=graph-rest-beta) resource.",
90+
"Target": "signIn"
91+
}
92+
],
93+
"Id": "da78f1c6-0bfa-4e22-b2c4-b7bb1af5366d",
94+
"Cloud": "Prod",
95+
"Version": "beta",
96+
"CreatedDateTime": "2025-01-28T00:39:45.8184996Z",
97+
"WorkloadArea": "Reports",
98+
"SubArea": "Identity and access reports"
7399
},
74100
{
75101
"ChangeList": [

changelog/Microsoft.DirectoryServices.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14047,6 +14047,40 @@
1404714047
"SubArea": "Directory management"
1404814048
},
1404914049
{
14050+
"ChangeList": [
14051+
{
14052+
"Id": "e5bc94bb-0909-4bab-95aa-3e90e117a7cc",
14053+
"ApiChange": "Property",
14054+
"ChangedApiName": "isStateSetByMicrosoft",
14055+
"ChangeType": "Addition",
14056+
"Description": "Added the **isStateSetByMicrosoft** property to the [identifierUriRestriction](https://learn.microsoft.com/en-us/graph/api/resources/identifierUriRestriction?view=graph-rest-beta) resource.",
14057+
"Target": "identifierUriRestriction"
14058+
},
14059+
{
14060+
"Id": "e5bc94bb-0909-4bab-95aa-3e90e117a7cc",
14061+
"ApiChange": "Property",
14062+
"ChangedApiName": "isStateSetByMicrosoft",
14063+
"ChangeType": "Addition",
14064+
"Description": "Added the **isStateSetByMicrosoft** property to the [keyCredentialConfiguration](https://learn.microsoft.com/en-us/graph/api/resources/keyCredentialConfiguration?view=graph-rest-beta) resource.",
14065+
"Target": "keyCredentialConfiguration"
14066+
},
14067+
{
14068+
"Id": "e5bc94bb-0909-4bab-95aa-3e90e117a7cc",
14069+
"ApiChange": "Property",
14070+
"ChangedApiName": "isStateSetByMicrosoft",
14071+
"ChangeType": "Addition",
14072+
"Description": "Added the **isStateSetByMicrosoft** property to the [passwordCredentialConfiguration](https://learn.microsoft.com/en-us/graph/api/resources/passwordCredentialConfiguration?view=graph-rest-beta) resource.",
14073+
"Target": "passwordCredentialConfiguration"
14074+
}
14075+
],
14076+
"Id": "e5bc94bb-0909-4bab-95aa-3e90e117a7cc",
14077+
"Cloud": "Review",
14078+
"Version": "beta",
14079+
"CreatedDateTime": "2024-12-13T19:46:07.288016Z",
14080+
"WorkloadArea": "Identity and access",
14081+
"SubArea": "Directory management"
14082+
},
14083+
{
1405014084
"ChangeList": [
1405114085
{
1405214086
"Id": "8cd03a79-71de-467d-bd73-0b3449a28bfc",

0 commit comments

Comments
 (0)