We apologise for the delay in response to your question and for not providing clarity to our response before. To answer your question in parts:
- We understand that the proposed solution may bring about a change in the way partners consume data. Currently, partners receive bulk reports/APIs in the form of a single API that contains all the necessary fields. However, we are introducing data entities, which ensures a few things: a) Enable Atlassian to provide data in near real-time. Current consolidated APIs require us to update historical data in the pipeline for more frequently changing fields such as app-name., b) Allow partners to join these entities and generate customized data according to their specific needs, not necessarily based on how Atlassian has created the logic. While this shift may not have been specifically requested by partners, we are proposing to begin with real-time evaluation data, the timeliness of the data in general has been a constant concern and keeping in mind the future data timeliness requirements of our partners. Our current plan is to expose evaluations in real-time, and in the future, we aim to expand this to include additional data as required, such as uninstalls or free-to-paid conversions, etc.
- I’d like to clarify that the shift to GraphQL is not an organization-wide decision at Atlassian, and it’s not a mandatory requirement for the suggested solution involving data entities instead of consolidated data. We are currently exploring whether we can achieve the same solution using REST APIs, with one API for each entity. However, we want our partners to be aware that this approach may not be the most efficient. With REST APIs, partners would need to make multiple calls to obtain data from each entity separately. In contrast, GraphQL would consolidate these calls into a single request to retrieve data from multiple entities.
- We also decided to provide webhooks for changes to critical entities Product, Product Entitlement, Subscription, Transaction Account and Contact (subject to change)
Please note that this functionality (real-time evaluations) will be in addition to the existing licenses APIs and not provided instead of them.