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

same issue, 21.07.2026

Blank page when logging into App Store Connect
 
 
Q