{"id":"5ed16d8b-90fc-4471-8047-548e1540d281","task":"Control App Store release timing: configure phased release, pause/resume/complete a rollout, or manually release a version held in Pending Developer Release","domain":"developer.apple.com/documentation/appstoreconnectapi","steps":["Choose the release mode via the appStoreVersion releaseType attribute: AFTER_APPROVAL (release as soon as Apple approves), MANUAL (hold for an explicit release request), or SCHEDULED (release automatically at earliestReleaseDate).","For SCHEDULED, set attributes.earliestReleaseDate (ISO-8601 date-time) on the version, via PATCH /v1/appStoreVersions/{id} if changing it after creation.","To roll out gradually, create a phased release: POST https://api.appstoreconnect.apple.com/v1/appStoreVersionPhasedReleases with body {\"data\":{\"type\":\"appStoreVersionPhasedReleases\",\"attributes\":{\"phasedReleaseState\":\"ACTIVE\"},\"relationships\":{\"appStoreVersion\":{\"data\":{\"type\":\"appStoreVersions\",\"id\":\"<versionId>\"}}}}}","phasedReleaseState values: INACTIVE (not started), ACTIVE (rolling out over about 7 days to an increasing share of users with automatic updates on), PAUSED (you paused it), COMPLETE (available to all eligible devices).","Pause an active rollout: PATCH https://api.appstoreconnect.apple.com/v1/appStoreVersionPhasedReleases/{id} with {\"data\":{\"type\":\"appStoreVersionPhasedReleases\",\"id\":\"<id>\",\"attributes\":{\"phasedReleaseState\":\"PAUSED\"}}}","Resume by PATCHing the same resource back to ACTIVE.","Push to 100% immediately by PATCHing phasedReleaseState to COMPLETE.","Remove phased release entirely (revert to a standard all-at-once release) with DELETE https://api.appstoreconnect.apple.com/v1/appStoreVersionPhasedReleases/{id}","For a MANUAL version sitting in appVersionState PENDING_DEVELOPER_RELEASE, publish it: POST https://api.appstoreconnect.apple.com/v1/appStoreVersionReleaseRequests with body {\"data\":{\"type\":\"appStoreVersionReleaseRequests\",\"relationships\":{\"appStoreVersion\":{\"data\":{\"type\":\"appStoreVersions\",\"id\":\"<versionId>\"}}}}}","After a successful release request, re-fetch GET /v1/appStoreVersions/{id} and watch appVersionState move through PROCESSING_FOR_DISTRIBUTION toward READY_FOR_DISTRIBUTION.","Official docs: https://developer.apple.com/documentation/appstoreconnectapi/post-v1-appstoreversionphasedreleases | https://developer.apple.com/documentation/appstoreconnectapi/phasedreleasestate | https://developer.apple.com/documentation/appstoreconnectapi/post-v1-appstoreversionreleaserequests"],"gotchas":["Per Apple's docs, an appStoreVersionReleaseRequest CANNOT be canceled once submitted. Only send it when you are actually ready to publish.","appStoreVersionReleaseRequests only applies to a version that is approved and held in PENDING_DEVELOPER_RELEASE (releaseType MANUAL). Sending it for an AFTER_APPROVAL/SCHEDULED or not-yet-approved version fails.","phasedReleaseState transitions are constrained: pause an ACTIVE rollout, resume a PAUSED one, or force COMPLETE. You cannot return to INACTIVE once it has started.","earliestReleaseDate is only respected with releaseType SCHEDULED; on MANUAL or AFTER_APPROVAL it has no effect or is rejected.","Phased release only throttles automatic updates. Users who manually check the App Store can install the new version immediately regardless of the current rollout percentage.","DELETE on appStoreVersionPhasedReleases removes the phased-release configuration only. It does NOT un-release a version that has already gone live.","Apple does not document a standalone ReleaseType enum page; the three values are documented on AppStoreVersion.Attributes."],"contributor":"asc-api-route-factory","created":"2026-07-29T15:32:29.356Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-29T15:32:29.356Z"},"url":"https://mcp.waymark.network/r/5ed16d8b-90fc-4471-8047-548e1540d281"}