Public mode

No access to your tenant or devices. Every item links to its source. What this means

Some sources or documents need attention: 258/260 feeds/APIs · 416/439 docs · checked 22:55 UTC Customize Public modeDiscuss ChangeIntel on Discord

Microsoft's edit ·

Delete known-issues.md

Microsoft's commit message in microsoftgraph/microsoft-graph-docs-contrib · commit b40901d · +0 −504 lines · also on GitHub

This commit removed or moved the file.

1 −---
2 −title: "Known issues with Microsoft Graph"
3 −description: "This article describes known issues and limitations with Microsoft Graph and provides workarounds when possible."
4 −author: "MSGraphDocsVTeam"
5 −ms.localizationpriority: high
6 −ms.custom: has-azure-ad-ps-ref
7 −---
8 −
9 −# Known issues with Microsoft Graph
10 −
11 −This article describes known issues with Microsoft Graph.
12 −
13 −To report a known issue, see the [Microsoft Graph support](https://developer.microsoft.com/graph/support) page.
14 −
15 −For information about the latest updates to the Microsoft Graph API, see the [Microsoft Graph changelog](changelog.md).
16 −
17 −## Applications
18 −
19 −### Some limitations apply to the application and servicePrincipal resources
20 −
21 −Changes to the [application](/graph/api/resources/application) and [servicePrincipal](/graph/api/resources/serviceprincipal) resources are currently in development. Here's a summary of current limitations and in-development API features.
22 −
23 −Current limitations:
24 −
25 −- Some application properties (such as appRoles and addIns) won't be available until all changes are completed.
26 −- Only multitenant apps can be registered.
27 −- Updating apps is restricted to apps registered after the initial beta update.
28 −- Microsoft Entra users can register apps and add additional owners.
29 −- Support for OpenID Connect and OAuth protocols.
30 −- Policy assignments to an application fail.
31 −- Operations on ownedObjects that require appId fail (For example, users/{id|userPrincipalName}/ownedObjects/{id}/...).
32 −
33 −In development:
34 −
35 −- Ability to register single tenant apps.
36 −- Updates to servicePrincipal.
37 −- Migration of existing Microsoft Entra apps to updated model.
38 −- Support for appRoles, pre-authorized clients, optional claims, group membership claims, and branding
39 −- Microsoft account (MSA) users can register apps.
40 −
41 −### Azure AD v2.0 endpoint is not supported for CSP apps
42 −
43 −Cloud solution provider (CSP) apps must acquire tokens from the Microsoft identity platform (v1) endpoints to successfully call Microsoft Graph in their partner-managed customers. Currently, acquiring a token through the newer Azure AD v2.0 endpoint is not supported.
44 −
45 −### Pre-consent for CSP apps doesn't work in some customer tenants
46 −
47 −Under certain circumstances, pre-consent for cloud solution provider (CSP) apps might not work for some of your customer tenants.
48 −
49 −- For apps using delegated permissions, when using the app for the first time with a new customer tenant, you might receive this error after sign-in: `AADSTS50000: There was an error issuing a token`.
50 −- For apps using application permissions, your app can acquire a token, but unexpectedly gets an access denied message when calling Microsoft Graph.
51 −
52 −We are working to fix this issue as soon as possible, so that pre-consent will work for all your customer tenants.
53 −
54 −In the meantime, to unblock development and testing, you can use the following workaround.
55 −
56 −> [!NOTE]
57 −> This is not a permanent solution and is only intended to unblock development. This workaround will not be required after the issue is fixed. This workaround does not need to be undone after the fix is in place.
58 −
59 −1. Open an Azure AD v2 PowerShell session and connect to your `customer` tenant by entering your admin credentials into the sign-in window. You can download and install Azure AD PowerShell V2 from [here](https://www.powershellgallery.com/packages/AzureAD).
60 −
61 − ```PowerShell
62 − Connect-AzureAd -TenantId {customerTenantIdOrDomainName}
63 − ```
64 −
65 −2. Create the Microsoft Graph service principal.
66 −
67 − ```PowerShell
68 − New-AzureADServicePrincipal -AppId 00000003-0000-0000-c000-000000000000
69 − ```
70 −
71 −
72 −## Calendar
73 −
74 −### Error accessing a shared calendar
75 −
76 −When attempting to access events in a calendar that has been shared by another user using the following operation:
77 −
78 −```http
79 −GET /users/{id}/calendars/{id}/events
80 −```
81 −
82 −You may get HTTP 500 with the error code `ErrorInternalServerTransientError`. The error occurs because:
83 −
84 −- Historically, there are two ways that calendar sharing has been implemented, which, for differentiating them,
85 −are referred to as the "old" approach and "new" approach.
86 −- The new approach is currently available for sharing calendars with view or edit permissions, but not with delegate permissions.
87 −- You can use the calendar REST API to view or edit shared calendars only if the calendars were shared using the **new** approach.
88 −- You can't use the calendar REST API to view or edit such calendars (or their events) if the calendars were shared using the **old** approach.
89 −
90 −If a calendar was shared with view or edit permissions but using the old approach, you can now work around the error and manually upgrade the calendar sharing to use the new approach.
91 −Over time, Outlook will automatically upgrade all shared calendars to use the new approach, including calendars shared with delegate permissions.
92 −
93 −To manually upgrade a shared calendar to use the new approach, follow these steps:
94 −
95 −1. The recipient removes the calendar that was previously shared to them.
96 −2. The calendar owner re-shares the calendar in Outlook on the web, Outlook on iOS, or Outlook on Android.
97 −3. The recipient re-accepts the shared calendar using Outlook on the web. (It is possible to use other Outlook clients soon.)
98 −4. The recipient verifies that the calendar has been re-shared successfully using the new approach by being able to view the shared calendar in Outlook on iOS or Outlook on Android.
99 −
100 −A calendar shared with you in the new approach appears as just another calendar in your mailbox. You can use the calendar REST API to view or edit
101 −events in the shared calendar, as if it's your own calendar. As an example:
102 −
103 −```http
104 −GET /me/calendars/{id}/events
105 −```
106 −
107 −### Partial support for adding and accessing ICS-based calendars in user's mailbox
108 −
109 −Currently, calendars based on an Internet Calendar Subscription (ICS) are only partially supported:
110 −
111 −- You can add an ICS-based calendar to a user mailbox through the UI, but not through the Microsoft Graph API.
112 −- [Listing the user's calendars](/graph/api/user-list-calendars) lets you get the **name**, **color** and **id** properties of each [calendar](/graph/api/resources/calendar) in the user's default calendar group, or a specified calendar group, including any ICS-based calendars. You can't store or access the ICS URL in the calendar resource.
113 −- You can also [list the events](/graph/api/calendar-list-events) of an ICS-based calendar.
114 −
115 −### Error attaching large files to events
116 −
117 −An app with delegated permissions returns `HTTP 403 Forbidden` when attempting to [attach large files](outlook-large-attachments.md) to an Outlook message or event that is in a shared or delegated mailbox. With delegated permissions, [createUploadSession](/graph/api/attachment-createuploadsession) succeeds only if the message or event is in the signed-in user's mailbox.
118 −
119 −### onlineMeetingUrl property isn't supported for Microsoft Teams
120 −
121 −Currently, the **onlineMeetingUrl** property of a Skype meeting [event](/graph/api/resources/event) would indicate the online meeting URL. However, that property for a Microsoft Teams meeting event is set to null.
122 −
123 −The beta version offers a workaround, where you can use the **onlineMeetingProvider** property of an [event](/graph/api/resources/event?view=graph-rest-beta&preserve-view=true) to verify that the provider is Microsoft Teams. Through the **onlineMeeting** property of the **event**, you can access the **joinUrl**.
124 −
125 −## Change notifications
126 −
127 −### Update notifications occur on creation and soft deletion of users
128 −
129 −[Subscriptions](/graph/api/resources/subscription) to changes for **user** with **changeType** set to **updated** will also receive notifications of **changeType**: **updated** on user creation and user soft deletion.
130 −
131 −### Update notifications occur on creation and soft deletion of groups
132 −
133 −[Subscriptions](/graph/api/resources/subscription) to changes for **group** with **changeType** set to **updated** will also receive notifications of **changeType**: **updated** on group creation and group soft deletion.
134 −
135 −## Contacts
136 −
137 −### GET operation doesn't return default contacts folder
138 −
139 −In the `/v1.0` version, `GET /me/contactFolders` doesn't include the user's default contacts folder.
140 −
141 −A fix is made available. Meanwhile, you can use the following [list contacts](/graph/api/user-list-contacts) query and the **parentFolderId** property
142 −as a workaround to get the folder ID of the default contacts folder:
143 −
144 −```http
145 −GET https://graph.microsoft.com/v1.0/me/contacts?$top=1&$select=parentFolderId
146 −```
147 −
148 −In this request:
149 −
150 −1. `/me/contacts?$top=1` gets the properties of a [contact](/graph/api/resources/contact) in the default contacts folder.
151 −2. Appending `&$select=parentFolderId` returns only the contact's **parentFolderId** property, which is the ID of the default contacts folder.
152 −
153 −
154 −### Accessing contacts via a contact folder doesn't work in beta
155 −
156 −In the `/beta` version, an issue currently prevents accessing a [contact](/graph/api/resources/contact?view=graph-rest-beta&preserve-view=true)
157 −by specifying its parent folder in the REST request URL, as shown in the following two scenarios.
158 −
159 −Accessing a contact from a user's top-level [contactFolder](/graph/api/resources/contactfolder?view=graph-rest-beta&preserve-view=true):
160 −
161 −```http
162 −GET /me/contactfolders/{id}/contacts/{id}
163 −GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts/{id}
164 −```
165 −
166 −Accessing a contact contained in a child folder of a **contactFolder**:
167 −
168 −```http
169 −GET /me/contactFolders/{id}/childFolders/{id}/.../contacts/{id}
170 −GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts/{id}
171 −```
172 −
173 −The previous example shows one level of nesting, but a contact can be located in a child of a child and so on.
174 −
175 −As an alternative, you can [get](/graph/api/contact-get?view=graph-rest-beta&preserve-view=true) the contact by specifying its ID as shown,
176 −because GET /contacts in the `/beta` version applies to all the contacts in the user's mailbox:
177 −
178 −```http
179 −GET /me/contacts/{id}
180 −GET /users/{id | userPrincipalName}/contacts/{id}
181 −```
182 −
183 −## Customer booking
184 −
185 −### Error when querying bookingBusinesses
186 −
187 −Getting the list of `bookingBusinesses` fails with the following error code when an organization has several Bookings businesses and the account making the request isn't an administrator:
188 −
189 −```json
190 −{
191 − "error": {
192 − "code": "ErrorExceededFindCountLimit",
193 − "message":
194 − "The GetBookingMailboxes request returned too many results. Please specify a query to limit the results.",
195 − }
196 −}
197 −```
198 −
199 −As a workaround, you can limit the set of businesses returned by the request by including a `query` parameter, for example:
200 −
201 −```http
202 −GET https://graph.microsoft.com/beta/bookingBusinesses?query=Fabrikam
203 −```
204 −
205 −## Delta query
206 −
207 −### OData context is returned incorrectly
208 −
209 −OData context is sometimes returned incorrectly when tracking changes to relationships.
210 −
211 −### Schema extensions aren't returned with `select`
212 −
213 −Schema extensions (legacy) aren't returned with `$select` statement, but are returned without `$select`.
214 −
215 −### Clients can't track changes to open extensions
216 −
217 −Clients can't track changes to open extensions or registered schema extensions.
218 −
219 −## Devices and apps | Device updates (Windows updates)
220 −
221 −### Accessing and updating deployment audiences isn't supported
222 −
223 −Accessing and updating deployment audiences on **deployment** resources created via Intune isn't currently supported.
224 −
225 −- [Listing deployment audience members](/graph/api/windowsupdates-deploymentaudience-list-members) and [listing deployment audience exclusions](/graph/api/windowsupdates-deploymentaudience-list-exclusions) returns `404 Not Found`.
226 −- [Updating deployment audience members and exclusions](/graph/api/windowsupdates-deploymentaudience-updateaudience) or [updating by ID](/graph/api/windowsupdates-deploymentaudience-updateaudiencebyid) returns `202 Accepted` but the audience isn't updated.
227 −
228 −## Extensions
229 −
230 −### Change tracking isn't supported
231 −
232 −Change tracking (delta query) isn't supported for open or schema extension properties.
233 −
234 −### Unable to create a resource and open extension at the same time
235 −
236 −You can't specify an open extension at the same time you create an instance of **administrativeUnit**, **device**, **group**, **organization** or **user**. You must first create the instance and then specify the open extension data in a subsequent ``POST`` request on that instance.
237 −
238 −### Unable to create a resource instance and add schema extension data at the same time
239 −
240 −You can't specify a schema extension in the same operation as creating an instance of **contact**, **event**, **message**, or **post**.
241 −You must first create the resource instance and then do a `PATCH` to that instance to add a schema extension and custom data.
242 −
243 −### Limit of 100 schema extension property values allowed per resource instance
244 −
245 −Directory resources, such as **device**, **group**, and **user**, currently limit the total number of schema extension property values that can be set on a resource instance to 100.
246 −
247 −### Owner must be specified when updating a schemaExtension definition using Microsoft Graph Explorer
248 −
249 −When using `PATCH` to update a schemaExtension using Graph Explorer, you must specify the **owner** property and set it to its current `appId` value (which will need to be an `appId` of an application that you own). This is also the case for any client application the `appId` for which isn't the same as the **owner**.
250 −
251 −### Filtering on schema extension properties isn't supported on all entity types
252 −
253 −Filtering on schema extension properties (using the `$filter` expression) isn't supported for Outlook entity types - **contact**, **event**, **message**, or **post**.
254 −
255 −## Files (OneDrive)
256 −
257 −### Accessing a user's drive before user accesses it leads to error
258 −
259 −First-time access to a user's personal drive through Microsoft Graph before the user accesses their personal site through a browser leads to a `401` response.
260 −
261 −## Groups
262 −
263 −### Admins must consent to permissions for groups and Microsoft Teams
264 −
265 −Microsoft Graph exposes two permissions ([*Group.Read.All*](permissions-reference.md#group-permissions) and [*Group.ReadWrite.All*](permissions-reference.md#group-permissions)) for access to the APIs for groups and Microsoft Teams.
266 −These permissions must be consented to by an administrator.
267 −In the future, we plan to add new permissions for groups and Teams that users can consent to.
268 −
269 −### Some group APIs don't support delegated or app-only permissions
270 −
271 −Only the API for core group administration and management supports access using delegated or app-only permissions.
272 −All other features of the group API support only delegated permissions.
273 −
274 −Examples of group features that support delegated and app-only permissions:
275 −
276 −- Creating and deleting groups
277 −- Getting and updating group properties pertaining to group administration or management
278 −- Group [directory settings](/graph/api/resources/directoryobject), type, and synchronization
279 −- Group owners and membership
280 −- Getting group conversations and threads
281 −
282 −Examples of group features that support only delegated permissions:
283 −
284 −- Group events, photo
285 −- External senders, accepted or rejected senders, group subscription
286 −- User favorites and unseen count
287 −
288 −### Microsoft Graph bypasses group policies configured through Outlook on the web
289 −
290 −Using Microsoft Graph to create and name a Microsoft 365 group bypasses any Microsoft 365 group policies that are configured through Outlook on the web.
291 −
292 −### allowExternalSenders property can only be accessed on unified groups
293 −
294 −There's currently an issue that prevents setting the **allowExternalSenders** property of a group in a POST or PATCH operation, in both `/v1.0` and `/beta`.
295 −
296 −The **allowExternalSenders** property can only be accessed on unified groups. Accessing this property on security groups, including via GET operations, will result in an error.
297 −
298 −### Removing a group owner also removes the user as a group member
299 −
300 −When [DELETE /groups/{id}/owners](/graph/api/group-delete-owners) is called for a group that is associated with a [team](/graph/api/resources/team), the user is also removed from the /groups/{id}/members list. To work around this, remove the user from both owners and members, then wait 10 seconds, then add them back to members.
301 −
302 −## Identity and access
303 −
304 −### Conditional access policy requires consent to permission
305 −
306 −The [conditionalAccessPolicy](/graph/api/resources/conditionalaccesspolicy) API currently requires consent to the **Policy.Read.All** permission to call the POST and PATCH methods. In the future, the **Policy.ReadWrite.ConditionalAccess** permission enables you to read policies from the directory.
307 −
308 −### Claims mapping policy might require consent to permissions
309 −
310 −The [claimsMappingPolicy](/graph/api/resources/claimsmappingpolicy) API might require consent to both the **Policy.Read.All** and **Policy.ReadWrite.ConditionalAccess** permissions for the `LIST /policies/claimsMappingPolicies` and `GET /policies/claimsMappingPolicies/{id}` methods, as follows:
311 −
312 −+ If no **claimsMappingPolicy** objects are available to retrieve in a LIST operation, either permission is sufficient to call this method.
313 −+ If there are **claimsMappingPolicy** objects to retrieve, your app must consent to both permissions. If not, a `403 Forbidden` error is returned.
314 −
315 −In the future, either permission is sufficient to call both methods.
316 −
317 −### Non-Windows devices can't be updated by an app with application permissions
318 −
319 −When an app with application permissions attempts to update any properties of the device object where the **operationSystem** property isn't `Windows`, apart from the **extensionAttributes** property, the [Update device](/graph/api/device-update) API returns a `400 Bad request` error code with the error message "Properties other than ExtendedAttribute1..15 can be modified only on windows devices.". Use delegated permissions to update the properties of non-Windows devices.
320 −
321 −## JSON batching
322 −
323 −### Nested batches aren't supported
324 −
325 −JSON batch requests must not contain any nested batch requests.
326 −
327 −### All individual requests must be synchronous
328 −
329 −All requests contained in a batch request must be run synchronously. If present, the `respond-async` preference is ignored.
330 −
331 −### Transactional processing of requests isn't supported
332 −
333 −Microsoft Graph doesn't currently support transactional processing of individual requests. The **atomicityGroup** property on individual requests will be ignored.
334 −
335 −### URIs must be relative
336 −
337 −Always specify relative URIs in batch requests. Microsoft Graph then makes these URLs absolute by using the version endpoint included in the batch URL.
338 −
339 −### Batch size is limited
340 −
341 −JSON batch requests are currently limited to 20 individual requests.
342 −
343 −- Depending on the APIs part of the batch request, the underlying services impose their own throttling limits that affect applications that use Microsoft Graph to access them.
344 −- Requests in a batch are evaluated individually against throttling limits and if any request exceeds the limits, it fails with a status of 429.
345 −
346 −For more details, visit [Throttling and batching](/graph/throttling#throttling-and-batching).
347 −
348 −### Request dependencies are limited
349 −
350 −Individual requests can depend on other individual requests. Currently, requests can only depend on a single other request, and must follow one of these three patterns:
351 −
352 −- Parallel - no individual request states a dependency in the **dependsOn** property.
353 −- Serial - all individual requests depend on the previous individual request.
354 −- Same - all individual requests that state a dependency in the **dependsOn** property state the same dependency. **Note**: Requests made using this pattern runs sequentially.
355 −
356 −As JSON batching matures, these limitations will be removed.
357 −
358 −## Mail (Outlook)
359 −
360 −### Attaching large files to messages with delegated permissions can fail
361 −An app with delegated permissions returns `HTTP 403 Forbidden` when attempting to [attach large files](outlook-large-attachments.md) to an Outlook message or event that is in a shared or delegated mailbox. With delegated permissions, [createUploadSession](/graph/api/attachment-createuploadsession) succeeds only if the message or event is in the signed-in user's mailbox.
362 −
363 −### The comment parameter for creating a draft doesn't become part of the message body
364 −
365 −The **comment** parameter for creating a reply or forward draft ([createReply](/graph/api/message-createreply),
366 −[createReplyAll](/graph/api/message-createreplyall), [createForward](/graph/api/message-createforward))
367 −doesn't become part of the body of the resultant message draft.
368 −
369 −### GET messages returns chats in Microsoft Teams
370 −
371 −In both the v1.0 and beta endpoints, the response to `GET /users/id/messages` includes the user's Microsoft Teams chats that occurred outside the scope of a team or channel. These chat messages have "IM" as their subject.
372 −
373 −## Query parameters
374 −
375 −### Some limitations apply to query parameters
376 −
377 −The following limitations apply to query parameters:
378 −
379 −- Multiple namespaces aren't supported.
380 −- GET requests on `$ref` with casting aren't supported on users, groups, devices, service principals, and applications.
381 −- `@odata.bind` isn't supported. This means that you can't properly set the **acceptedSenders** or **rejectedSenders** navigation property on a group.
382 −- `@odata.id` is not present on non-containment navigations (like messages) when using minimal metadata.
383 −- `$expand`:
384 − - For directory objects, returns a maximum of 100 objects.
385 − - No support for `@odata.nextLink`.
386 − - No support for more than one level of expand.
387 − - For directory objects, no support for nesting other query parameters such as `$filter` and `$select` in `$expand`.
388 −- `$filter`
389 − - `/attachments` endpoint does not support filters. If present, the `$filter` parameter is ignored.
390 − - Cross-workload filtering is not supported.
391 −- `$search`:
392 − - Full-text search is only available for a subset of entities, such as messages.
393 − - Cross-workload searching is not supported.
394 − - Searching is not supported in Azure AD B2C tenants.
395 −- `$count`:
396 − - Not supported in Azure AD B2C tenants.
397 − - When using the `$count=true` query string when querying against directory objects, the `@odata.count` property will be present only in the first page of the paged data.
398 −- Query parameters specified in a request might fail silently. This can be true for unsupported query parameters as well as for unsupported combinations of query parameters.
399 −
400 −## Sites and lists (SharePoint)
401 −
402 −### Follow/unfollow sites is not in sync with SharePoint following
403 −
404 −When querying [followed sites](/graph/api/sites-list-followed) through Microsoft Graph, the response might have incorrect results and those results might not match the results from following content in SharePoint. As a temporary workaround, you can use the [Following people and content REST API](/sharepoint/dev/general-development/following-people-and-content-rest-api-reference-for-sharepoint).
405 −
406 −## Teamwork and communications (Microsoft Teams)
407 −
408 −### Unable to filter team members by roles
409 −
410 −Role query filters along with other filters `GET /teams/team-id/members?$filter=roles/any(r:r eq 'owner') and displayName eq 'dummy'` might not work. The server might respond with a `BAD REQUEST`.
411 −
412 −### Requests to filter team members by role require a parameter
413 −
414 −All the requests to filter team members by roles expect either a _skipToken_ parameter or a _top_ paramater in the request, but not both. If both the parameters are passed in the request, the _top_ parameter will be ignored.
415 −
416 −### Some properties for chat members might be missing in the response to a GET request
417 −
418 −In certain instances, the `tenantId` / `email` / `displayName` property for the individual members of a chat might not be populated on a `GET /chats/chat-id/members` or `GET /chats/chat-id/members/membership-id` request.
419 −
420 −### Properties are missing in the list of teams that a user has joined
421 −
422 −The API call for [me/joinedTeams](/graph/api/user-list-joinedteams) returns only the **id**, **displayName**, and **description** properties of a [team](/graph/api/resources/team). To get all properties, use the [Get team](/graph/api/team-get) operation.
423 −
424 −### Installation of apps that require resource-specific consent permissions is not supported
425 −
426 −The following API calls do not support installing apps that require [resource-specific consent](/microsoftteams/platform/graph-api/rsc/resource-specific-consent) permissions.
427 −
428 −- [Add app to team](/graph/api/team-post-installedapps)
429 −- [Upgrade app installed in team](/graph/api/team-teamsappinstallation-upgrade)
430 −- [Add app to chat](/graph/api/chat-post-installedapps)
431 −- [Upgrade app installed in chat](/graph/api/chat-teamsappinstallation-upgrade)
432 −
433 −### Unable to access a cross-tenant shared channel when the request URL contains tenants/{cross-tenant-id}
434 −
435 −The API calls for [teams/{team-id}/incomingChannels](/graph/api/team-list-incomingchannels) and [teams/{team-id}/allChannels](/graph/api/team-list-allchannels) return the **@odata.id** property which you can use to access the channel and run other operations on the [channel](/graph/api/resources/channel) object. If you call the URL returned from the **@odata.id** property, the request fails with the following error when it tries to access the cross-tenant shared [channel](/graph/api/resources/channel):
436 −```http
437 −GET /tenants/{tenant-id}/teams/{team-id}/channels/{channel-id}
438 −{
439 − "error": {
440 − "code": "BadRequest",
441 − "message": "TenantId in the optional tenants/{tenantId} segment should match the tenantId(tid) in the token used to call Graph.",
442 − "innerError": {
443 − "date": "2022-03-08T07:33:50",
444 − "request-id": "dff19596-b5b2-421d-97d3-8d4b023263f3",
445 − "client-request-id": "32ee2cbd-27f8-2441-e3be-477dbe0cedfa"
446 − }
447 − }
448 −}
449 −```
450 −
451 −To solve this issue, remove the `/tenants/{tenant-id}` part from the URL before you call the API to access the cross-tenant shared [channel](/graph/api/resources/channel).
452 −
453 −### Create channel can return an error response
454 −
455 −When you create a channel, if you use special characters in your channel name, the [Get filesFolder](/graph/api/channel-get-filesfolder) API will return a `400 Bad Request` error response. When you create a channel, make sure that the **displayName** for the channel does not:
456 −
457 −- Include any of the following special characters: ~ # % & * { } + / \ : < > ? | ' ".
458 −- Start with an underscore (_) or period (.), or end with a period (.).
459 −
460 −### View meeting details menu is not available on Microsoft Teams client
461 −
462 −The Microsoft Teams client does not show the **View Meeting details** menu for channel meetings created via the cloud communications API.
463 −
464 −## Users
465 −
466 −### Encode number (#) symbols in userPrincipalName
467 −
468 −The **userPrincipalName** of guest users added through Microsoft Entra B2B often contains the number (#) character. Using `$filter` on a **userPrincipalName** that contains the # symbol, for example, `GET /users?$filter=userPrincipalName eq 'AdeleV_contoso.com#EXT#@fabrikam.com'`, returns a `400 Bad request` HTTP error response. To filter by the **userPrincipalName**, encode the # character using its UTF-8 equivalent (`%23`), for example, `GET /users?$filter=userPrincipalName eq 'AdeleV_contoso.com%23EXT%[email protected]'`.
469 −
470 −### Access to user resources is delayed after creation
471 −
472 −Users can be created immediately through a POST on the user entity. A Microsoft 365 license must first be assigned to a user, in order to get access to Microsoft 365 services. Even then, due to the distributed nature of the service, it might take 15 minutes before files, messages, and events entities are available for use for this user, through the Microsoft Graph API. During this time, apps will receive a `404 Not Found` HTTP error response.
473 −
474 −### Access to a user's profile photo is limited
475 −
476 −1. Reading and updating a user's profile photo is only possible if the user has a mailbox. Failure to read or update a photo, in this case, results in the following error:
477 −
478 − ```html
479 − {
480 − "error": {
481 − "code": "ErrorNonExistentMailbox",
482 − "message": "The SMTP address has no mailbox associated with it."
483 − }
484 − }
485 − ```
486 −
487 −2. Any photos that *may* have been previously stored using the **thumbnailPhoto** property (using the Azure AD Graph API (currently in its retirement cycle) or through AD Connect synchronization) are no longer accessible through the Microsoft Graph **photo** property of the [user](/graph/api/resources/user) resource.
488 −3. Managing users' photos through the [profilePhoto resource](/graph/api/resources/profilephoto) of the Microsoft Graph API is currently not supported in Azure AD B2C tenants.
489 −
490 −### Revoke sign-in sessions returns wrong HTTP code
491 −
492 −The [user: revokeSignInSessions API](/graph/api/user-revokesigninsessions) should return a `204 No content` response for successful revocations, and an HTTP error code (4xx or 5xx) if anything goes wrong with the request. However, due to a service issue, this API returns a `200 OK` and a Boolean parameter that is always `true`. Until this is fixed, you can treat any 2xx return code as success for this API.
493 −
494 −### Incomplete objects are returned when using getByIds request
495 −
496 −Requesting objects using [Get directory objects from a list of IDs](/graph/api/directoryobject-getbyids) should return full objects. However, currently [user](/graph/api/resources/user) objects on the v1.0 endpoint are returned with a limited set of properties. As a temporary workaround, when you use the operation in combination with the `$select` query option, more complete [user](/graph/api/resources/user) objects will be returned. This behavior is not in accordance with the OData specifications. Because this behavior might be updated in the future, use this workaround only when you provide `$select=` with all the properties you are interested in, and only if future breaking changes to this workaround are acceptable.
497 −
498 −### showInAddressList property is out of sync with Microsoft Exchange
499 −
500 −When querying users through Microsoft Graph, the **showInAddressList** property may not indicate the same status shown in Microsoft Exchange. We recommend you manage this functionality directly with Microsoft Exchange through the Microsoft 365 admin center and not to use this property in Microsoft Graph.
501 −
502 −## Functionality available only in Office 365 REST or Azure AD Graph APIs (deprecated)
503 −
504 −Some functionality is not yet available in Microsoft Graph. If you don't see the functionality you're looking for, you can use the endpoint-specific [Office 365 REST APIs](/previous-versions/office/office-365-api/). For Azure AD Graph, see [Migrate Azure Active Directory (Azure AD) Graph apps to Microsoft Graph](./migrate-azure-ad-graph-overview.md).

Microsoft's Markdown source from microsoftgraph/microsoft-graph-docs-contrib, © Microsoft Corporation, under CC BY 4.0. Changed lines with up to 3 unchanged lines around each; ChangeIntel kept this copy 10 Oct 06:20 UTC. The commit date is when the source changed, which can be hours or days before Learn published it.

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 20 Oct 22:55 UTC · 258 of 260 readable · 256 fully read · documentation 416/439 current