Skip to content

Microsoft: Update the navigation property calendars in users — users Calendar Group calendar Groups Update Calendars

Microsoft usersCalendarGroup.calendarGroupsUpdateCalendars: arguments, response, policy and SDK examples.

← Users calendar group operations · Get started

Operation microsoft.users_calendargroups_updatecalendars

Provider route: PATCH /users/{user-id}/calendarGroups/{calendarGroup-id}/calendars/{calendar-id}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/microsoft with npm, or alter-sdk-microsoft with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { MicrosoftIntegration } from "@alter-ai/microsoft";
async function execute(input: Parameters<MicrosoftIntegration["usersCalendarGroup"]["calendarGroupsUpdateCalendars"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new MicrosoftIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.usersCalendarGroup.calendarGroupsUpdateCalendars(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_microsoft import MicrosoftIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = MicrosoftIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.users_calendar_group.calendar_groups_update_calendars(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.user-idstringRequired within parent
path.calendarGroup-idstringRequired within parent
path.calendar-idstringRequired within parent
bodyModelRequired within parentExpand Create Calendar — request body — body

Referenced models: Create Calendar — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Get calendar — response body

Referenced models: Get calendar — response body

38 more schemas are linked from the tables above, on the schema pages.

Get calendar — response body
FieldTypePresenceDescription and constraints
$JSONRoot
$ (allOf 1)ModelAll variants applyExpand Get rule — response body — @odata type, id
$ (allOf 2)objectAll variants apply
$ (allOf 2).@odata.typestringOptional
$ (allOf 2).allowedOnlineMeetingProvidersarrayOptionalRepresent the online meeting service providers that can be used to create online meetings in this calendar. The possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness.
$ (allOf 2).allowedOnlineMeetingProviders[]JSONEach item
$ (allOf 2).allowedOnlineMeetingProviders[] (anyOf 1)stringAlternativeKnown values: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness
$ (allOf 2).allowedOnlineMeetingProviders[] (anyOf 2)JSONAlternative
$ (allOf 2).allowedOnlineMeetingProviders[] (anyOf 2) (anyOf 1)objectAlternative
$ (allOf 2).allowedOnlineMeetingProviders[] (anyOf 2) (anyOf 2)nullAlternative
$ (allOf 2).calendarPermissionsarrayOptionalThe permissions of the users with whom the calendar is shared.
$ (allOf 2).calendarPermissions[]ModelEach itemExpand Get calendar Permission — response body
$ (allOf 2).calendarViewarrayOptionalThe calendar view for the calendar. Navigation property. Read-only.
$ (allOf 2).calendarView[]ModelEach itemExpand Get event — response body
$ (allOf 2).canEditJSONOptional
$ (allOf 2).canEdit (anyOf 1)booleanAlternativetrue if the user can write to the calendar, false otherwise. This property is true for the user who created the calendar. This property is also true for a user who shared a calendar and granted write access.
$ (allOf 2).canEdit (anyOf 2)nullAlternative
$ (allOf 2).canShareJSONOptional
$ (allOf 2).canShare (anyOf 1)booleanAlternativetrue if the user has permission to share the calendar, false otherwise. Only the user who created the calendar can share it.
$ (allOf 2).canShare (anyOf 2)nullAlternative
$ (allOf 2).canViewPrivateItemsJSONOptional
$ (allOf 2).canViewPrivateItems (anyOf 1)booleanAlternativeIf true, the user can read calendar items that have been marked private, false otherwise.
$ (allOf 2).canViewPrivateItems (anyOf 2)nullAlternative
$ (allOf 2).changeKeyJSONOptional
$ (allOf 2).changeKey (anyOf 1)stringAlternativeIdentifies the version of the calendar object. Every time the calendar is changed, changeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only.
$ (allOf 2).changeKey (anyOf 2)nullAlternative
$ (allOf 2).colorJSONOptionalSpecifies the color theme to distinguish the calendar from other calendars in a UI. The property values are: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed, maxColor.
$ (allOf 2).color (anyOf 1)stringAlternativeKnown values: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed, maxColor
$ (allOf 2).color (anyOf 2)JSONAlternative
$ (allOf 2).color (anyOf 2) (anyOf 1)objectAlternative
$ (allOf 2).color (anyOf 2) (anyOf 2)nullAlternative
$ (allOf 2).defaultOnlineMeetingProviderJSONOptionalThe default online meeting provider for meetings sent from this calendar. The possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness.
$ (allOf 2).defaultOnlineMeetingProvider (anyOf 1)stringAlternativeKnown values: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness
$ (allOf 2).defaultOnlineMeetingProvider (anyOf 2)JSONAlternative
$ (allOf 2).defaultOnlineMeetingProvider (anyOf 2) (anyOf 1)objectAlternative
$ (allOf 2).defaultOnlineMeetingProvider (anyOf 2) (anyOf 2)nullAlternative
$ (allOf 2).eventsarrayOptionalThe events in the calendar. Navigation property. Read-only.
$ (allOf 2).events[]ModelEach itemExpand Get event — response body
$ (allOf 2).hexColorJSONOptional
$ (allOf 2).hexColor (anyOf 1)stringAlternativeThe calendar color, expressed in a hex color code of three hexadecimal values, each ranging from 00 to FF and representing the red, green, or blue components of the color in the RGB color space. If the user has never explicitly set a color for the calendar, this property is empty. Read-only.
$ (allOf 2).hexColor (anyOf 2)nullAlternative
$ (allOf 2).isDefaultCalendarJSONOptional
$ (allOf 2).isDefaultCalendar (anyOf 1)booleanAlternativetrue if this is the default calendar where new events are created by default, false otherwise.
$ (allOf 2).isDefaultCalendar (anyOf 2)nullAlternative
$ (allOf 2).isRemovableJSONOptional
$ (allOf 2).isRemovable (anyOf 1)booleanAlternativeIndicates whether this user calendar can be deleted from the user mailbox.
$ (allOf 2).isRemovable (anyOf 2)nullAlternative
$ (allOf 2).isTallyingResponsesJSONOptional
$ (allOf 2).isTallyingResponses (anyOf 1)booleanAlternativeIndicates whether this user calendar supports tracking of meeting responses. Only meeting invites sent from users' primary calendars support tracking of meeting responses.
$ (allOf 2).isTallyingResponses (anyOf 2)nullAlternative
$ (allOf 2).multiValueExtendedPropertiesarrayOptionalThe collection of multi-value extended properties defined for the calendar. Read-only. Nullable.
$ (allOf 2).multiValueExtendedProperties[]ModelEach itemExpand Get mail Folder — response body — @odata type, child Folder Count, child Folders, display Name, is Hidden, message Rules, messages, multi Value Extended Properties, parent Folder Id, single Value Extended Properties, total Item Count, unread Item Count multi Value Extended Properties item
$ (allOf 2).nameJSONOptional
$ (allOf 2).name (anyOf 1)stringAlternativeThe calendar name.
$ (allOf 2).name (anyOf 2)nullAlternative
$ (allOf 2).ownerJSONOptionalIf set, this represents the user who created or added the calendar. For a calendar that the user created or added, the owner property is set to the user. For a calendar shared with the user, the owner property is set to the person who shared that calendar with the user.
$ (allOf 2).owner (anyOf 1)ModelAlternativeExpand Get calendar Permission — response body — @odata type, allowed Roles, email Address, is Inside Organization, is Removable, role email Address @odata type, address, name
$ (allOf 2).owner (anyOf 2)JSONAlternative
$ (allOf 2).owner (anyOf 2) (anyOf 1)objectAlternative
$ (allOf 2).owner (anyOf 2) (anyOf 2)nullAlternative
$ (allOf 2).singleValueExtendedPropertiesarrayOptionalThe collection of single-value extended properties defined for the calendar. Read-only. Nullable.
$ (allOf 2).singleValueExtendedProperties[]ModelEach itemExpand Get mail Folder — response body — @odata type, child Folder Count, child Folders, display Name, is Hidden, message Rules, messages, multi Value Extended Properties, parent Folder Id, single Value Extended Properties, total Item Count, unread Item Count single Value Extended Properties item

Referenced models: Get calendar Permission — response body, Get calendar Permission — response body — @odata type, allowed Roles, email Address, is Inside Organization, is Removable, role email Address @odata type, address, name, Get rule — response body — @odata type, id, Get event — response body, Get mail Folder — response body — @odata type, child Folder Count, child Folders, display Name, is Hidden, message Rules, messages, multi Value Extended Properties, parent Folder Id, single Value Extended Properties, total Item Count, unread Item Count multi Value Extended Properties item, Get mail Folder — response body — @odata type, child Folder Count, child Folders, display Name, is Hidden, message Rules, messages, multi Value Extended Properties, parent Folder Id, single Value Extended Properties, total Item Count, unread Item Count single Value Extended Properties item

Get calendar Permission — response body — @odata type, allowed Roles, email Address, is Inside Organization, is Removable, role email Address @odata type, address, name
FieldTypePresenceDescription and constraints
$objectRoot
@odata.typestringOptional
addressJSONOptional
address (anyOf 1)stringAlternativeThe email address of the person or entity.
address (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThe display name of the person or entity.
name (anyOf 2)nullAlternative
Get mail Folder — response body — @odata type, child Folder Count, child Folders, display Name, is Hidden, message Rules, messages, multi Value Extended Properties, parent Folder Id, single Value Extended Properties, total Item Count, unread Item Count multi Value Extended Properties item
FieldTypePresenceDescription and constraints
$JSONRoot
$ (allOf 1)ModelAll variants applyExpand Get rule — response body — @odata type, id
$ (allOf 2)objectAll variants apply
$ (allOf 2).@odata.typestringOptional
$ (allOf 2).valuearrayOptionalA collection of property values.
$ (allOf 2).value[]JSONEach item
$ (allOf 2).value[] (anyOf 1)stringAlternative
$ (allOf 2).value[] (anyOf 2)nullAlternative

Referenced models: Get rule — response body — @odata type, id

SDK function policy ID: microsoft.users_calendargroups_updatecalendars. Catalog operation: users_calendargroups_updatecalendars. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.