{"id":3199,"date":"2019-07-02T16:49:45","date_gmt":"2019-07-02T23:49:45","guid":{"rendered":"https:\/\/developer.microsoft.com\/en-us\/office\/blogs\/?p=3199"},"modified":"2019-07-02T16:49:45","modified_gmt":"2019-07-02T23:49:45","slug":"breaking-changes-calls-and-online-meetings-api-updates-in-microsoft-graph-beta","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/breaking-changes-calls-and-online-meetings-api-updates-in-microsoft-graph-beta\/","title":{"rendered":"Breaking changes: Calls and online meetings API updates in Microsoft Graph beta"},"content":{"rendered":"<div id=\"wmd-preview-section-36\" class=\"wmd-preview-section preview-content\">\n<p>We&#8217;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\u00a0<code>\/beta<\/code>\u00a0calls and online meetings APIs. We expect the breaking change to be fully deployed by the middle of July 2019.<\/p>\n<\/div>\n<div id=\"wmd-preview-section-37\" class=\"wmd-preview-section preview-content\">\n<h2 id=\"call-entity-updates\">call entity updates<\/h2>\n<\/div>\n<div id=\"wmd-preview-section-38\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"adding-new-property-mediastate-to-call-entity\">Adding new property mediaState to the call entity<\/h3>\n<p>We&#8217;re adding a new <strong>mediaState<\/strong>\u00a0property to the call entity. This new property will include the activeness info of different modalities.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>mediaState<\/code><\/td>\n<td><code>microsoft.graph.callMediaState<\/code><\/td>\n<td>No<\/td>\n<td>Call media state.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The microsoft.graph.callMediaState is a new complex type with one property: <strong>audio<\/strong>.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Property<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<td>Required<\/td>\n<td>ReadOnly<\/td>\n<\/tr>\n<tr>\n<td><code>audio<\/code><\/td>\n<td><code>microsoft.graph.mediaState<\/code><\/td>\n<td>The call media state<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The microsoft.graph.mediaState is a new enum with two values.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Value<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>active<\/code><\/td>\n<td>Call media state active.<\/td>\n<\/tr>\n<tr>\n<td><code>inactive<\/code><\/td>\n<td>Call media state inactive.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-39\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"adding-new-property-to-complex-type-meetingcapability\">Adding new property to complex type meetingCapability<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Property<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<td>Required<\/td>\n<td>Read Only<\/td>\n<\/tr>\n<tr>\n<td><code>allowAnonymousUsersToStartMeeting<\/code><\/td>\n<td><code>Edm.Boolean<\/code><\/td>\n<td>A value indicating whether to allow anonymous users to start meeting.<\/td>\n<td>No<\/td>\n<td>No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-40\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"renaming-property-error-and-ringningtimeoutinseconds\">Renaming property error and ringningTimeoutInSeconds<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter old name<\/td>\n<td>Parameter new name<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>error<\/code><\/td>\n<td><code>resultInfo<\/code><\/td>\n<td><code>microsoft.graph.resultInfo<\/code><\/td>\n<td>Rename error to resultInfo, because it contains more info than just error.<\/td>\n<\/tr>\n<tr>\n<td><code>ringningTimeoutInSeconds<\/code><\/td>\n<td><code>ringingTimeoutInSeconds<\/code><\/td>\n<td><code>Edm.Int32<\/code><\/td>\n<td>There is a typo in the name.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-41\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"add-value-to-enum-routingpolicy-and-make-this-enum-extensible\">Add value to enum routingPolicy and make this enum extensible<\/h3>\n<p>The enum <strong>routingPolicy<\/strong> is now extensible to be able to add new values in the future.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Value<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>preferSfB<\/code><\/td>\n<td>(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.<\/td>\n<\/tr>\n<tr>\n<td><code>preferSkypeForBusiness<\/code><\/td>\n<td>Some clients prefer Sfb over Teams, When this is set, calls would be routed to Sfb clients.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-42\" class=\"wmd-preview-section preview-content\">\n<h2 id=\"audioroutinggroup-entity-updates\">audioRoutingGroup entity updates<\/h2>\n<\/div>\n<div id=\"wmd-preview-section-43\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"removing-property-owner-from-audioroutinggroup-entity\">Removing property owner from audioRoutingGroup entity<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>owner<\/code><\/td>\n<td><code>string<\/code><\/td>\n<td>Owner is not supported anymore.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-44\" class=\"wmd-preview-section preview-content\">\n<h2 id=\"commsoperation-entity-updates\">commsOperation entity updates<\/h2>\n<\/div>\n<div id=\"wmd-preview-section-45\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"renaming-property-errorinfo\">Renaming property errorInfo<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter old name<\/td>\n<td>Parameter new name<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>errorInfo<\/code><\/td>\n<td><code>resultInfo<\/code><\/td>\n<td><code>microsoft.graph.resultInfo<\/code><\/td>\n<td>Rename errorInfo to resultInfo, because it contains more info than just error.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-46\" class=\"wmd-preview-section preview-content\">\n<h2 id=\"playpromptoperation-entity\">playPromptOperation Entity<\/h2>\n<\/div>\n<div id=\"wmd-preview-section-47\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"remove-prompts-property-from-playpromptoperation-entity\">Remove prompts property from playPromptOperation entity<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>prompts<\/code><\/td>\n<td><code>Collection(microsoft.graph.prompt)<\/code><\/td>\n<td>We are moving away from returning the input parameters in the operation. Only output parameters or parameters that can change will be included.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-48\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"change-type-of-completionreason-property\">Change type of completionReason property<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter name<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>completionReason<\/code><\/td>\n<td><code><strong>Old<\/strong>: microsoft.graph.completionReason<\/code><\/p>\n<p><strong>New<\/strong>:\u00a0<code>microsoft.graph.playPromptCompletionReason<\/code><\/td>\n<td>Changed completionReason to be specific to playPrompt, as it was not a generic enumeration.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-49\" class=\"wmd-preview-section preview-content\">\n<h2 id=\"recordoperation-entity-update\">recordOperation entity update<\/h2>\n<\/div>\n<div id=\"wmd-preview-section-50\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"remove-input-parameters-from-recordoperation\">Remove input parameters from recordOperation<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>prompts<\/code><\/td>\n<td><code>Collection(microsoft.graph.prompt)<\/code><\/td>\n<td>prompts is exposed in playPromptAction.<\/td>\n<\/tr>\n<tr>\n<td><code>bargeInAllowed<\/code><\/td>\n<td><code>Edm.Boolean<\/code><\/td>\n<td>Exposed in playPromptAction.<\/td>\n<\/tr>\n<tr>\n<td><code>initialSilenceTimeoutInSeconds<\/code><\/td>\n<td><code>Edm.Int32<\/code><\/td>\n<td>Exposed in playPromptAction.<\/td>\n<\/tr>\n<tr>\n<td><code>maxSilenceTimeoutInSeconds<\/code><\/td>\n<td><code>Edm.Int32<\/code><\/td>\n<td>Exposed in playPromptAction.<\/td>\n<\/tr>\n<tr>\n<td><code>maxRecordDurationInSeconds<\/code><\/td>\n<td><code>Edm.Int32<\/code><\/td>\n<td>Exposed in playPromptAction.<\/td>\n<\/tr>\n<tr>\n<td><code>playBeep<\/code><\/td>\n<td><code>Edm.Boolean<\/code><\/td>\n<td>Exposed in playPromptAction.<\/td>\n<\/tr>\n<tr>\n<td><code>streamWhileRecording<\/code><\/td>\n<td><code>Edm.Boolean<\/code><\/td>\n<td>Exposed in playPromptAction.<\/td>\n<\/tr>\n<tr>\n<td><code>stopTones<\/code><\/td>\n<td><code>Collection(Edm.String)<\/code><\/td>\n<td>Exposed in playPromptAction.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-51\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"rename-properties\">Rename properties<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter Old Name<\/td>\n<td>Parameter New Name<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>recordResourceLocation<\/code><\/td>\n<td><code>recordingLocation<\/code><\/td>\n<td><code>string<\/code><\/td>\n<td>No<\/td>\n<td>The record resource location.<\/td>\n<\/tr>\n<tr>\n<td><code>recordResourceAccessToken<\/code><\/td>\n<td><code>recordingAccessToken<\/code><\/td>\n<td><code>string<\/code><\/td>\n<td>No<\/td>\n<td>The record resource access token..<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-52\" class=\"wmd-preview-section preview-content\">\n<h2 id=\"onlinemeeting-entity-updates\">onlineMeeting entity updates<\/h2>\n<\/div>\n<div id=\"wmd-preview-section-53\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"rename-properties-in-onlinemeeting-entity-to-match-graph-specifications\">Rename properties in onlineMeeting entity to match Graph specifications.<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter Old Name<\/td>\n<td>Parameter New Name<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>creationTime<\/code><\/td>\n<td><code>creationDateTime<\/code><\/td>\n<td><code>Edm.DateTimeOffset<\/code><\/td>\n<td>Set all properties with DateTime type as xxxDateTime.<\/td>\n<\/tr>\n<tr>\n<td><code>startTime<\/code><\/td>\n<td><code>startDateTime<\/code><\/td>\n<td><code>Edm.DateTimeOffset<\/code><\/td>\n<td>Set all properties with DateTime type as xxxDateTime.<\/td>\n<\/tr>\n<tr>\n<td><code>endTime<\/code><\/td>\n<td><code>endDateTime<\/code><\/td>\n<td><code>Edm.DateTimeOffset<\/code><\/td>\n<td>Set all properties with DateTime type as xxxDateTime.<\/td>\n<\/tr>\n<tr>\n<td><code>canceledTime<\/code><\/td>\n<td><code>canceledDateTime<\/code><\/td>\n<td><code>Edm.DateTimeOffset<\/code><\/td>\n<td>Set all properties with DateTime type as xxxDateTime.<\/td>\n<\/tr>\n<tr>\n<td><code>expirationTime<\/code><\/td>\n<td><code>expirationDateTime<\/code><\/td>\n<td><code>Edm.DateTimeOffset<\/code><\/td>\n<td>Set all properties with DateTime type as xxxDateTime.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-54\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"remove-meetinginfo-from-onlinemeeting-entity\">Remove meetingInfo from onlineMeeting entity<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>meetingInfo<\/code><\/td>\n<td><code>Microsoft.Graph.MeetingInfo<\/code><\/td>\n<td>Deprecated. Use Participants.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-55\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"adding-new-properties-to-onlinemeeting-entity\">Adding new properties to onlineMeeting entity<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>capabilities<\/code><\/td>\n<td><code>Collection(microsoft.graph.meetingCapabilities)<\/code><\/td>\n<td>No<\/td>\n<td>Meeting capabilities.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-56\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"new-enum-meetingcapabilities\">New enum meetingCapabilities<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Value<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>questionAndAnswer<\/code><\/td>\n<td>Value indicating whether Qna is enabled.<\/td>\n<\/tr>\n<tr>\n<td><code>unknownFutureValue<\/code><\/td>\n<td>For extensible enum.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-57\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"new-property-videoteleconferenceid\">New property videoTeleconferenceId<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>videoTeleconferenceId<\/code><\/td>\n<td><code>string<\/code><\/td>\n<td>No<\/td>\n<td>The identifier that can be used by VTC devices to access the meeting.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-58\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"update-enum-meetingtype-existing-enum-new-from-last-api-review\">Update enum meetingType (existing enum) (**new from last API review)<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Value<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>meetNow<\/code><\/td>\n<td>The meeting is an ad hoc meeting.<\/td>\n<\/tr>\n<tr>\n<td><code>scheduled<\/code>\u00a0(<strong>renamed from calendar<\/strong>)<\/td>\n<td>The meeting is a scheduled meeting.<\/td>\n<\/tr>\n<tr>\n<td><code>recurring<\/code><\/td>\n<td>The meeting is a recurring meeting.<\/td>\n<\/tr>\n<tr>\n<td><code>broadcast<\/code><\/td>\n<td>The meeting is a broadcast type meeting.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-59\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"adding-new-properties-to-complex-type-meetingparticipants\">Adding new properties to complex type meetingParticipants<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>producers<\/code><\/td>\n<td><code>Collection(microsoft.graph.meetingParticipantInfo)<\/code><\/td>\n<td>No<\/td>\n<td>Producer role, for webinar meeting only.<\/td>\n<\/tr>\n<tr>\n<td><code>contributors<\/code><\/td>\n<td><code>Collection(microsoft.graph.meetingParticipantInfo)<\/code><\/td>\n<td>No<\/td>\n<td>Contributors role, for webinar meeting only.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-60\" class=\"wmd-preview-section preview-content\">\n<h2 id=\"changes-to-action-types\">Changes to action types<\/h2>\n<\/div>\n<div id=\"wmd-preview-section-61\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"reject-action\">Reject action<\/h3>\n<p>Adding new parameter CallbackUri to Reject action, allowing bots to receive notifications at a custom callback for the call after the call is rejected.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>CallbackUri<\/code><\/td>\n<td><code>string<\/code><\/td>\n<td>No<\/td>\n<td>The CallbackUri allows bots to receive notifications for the call after the call is rejected.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-62\" class=\"wmd-preview-section preview-content\">\n<h4 id=\"request\">Request<\/h4>\n<p>The following example shows the request.<\/p>\n<div>\n<pre class=\"lang:default decode:true \">POST \/app\/calls\/421f0a00-ba46-45bf-b034-d49ab0961b54\/microsoft.graph.reject\nContent-Type: application\/json; charset=utf-8\n{\n  \"reason\": \"busy\",\n  \"callbackUri\": \"https:\/\/paywu-bot.frontend.skype-graph-test.net\/24701998-1a73-4d42-8085-bf46ed0ae039\"\n}<\/pre>\n<p>In the request body, supply a JSON representation of the RejectAction object.<\/p>\n<h4 id=\"response\">Response<\/h4>\n<pre class=\"lang:default decode:true \">HTTP\/1.1 202 Accepted<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<div id=\"wmd-preview-section-66\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"redirect-action\">Redirect action<\/h3>\n<p>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.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>CallbackUri<\/code><\/td>\n<td><code>string<\/code><\/td>\n<td>No<\/td>\n<td>The CallbackUri allows bots to receive notifications for the call while the call is being redirected.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div id=\"wmd-preview-section-67\" class=\"wmd-preview-section preview-content\">\n<h3 id=\"play-prompt-action\">Play Prompt action<\/h3>\n<p>Added\u00a0<code>loop<\/code>\u00a0parameter to specify that this play sequence should be looped indefinitely. This replaces the\u00a0<code>MediaPrompt.Loop<\/code>\u00a0property that allowed bots to specify a loop count but only for a single prompt.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Parameter<\/td>\n<td>Type<\/td>\n<td>Required?<\/td>\n<td>Description<\/td>\n<\/tr>\n<tr>\n<td><code>Loop<\/code><\/td>\n<td><code>Boolean<\/code><\/td>\n<td>No<\/td>\n<td>Flag indicating whether prompt sequence needs to be played in loop or not.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re announcing several changes to the calls and online meetings APIs in Microsoft Graph beta, including a few breaking changes.<\/p>\n","protected":false},"author":69077,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-3199","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph"],"acf":[],"blog_post_summary":"<p>We&#8217;re announcing several changes to the calls and online meetings APIs in Microsoft Graph beta, including a few breaking changes.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/3199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/69077"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=3199"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/3199\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/25159"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=3199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=3199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=3199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}