July 2nd, 2019

Breaking changes: Calls and online meetings API updates in Microsoft Graph beta

We’re announcing several changes to the calls and online meetings APIs in Microsoft Graph beta, including a few breaking changes. Changes might affect existing applications that use the /beta calls and online meetings APIs. We expect the breaking change to be fully deployed by the middle of July 2019.

call entity updates

Adding new property mediaState to the call entity

We’re adding a new mediaState property to the call entity. This new property will include the activeness info of different modalities.

Parameter Type Required? Description
mediaState microsoft.graph.callMediaState No Call media state.

The microsoft.graph.callMediaState is a new complex type with one property: audio.

Property Type Description Required ReadOnly
audio microsoft.graph.mediaState The call media state No Yes

The microsoft.graph.mediaState is a new enum with two values.

Value Description
active Call media state active.
inactive Call media state inactive.

Adding new property to complex type meetingCapability

Property Type Description Required Read Only
allowAnonymousUsersToStartMeeting Edm.Boolean A value indicating whether to allow anonymous users to start meeting. No No

Renaming property error and ringningTimeoutInSeconds

Parameter old name Parameter new name Type Description
error resultInfo microsoft.graph.resultInfo Rename error to resultInfo, because it contains more info than just error.
ringningTimeoutInSeconds ringingTimeoutInSeconds Edm.Int32 There is a typo in the name.

Add value to enum routingPolicy and make this enum extensible

The enum routingPolicy is now extensible to be able to add new values in the future.

Value Description
preferSfB (Same enum value as preferSkypeForBusiness, this to be depricated). Some clients prefer Sfb over Teams, When this is set, calls would be routed to Sfb clients.
preferSkypeForBusiness Some clients prefer Sfb over Teams, When this is set, calls would be routed to Sfb clients.

audioRoutingGroup entity updates

Removing property owner from audioRoutingGroup entity

Parameter Type Description
owner string Owner is not supported anymore.

commsOperation entity updates

Renaming property errorInfo

Parameter old name Parameter new name Type Description
errorInfo resultInfo microsoft.graph.resultInfo Rename errorInfo to resultInfo, because it contains more info than just error.

playPromptOperation Entity

Remove prompts property from playPromptOperation entity

Parameter Type Description
prompts Collection(microsoft.graph.prompt) We are moving away from returning the input parameters in the operation. Only output parameters or parameters that can change will be included.

Change type of completionReason property

Parameter name Type Description
completionReason Old: microsoft.graph.completionReason

New: microsoft.graph.playPromptCompletionReason

Changed completionReason to be specific to playPrompt, as it was not a generic enumeration.

recordOperation entity update

Remove input parameters from recordOperation

Parameter Type Description
prompts Collection(microsoft.graph.prompt) prompts is exposed in playPromptAction.
bargeInAllowed Edm.Boolean Exposed in playPromptAction.
initialSilenceTimeoutInSeconds Edm.Int32 Exposed in playPromptAction.
maxSilenceTimeoutInSeconds Edm.Int32 Exposed in playPromptAction.
maxRecordDurationInSeconds Edm.Int32 Exposed in playPromptAction.
playBeep Edm.Boolean Exposed in playPromptAction.
streamWhileRecording Edm.Boolean Exposed in playPromptAction.
stopTones Collection(Edm.String) Exposed in playPromptAction.

Rename properties

Parameter Old Name Parameter New Name Type Required? Description
recordResourceLocation recordingLocation string No The record resource location.
recordResourceAccessToken recordingAccessToken string No The record resource access token..

onlineMeeting entity updates

Rename properties in onlineMeeting entity to match Graph specifications.

Parameter Old Name Parameter New Name Type Description
creationTime creationDateTime Edm.DateTimeOffset Set all properties with DateTime type as xxxDateTime.
startTime startDateTime Edm.DateTimeOffset Set all properties with DateTime type as xxxDateTime.
endTime endDateTime Edm.DateTimeOffset Set all properties with DateTime type as xxxDateTime.
canceledTime canceledDateTime Edm.DateTimeOffset Set all properties with DateTime type as xxxDateTime.
expirationTime expirationDateTime Edm.DateTimeOffset Set all properties with DateTime type as xxxDateTime.

Remove meetingInfo from onlineMeeting entity

Parameter Type Description
meetingInfo Microsoft.Graph.MeetingInfo Deprecated. Use Participants.

Adding new properties to onlineMeeting entity

Parameter Type Required? Description
capabilities Collection(microsoft.graph.meetingCapabilities) No Meeting capabilities.

New enum meetingCapabilities

Value Description
questionAndAnswer Value indicating whether Qna is enabled.
unknownFutureValue For extensible enum.

New property videoTeleconferenceId

Parameter Type Required? Description
videoTeleconferenceId string No The identifier that can be used by VTC devices to access the meeting.

Update enum meetingType (existing enum) (**new from last API review)

Value Description
meetNow The meeting is an ad hoc meeting.
scheduled (renamed from calendar) The meeting is a scheduled meeting.
recurring The meeting is a recurring meeting.
broadcast The meeting is a broadcast type meeting.

Adding new properties to complex type meetingParticipants

Parameter Type Required? Description
producers Collection(microsoft.graph.meetingParticipantInfo) No Producer role, for webinar meeting only.
contributors Collection(microsoft.graph.meetingParticipantInfo) No Contributors role, for webinar meeting only.

Changes to action types

Reject action

Adding new parameter CallbackUri to Reject action, allowing bots to receive notifications at a custom callback for the call after the call is rejected.

Parameter Type Required? Description
CallbackUri string No The CallbackUri allows bots to receive notifications for the call after the call is rejected.

Request

The following example shows the request.

POST /app/calls/421f0a00-ba46-45bf-b034-d49ab0961b54/microsoft.graph.reject
Content-Type: application/json; charset=utf-8
{
  "reason": "busy",
  "callbackUri": "https://paywu-bot.frontend.skype-graph-test.net/24701998-1a73-4d42-8085-bf46ed0ae039"
}

In the request body, supply a JSON representation of the RejectAction object.

Response

HTTP/1.1 202 Accepted

 

Redirect action

Adding new parameter CallbackUri to redirect action, allowing bots to receive notifications at a custom callback for the call while the call is being redirected.

Parameter Type Required? Description
CallbackUri string No The CallbackUri allows bots to receive notifications for the call while the call is being redirected.

Play Prompt action

Added loop parameter to specify that this play sequence should be looped indefinitely. This replaces the MediaPrompt.Loop property that allowed bots to specify a loop count but only for a single prompt.

Parameter Type Required? Description
Loop Boolean No Flag indicating whether prompt sequence needs to be played in loop or not.