Graph API - calendar event subscription response doesnt include unique id which is icaluid for an event

Bhanu Prasad 6 Reputation points
2021-03-08T14:59:20.003+00:00

We have calendar event subscriptions and we get the following response.

{
"value": [{
"subscriptionId": "xxxxxxxx-878b-4d07-8539-1da3axxxxxxxx",
"subscriptionExpirationDateTime": "2021-03-07T02:30:14.5887657-08:00",
"changeType": "created",
"resource": "Users/0b53683d-fd4c-4ca4-9f3a-3c6bxxxxxxxx/Events/AAMkAGZjZWFlNWJkLTAzMTctNGEzNy1hZjA4LWRmNDQwNDczYWRjOQBGAAAAAAAkVKcbJTK2T7-a4sSv1LzgBwDdRTpe0854Qan5mu_s52tQAAAAsmZUAACye3PIhW7CS4D=",
"resourceData": {
"@odata.type": "#Microsoft.Graph.Event",
"@odata.id": "Users/0b53683d-fd4c-4ca4-9f3a-3c6bxxxxxxxx/Events/AAMkAGZjZWFlNWJkLTAzMTctNGEzNy1hZjA4LWRmNDQwNDczYWRjOQBGAAAAAAAkVKcbJTK2T7-a4sSv1LzgBwDdRTpe0854Qan5mu_s52tQAAAAsmZUAACye3PIhW7CS4D=",
"@odata.etag": "W/\"DwAAABYAAACye3PIhW7CS4DdyklpCnLAxxxxxxxx\"",
"id": "AAMkAGZjZWFlNWJkLTAzMTctNGEzNy1hZjA4LWRmNDQwNDczYWRjOQBGAAAAAAAkVKcbJTK2T7-a4sSv1LzgBwDdRTpe0854Qan5mu_s52tQAAAAsmZUAACye3PIhW7CS4D="
},
"clientState": "REPLACE",
"tenantId": "xxxxxxxx-004e-444d-93e8-f7e8xxxxxxxx"
}]
}

we found that "id" field mentioned in the json is not unique and we can clearly see other events assigned with the same id. Also for an event "iCalUId" is a unique id. So when we call the event details using above "id" we get details of a different event sometimes or am I missing something?

Please suggest if we can access "iCalUId" in subscription response.

Thanks.

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
13,685 questions
0 comments No comments
{count} vote

3 answers

Sort by: Most helpful
  1. Gary Bailey 6 Reputation points
    2021-03-09T19:30:26.527+00:00

    The problem that we have on this one now is that iCalUid is unique, but that ID is not sent on the webhook call. We're trying to work through the immutable ID route, but webhook calls are creating duplicate events in our database currently.

    1 person found this answer helpful.
    0 comments No comments

  2. John Vannoy 11 Reputation points
    2021-08-16T19:46:26.233+00:00

    You would need to do a subsequent API to call to retrieve the details of the event, using the ID supplied on the webhook call; the event details would contain the ICalUID

    1 person found this answer helpful.
    0 comments No comments

  3. Deva-MSFT 2,266 Reputation points Microsoft Employee
    2021-03-09T16:58:03.417+00:00

    What you meant by id is not unique? Do you see the difference when you subscribed to various calendars/mailboxes? Please explain.

    In the above scenario, if you use iCalUId to identify a specific instance of a recurring meeting, this scenario can be achieved by listing instances (occurrences) of an event with seriesMasterId for a specified time range.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.