How to make a /subscriptions graph API call in a multi-geo URL setup? Getting a 404 error when trying to register a webhooks subscription.

Raghunandan Kumbhar 20 Reputation points
2025-01-10T13:14:44.9466667+00:00

We are getting a 404 error when trying to register a webhooks subscription using Graph API on a Sharepoint Online Document Library.

We are working with a multi-geo environment, in which case there are 2 sharepoint URLs under the same tenant (E.g. https://urlind.sharepoint.com and https://urlaus.sharepoint.com).

The subscription API call https://graph.microsoft.com/v1.0/subscriptions takes the following body:

{
  "changeType": "updated",
  "clientState": "client_state",
  "expirationDateTime": "2025-01-22T14:14:20.71Z",
  "latestSupportedTlsVersion": "v1_2",
  "notificationUrl": "https://hosturl/service/webhook/notify",
  "resource": "drives/<driveId>/root"
}

Now, lets say that the drive/document-library exists in a particular geo-URL, in that case when making the /subscriptions call, we are getting a 404 error. It is a multi-geo environment, and the API call fails in all cases where the DL is present anywhere other than the base SharePoint.

We tried with the resource format "drives/<driveId>/root, and that did not work. We have also tried to set the resource in the following format: "sites/urlind.sharepoint.com,<siteId>,<webId>/lists/<listId>" This format also works when the API call is being made for a DL present in base SharePoint, but not for a DL from any another geo-location. In both the above attempts, we are getting the same 404 error: {

"error": {

"code": "ExtensionError", 

"message": "Operation: Create; Exception: [Status Code: NotFound; Reason: Item not found]", 

"innerError": { 

  "date": "2025-01-06T13:21:13", 

  "request-id": "<requestId>", 

  "client-request-id": "<clientRequestId>" 

} 
```  } 

}

Is there any way to make this call Graph API call to a DL present in a different geo-location? What should the resource value be in that case? 
Microsoft 365 and Office | SharePoint | Development
Microsoft Security | Microsoft Graph

Locked Question. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

1 answer

Sort by: Most helpful
  1. Xyza Xue_MSFT 30,336 Reputation points Microsoft External Staff
    2025-01-13T07:53:51.4566667+00:00

    Hi @Raghunandan Kumbhar ,

    Error Handling: The 404 error indicates that the item was not found in the specified geo-location.

    Right now the graph query always returns the domains for the default GEO. As far as i know, currently ,there is no way to make this call Graph API call to a DL present in a different geo-location.

    Personally, I completely agree with you, this is indeed a good addition to the current features. Thank you for bringing things to our attention. We sincerely recommend you go to Graph Feedback community to provide your feedback: Graph · Community(microsoft.com). This is the best platform to let related team hear from you and make the products and services better for you and others.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Was this answer helpful?