Blank page when logging into App Store Connect

When I sign into App Store Connect, I am taken to this URL: https://appstoreconnect.apple.com/review_agree

The page shows a gray activity spinner for a few seconds, then is blank. I have tried on multiple computers and multiple browsers, over the past few weeks, with the same result.

I have lodged a developer support request, but it hasn’t been resolved yet. It’s been holding up our App Store submission for a couple of weeks now. Any ideas of things I could try, or has anyone else had this issue and had it resolved ?

2026, still the same issue. Thats amazing :)

I solve it using direclt API from the browser console. Here is how I did it:

Workaround: Create API Keys via browser console when Integrations page is blank If the "Integrations" tab under Users and Access shows a blank page (with console error [maison] integrations @ url(/access/m-integrations/asset-manifest.json): No app or default mount found!), you can use the internal REST API directly from the browser console.

Steps:

Go to https://appstoreconnect.apple.com and make sure you're logged in with an Account Holder or Admin account Open the browser developer console (F12 → Console tab) Create the API Key:

jsfetch('/iris/v1/apiKeys', { method: 'POST', credentials: 'include', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify({ data: { type: 'apiKeys', attributes: { nickname: 'NEED_TO_DO_SOME_STUFF', allAppsVisible: true, keyType: 'PUBLIC_API', roles: ['APP_MANAGER'] } } }) }).then(r => r.json()).then(d => { console.log('✅ Key created!'); console.log('Key ID:', d.data.id); window._newKeyId = d.data.id; })

Download the .p8 private key (run immediately after — Apple allows this only ONCE):

jsfetch('/iris/v1/apiKeys/' + window.newKeyId + '?fields[apiKeys]=privateKey', { credentials: 'include', headers: {'Accept': 'application/json'} }).then(r => r.json()).then(d => { const key = atob(d.data.attributes.privateKey); const blob = new Blob([key], {type: 'text/plain'}); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = 'AuthKey' + d.data.id + '.p8'; a.click(); console.log('✅ .p8 file downloaded!'); })

Get the Issuer ID:

jsfetch('/iris/v1/apiKeys/' + window._newKeyId + '/provider', { credentials: 'include', headers: {'Accept': 'application/json'} }).then(r => r.json()).then(d => { console.log('Issuer ID:', d.data.id); })

To list existing keys:

jsfetch('/iris/v1/apiKeys', { credentials: 'include', headers: {'Accept': 'application/json'} }).then(r => r.json()).then(d => console.log(d))

To revoke/delete a key:

jsfetch('/iris/v1/apiKeys/YOUR_KEY_ID_HERE', { method: 'DELETE', credentials: 'include', headers: {'Accept': 'application/json'} }).then(r => console.log('Deleted:', r.status))

Tested April 2026.

This is a workaround for the blank Integrations page bug that has been open since 2022.

Thanks to Opus 4.6 that adress this solution

Blank page when logging into App Store Connect
 
 
Q