I am scoping a Forge app for Jira Cloud site admins and I have hit a wall I cannot resolve from the documentation. Posting publicly because I suspect I am not the only one, and because a public answer is something the rest of us can cite.
The question. Is there a supported way for a Forge app to read the list of Marketplace apps installed on the site it is installed in? And separately, is there any supported way to get usage or last-used information for apps my app does not own?
What I found, in case it saves anyone else the afternoon.
Atlassian’s own admin console can clearly do this. The Connected apps page in admin.atlassian.com posts to /gateway/api/graphql, and its shipped bundle contains the field names appInstallations, appInstallationsByContext, appInstallationAri, appInstallationTasks, marketplaceApps and marketplaceAppByKey.
Those fields are not documented, and calling appInstallationsByContext from Forge is reported here to return:
Auth category: THIRD_PARTY_OAUTH is not allowed in service cs_apps
UPM looks promising and is not the answer. On my Cloud site, /rest/plugins/1.0/ returns 200 with application/vnd.atl.plugins.installed+json, but it enumerates the instance’s 204 internal plugins with userInstalled: 1. None of the four Marketplace apps I installed on that site appear in it. The KB article for that endpoint is labelled Data Center only, which now makes sense.
Everything else I checked comes back empty. REST v3’s app-related groups are scoped to the calling app. There is no scope for apps or app installations in either scope table. The Organizations REST API covers directories, users, groups, domains, events, policies and workspaces. The Marketplace License API is vendor-scoped and returns 403 for another vendor’s app.
The Jira audit record API is not it either. /rest/api/3/auditing/record on my site returns all 209 records across twelve categories, none of them apps, and the four Marketplace apps I installed that day do not appear anywhere in it.
The one place that clearly does hold app-level history is the organisation audit log at admin.atlassian.com, which has an explicit App filter and says it covers “managing your site and apps within the past 180 days”. As far as I can tell that is only reachable through the Organizations Events API with an organisation API token the customer creates, which is a very different product.
So my actual question is narrow. Are those GraphQL fields first-party only by design? If so, saying that plainly would be genuinely useful, because right now the absence of an answer looks like a gap rather than a decision.
And if it is a decision, is a supported app-inventory API on the roadmap? MP-113 has been Gathering Interest since November 2021.
Has anyone found a supported route?