{"id":12409,"date":"2022-12-02T08:00:42","date_gmt":"2022-12-02T16:00:42","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=12409"},"modified":"2023-02-22T14:29:25","modified_gmt":"2023-02-22T22:29:25","slug":"principles-for-monetizing-selected-microsoft-365-apis","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/principles-for-monetizing-selected-microsoft-365-apis\/","title":{"rendered":"Principles for monetizing selected Microsoft 365 APIs\u00a0"},"content":{"rendered":"<p><span data-contrast=\"auto\">Microsoft offers access to Microsoft 365 API endpoints, including Microsoft Graph and its precursor APIs, through a licensing entitlement included with the purchase of certain products. As a result, developers have historically used these APIs at no additional cost.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We are excited that the scope and usage of our APIs has grown dramatically over the past years. <\/span><span data-contrast=\"auto\">All along, we\u2019ve aspired to ensure fair access to all customers. To make that possible, we have always had throttling limits to protect the reliability of the system. <\/span><span data-contrast=\"auto\">Today, API usage has grown to the point that apps, including some considered business-critical, frequently exceed our services\u2019 throttling limits. Customers and developers are asking us for increased bandwidth and enriched functionality, purpose-built for specific scenarios.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To power the next generation of these business-critical applications, we are exploring new advanced capabilities that empower developers with enriched functionality and data access at scale.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For example, over the last year, Microsoft introduced Azure-metered access to some new Microsoft 365 APIs and services. We started with <\/span><a href=\"https:\/\/developer.microsoft.com\/graph\/data-connect\"><span data-contrast=\"none\">Microsoft Graph Data Connect<\/span><\/a><span data-contrast=\"auto\">, and recently started metering a select set of Teams API endpoints on Microsoft Graph APIs. With this new approach, it\u2019s important to clarify that <\/span><b><span data-contrast=\"auto\">we are not changing how we license or charge for existing, generally available, Microsoft Graph APIs<\/span><\/b><span data-contrast=\"auto\">. We are adding new value and making it available on a pay-as-you-go model. In this blog, we share<\/span><span data-contrast=\"auto\"> some of the thoughts and principles behind how we are approaching these new metered services.\u00a0\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">Principles<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Here are the working principles that guide our approach to Microsoft 365 API endpoints.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li><b><span data-contrast=\"auto\">Customer Data ownership:<\/span><\/b><span data-contrast=\"auto\"> Customer <\/span><span data-contrast=\"auto\">data belongs to the customer. Learn more about how <\/span><a href=\"https:\/\/www.microsoft.com\/en-us\/trust-center\/privacy\/customer-data-definitions#:~:text=It%20includes%20customer%20content%2C%20which%20is%20the%20data,site%20content%2C%20or%20instant%20messaging%20conversations.%20Personal%20data\"><span data-contrast=\"none\">Microsoft categorizes customer data.<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><b><span data-contrast=\"auto\">Reasonable access<\/span><\/b><span data-contrast=\"auto\">: We include access to Customer content, within <\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/throttling-limits\"><span data-contrast=\"none\">defined limits<\/span><\/a><span data-contrast=\"auto\">, in our user license, and <\/span><span data-contrast=\"auto\">provide developer experiences and documentation focused on cohesion, simplicity, and transparency \u2013 around reasonable usage, throttling limits, and pricing.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><b><span data-contrast=\"auto\">Trust<\/span><\/b><span data-contrast=\"auto\">: We understand the importance of the trust our developers, partners, and customers place in us. A change to a generally available API would always follow our <\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/versioning-and-support\"><span data-contrast=\"none\">breaking change policy<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><b><span data-contrast=\"auto\">Ecosystem health<\/span><\/b><span data-contrast=\"auto\">: We strive for a balance between platform access and cost to ensure the health of our current and future ecosystem.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">Categories of services<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">With these principles in place, we want to address three categories of use cases. Note that these categories are useful for illustration but don\u2019t reflect any formal naming or branding.<\/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=\"49\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&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\"><b><span data-contrast=\"auto\">Standard: <\/span><\/b><span data-contrast=\"auto\">this category includes the broad set of APIs used by developers and customers to perform \u201cCRUD\u201d (create, read, update, delete) operations on customer content and administrative endpoints for service configuration. We continue to define and update the limits of reasonable access based on documented usage thresholds to protect our customer experience and encourage good API usage patterns. We will continue to include access to this category of APIs within the defined limits as part of the user license without any additional costs to developers. This will continue to be the default category for most new endpoints.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:100,&quot;335559739&quot;:200,&quot;335559740&quot;:276}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"49\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&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=\"2\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">High-Capacity APIs<\/span><\/b><span data-contrast=\"auto\">: we want to ensure that our customers and developers have access to data at scale. High-capacity APIs may include a new tier of monetized services geared for business-critical applications with high usage patterns. This category also includes purpose-built, bulk-export services like<\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoftteams\/export-teams-content#license-requirements-for-teams-export-apis\"><span data-contrast=\"none\"> Teams Export APIs<\/span><\/a><span data-contrast=\"auto\"> and <\/span><a href=\"https:\/\/developer.microsoft.com\/graph\/data-connect\"><span data-contrast=\"none\">Microsoft Graph Data Connect<\/span><\/a><span data-contrast=\"auto\">, bulk-import capabilities such as <\/span><a href=\"https:\/\/developer.microsoft.com\/graph\/connectors\"><span data-contrast=\"none\">Microsoft Graph Connectors<\/span><\/a><span data-contrast=\"auto\">, and future bulk export or import endpoints.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:100,&quot;335559739&quot;:200,&quot;335559740&quot;:276}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"49\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&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=\"3\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">\u00a0Advanced APIs: <\/span><\/b><span data-contrast=\"auto\">The third category focuses offering access to data that\u2019s enriched or aggregated by Microsoft or offering access to advanced functionality extended directly from Microsoft 365 infrastructure as we\u2019ve done with <\/span><a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/communication-services\/#overview\"><span data-contrast=\"none\">Azure Communication Services<\/span><\/a><span data-contrast=\"auto\">. <\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:100,&quot;335559739&quot;:200,&quot;335559740&quot;:276}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">Looking ahead<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Our objective is to provide our customers and partners with clarity around our plans for consumption-based APIs to ensure they have the time to understand and integrate associated costs and value into their solution\u2019s business model. Please share your questions and comments with us in the comments section of this blog.\u00a0 We will schedule time to address feedback on an upcoming Microsoft 365 developer community call once we have gathered sufficient commentary and had time to put together thoughtful responses.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Thanks,<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The Microsoft Graph team<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog, we share some thoughts and principles about how we are approaching new metered services, with a pay-as-you-go model.<\/p>\n","protected":false},"author":69077,"featured_media":12414,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3,128],"tags":[119,157],"class_list":["post-12409","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","category-microsoft-teams","tag-azure-communication-services","tag-microsoft-graph-connectors"],"acf":[],"blog_post_summary":"<p>In this blog, we share some thoughts and principles about how we are approaching new metered services, with a pay-as-you-go model.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/12409","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=12409"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/12409\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/12414"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=12409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=12409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=12409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}