I Had to Use Apple's API to Fix Their Own Broken Website

Richard Andrews
Richard Andrews ·5 min read
X LinkedIn
App Store Connect version page with the In-App Purchases section completely missing — where the IAP section should have been

I built an iOS app called Habit Doom. It locks your distracting apps until you do your habits. After 97 days of development and 21 bugs, I was finally ready to add in-app purchases and start making money.

Then Apple's own website broke.

What Happened

I had version 1.4 of Habit Doom live on the App Store. I needed to submit version 1.5 with a Lifetime purchase option. Standard stuff.

I renamed v1.4 to v1.5 in App Store Connect — the developer portal where you manage your app's versions, screenshots, pricing, and in-app purchases. The rename went through. Everything looked normal.

Except the "In-App Purchases and Subscriptions" section was gone. Not collapsed. Not hidden behind a toggle. Gone. The entire section — where you attach IAPs to a version for review — had vanished from the page.

No error message. No warning. Just a version page with a hole where the IAP section should have been.

The Spiral

I assumed I had done something wrong. Maybe renaming a version was not the right approach. So I created a completely fresh version — v1.5, via "+ Version or Platform." New version, clean slate.

The IAP section was still missing.

I deleted it. Created v1.6. Missing.

Deleted. Created v1.7. Missing.

I tried different browsers. I cleared my cache. I tried Safari, Chrome, Firefox. I logged out and back in. I tried a different Apple ID with developer access.

Four versions. Same result. The section was simply not there.

Apple Support

I filed a support case. Apple's response was polite and unhelpful — the standard "we are looking into it" that every indie developer knows means "you are on your own."

Meanwhile, I also needed to submit the EU Digital Services Act compliance form — a legal requirement for apps available in Europe. That form had its own bug: it got stuck on a "Verify Your Information" spinner and would not submit. A separate support case. A separate wait.

My monthly and yearly subscriptions were also stuck in a state called DEVELOPER_ACTION_NEEDED. They could not be submitted because they also required the missing IAP section. One UI bug was now blocking three different revenue streams.

I had been building this app for over three months. The code was done. The app was live. Users were downloading it. And I could not charge money because Apple's website was broken.

The Workaround

After a week of going in circles with the web UI, I did something I never expected to do: I bypassed App Store Connect entirely.

Apple has a REST API for App Store Connect. It is the same system that powers the website, but accessed programmatically. You can create versions, upload builds, manage IAPs, and submit for review — all without touching the web UI.

I generated an API key, looked up my Lifetime purchase's inAppPurchaseV2 ID, and used the API to create an inAppPurchaseSubmission resource attached to my v1.7 build.

It worked. The API accepted the submission. The Lifetime IAP went into review alongside the app version.

The API worked. The website — Apple's own tool for developers — was broken. The API that powers the same tool was fine.

What This Cost Me

A week. Maybe more. A week of no revenue while I had a live app with paying users who could not pay. A week of filing support cases and refreshing a web page hoping a section would reappear. A week of creating and deleting versions, one after another, trying to find a combination that worked.

For a company that generates $100 billion a year from the App Store, this is a rounding error. For a solo developer with 82 downloads and $0 in revenue, it was a gut punch.

If This Happens to You

Here is what I would tell any developer who hits this bug:

  1. Do not waste time refreshing the web UI. If the IAP section is missing, creating new versions will not fix it. I tried four times.

  2. Go straight to the App Store Connect REST API. The documentation is at developer.apple.com/app-store-connect/api. Generate an API key under Users and Access. Use the inAppPurchaseSubmissions endpoint to attach your IAP to the version programmatically.

  3. File a support case anyway. Even if it does not help you immediately, Apple needs to know the bug exists. Reference the missing section specifically.

  4. Do not rename existing versions. Create fresh versions from scratch. It does not guarantee the bug will not appear, but renaming is what triggered it for me.

I do not know if this bug has been fixed since I hit it. If you are reading this in 2027 and the IAP section is showing up fine, consider yourself lucky. If it is still broken — now you know the workaround.

Habit Doom is live on the App Store. The Lifetime purchase works. It just took an extra week and a detour through Apple's REST API to get there.

Frequently Asked Questions

This appears to be a persistent UI bug in App Store Connect. Renaming an existing version (e.g., 1.4 to 1.5) can cause the In-App Purchases and Subscriptions section to vanish from the version page. Creating fresh versions via '+ Version or Platform' also does not reliably restore it. As of March 2026, the bug still occurs.
You can use the App Store Connect REST API to create an inAppPurchaseSubmission resource and attach it to your app version programmatically. This bypasses the web UI entirely. You need an API key from App Store Connect and the inAppPurchaseV2 ID of the purchase you want to submit.
Habit Doom is free to download and use. Core features including habit tracking, app blocking, and streaks work without paying. Premium features are available for $2.99/month, $19.99/year (with a 14-day free trial), or $34.99 for lifetime access. No ads. Download it from the App Store.

Keep Reading

Try Habit Doom

Lock your distracting apps. Complete your habits. Earn your screen time. It takes 30 seconds to set up.

AppleDownload Free
Habit DoomNo sign-in required
AppleDownload Free