{"id":18331,"date":"2024-02-02T08:55:42","date_gmt":"2024-02-02T16:55:42","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=18331"},"modified":"2024-02-02T08:55:42","modified_gmt":"2024-02-02T16:55:42","slug":"announcing-general-availability-of-microsoft-graph-apis-for-microsoft-teams-meeting-recordings","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/announcing-general-availability-of-microsoft-graph-apis-for-microsoft-teams-meeting-recordings\/","title":{"rendered":"Announcing general availability of Microsoft Graph APIs for Microsoft Teams meeting recordings"},"content":{"rendered":"<p>We are thrilled to announce that the Microsoft Graph APIs for retrieving Microsoft Teams meeting recordings are now generally available. These APIs enable app developers to retrieve meeting recordings programmatically for scheduled calendar meetings. Channel meetings are not supported yet. Now Developers can build apps that fetch the recording content for meetings to power scenarios including <strong>reviewing past meeting recordings<\/strong>, <strong>sharing meeting highlights<\/strong> as video snippets, and creating a library of best practices to help in <strong>training &amp; onboarding<\/strong>.<\/p>\n<p>Apps in industries like Sales Enablement, HR\/interviewing, and meeting management would especially benefit from using these APIs for the above scenarios to supercharge meeting productivity for their users.<\/p>\n<h2>How to use Microsoft Graph APIs to fetch meeting recordings<\/h2>\n<p>To use the Microsoft Graph APIs for meeting recordings, you need to have a Microsoft Teams meeting with <a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoftteams\/meeting-recording\">recordings enabled<\/a>. During the meeting, the organizer\/participant needs to go to meeting controls and turn on <strong>Start Recording<\/strong>, as described in <a href=\"https:\/\/support.microsoft.com\/en-au\/office\/record-a-meeting-in-microsoft-teams-34dfbe7f-b07d-4a27-b4c6-de62f1348c24#bkmk_recordmeetingorcall\">Record a meeting in Microsoft Teams &#8211; Microsoft Support<\/a>.<\/p>\n<p>The new <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/callrecording?view=graph-rest-1.0\">callRecording<\/a> resource type represents the recording associated with an online meeting.<\/p>\n<p>You can list all the recordings associated with an online meeting by using the <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/onlinemeeting-list-recordings?view=graph-rest-1.0&amp;tabs=http\">List recordings<\/a> API. When you have the <strong>callRecording<\/strong> Id, you can call the following API to fetch the recording content:<\/p>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/callrecording-get?view=graph-rest-1.0&amp;tabs=http#example-2-get-callrecording-content\">Get callRecording Content<\/a>: The recording content is available as a single file in <em>.mp4<\/em> format.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone wp-image-18339\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/a-screenshot-of-a-computer-description-automatica-1.jpeg\" alt=\"Screenshot of Get Recording content response example\" width=\"1432\" height=\"805\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/a-screenshot-of-a-computer-description-automatica-1.jpeg 1432w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/a-screenshot-of-a-computer-description-automatica-1-300x169.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/a-screenshot-of-a-computer-description-automatica-1-1024x576.jpeg 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/a-screenshot-of-a-computer-description-automatica-1-768x432.jpeg 768w\" sizes=\"(max-width: 1432px) 100vw, 1432px\" \/><em>Figure 1: Get Recording content response example<\/em><\/p>\n<h2>Change notifications<\/h2>\n<p>We also support APIs to subscribe to <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/teams-changenotifications-callrecording-and-calltranscript\">change notifications<\/a> for when a recording content is available. You can subscribe to change notifications for recordings at three levels:<\/p>\n<ul>\n<li><strong>Tenant level<\/strong>: To get change notifications for any recording that is available for any online meeting in a tenant, subscribe to\u00a0<code><em>communications\/onlineMeetings\/getAllRecordings<\/em><\/code>.<\/li>\n<li><strong>Meeting level:<\/strong> To get change notifications for any recording that is available for a particular online meeting, subscribe to <em><code>communications\/onlineMeetings\/{onlineMeetingId}\/recordings<\/code>.<\/em><\/li>\n<li><strong>User level: <\/strong>To get change notifications for any recording for any online meeting organized by a specific user, subscribe to <em><code>users\/{userId}\/onlineMeetings\/getAllRecordings<\/code>. <\/em><\/li>\n<\/ul>\n<p>For more information about how to get started with these APIs, see <a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoftteams\/platform\/graph-api\/meeting-transcripts\/overview-transcripts\">Get meeting transcripts and recordings.<\/a><\/p>\n<h2>Billing requirements for meeting transcript APIs<\/h2>\n<p><span data-contrast=\"auto\">The API to get the recording content is metered. For details about pricing, see the <\/span><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-teams-recording-and-transcript-apis-billing-in-public-preview\/\"><span data-contrast=\"none\">Microsoft Teams Recording and Transcript APIs billing in public preview<\/span><\/a><span data-contrast=\"auto\"> blog post and <\/span><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/teams-licenses#payment-requirements-for-meeting-apis\"><span data-contrast=\"none\">Payment requirements for meeting APIs<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\"> .<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2>Related APIs<\/h2>\n<p><span data-contrast=\"auto\">Related APIs that complement the recording APIs when building applications for Teams meeting scenarios are also available. For details, you can review the following resources:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:770,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">APIs to fetch meeting transcripts (GA): <\/span><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/calltranscript?view=graph-rest-1.0\"><span data-contrast=\"none\">callTranscript resource type &#8211; Microsoft Graph v1.0 | Microsoft Learn<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:770,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">APIs to list all transcripts and recordings for all meetings where a user is the organizer (public preview):\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:1490,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Courier New&quot;,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"2\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/onlinemeeting-getalltranscripts?view=graph-rest-beta&amp;tabs=http\"><span data-contrast=\"none\">onlineMeeting: getAllTranscripts &#8211; Microsoft Graph beta | Microsoft Learn<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:1490,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Courier New&quot;,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"2\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/onlinemeeting-getallrecordings?view=graph-rest-beta&amp;tabs=http\"><span data-contrast=\"none\">onlineMeeting: getAllRecordings &#8211; Microsoft Graph beta | Microsoft Learn<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">For more information about Microsoft Teams APIs, visit <\/span><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/teams-api-overview?view=graph-rest-beta\"><span data-contrast=\"none\">Use the Microsoft Graph API to work with Microsoft Teams &#8211; Microsoft Graph beta | Microsoft Learn<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><em>Follow us on <a href=\"http:\/\/twitter.com\/microsoft365dev\">X (Twitter) \/ @Microsoft365Dev<\/a> and subscribe to our <a href=\"https:\/\/www.youtube.com\/microsoft365developer\">YouTube channel<\/a> to stay up to date on the latest developer news and announcements.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft Graph APIs for retrieving Microsoft Teams meeting recordings enable app developers to retrieve meeting recordings programmatically for scheduled calendar meetings.<\/p>\n","protected":false},"author":127426,"featured_media":18335,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3,128],"tags":[146],"class_list":["post-18331","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","category-microsoft-teams","tag-microsoft-graph-api"],"acf":[],"blog_post_summary":"<p>Microsoft Graph APIs for retrieving Microsoft Teams meeting recordings enable app developers to retrieve meeting recordings programmatically for scheduled calendar meetings.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/18331","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\/127426"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=18331"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/18331\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/18335"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=18331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=18331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=18331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}