Event Types

A reference guide to all App Store Connect webhook events and App Store Server Notification V2 events supported by Yeethook.

Yeethook listens for two kinds of Apple events: App Store Connect webhook events (operational events like build processing and app review) and App Store Server Notifications V2 (in-app purchase and subscription lifecycle events). This page explains every event type Yeethook supports.


App Store Connect Events

These events are delivered via App Store Connect webhooks (introduced at WWDC 2025). They cover the operational lifecycle of your app — builds, reviews, TestFlight, and more. In Quick Start mode, Yeethook configures these webhooks automatically.

App Version

EventDescription
APP_STORE_VERSION_APP_VERSION_STATE_UPDATEDAn App Store version state changed. Fired when a version is approved, rejected, or moves to another review state.

Builds

EventDescription
BUILD_UPLOAD_STATE_UPDATEDA build upload state changed. Fired when processing completes, fails, or the build becomes ready for testing or submission.

TestFlight

EventDescription
BUILD_BETA_DETAIL_EXTERNAL_BUILD_STATE_UPDATEDA TestFlight external build state changed. Fired when a beta build is approved, rejected, or expires.
BETA_FEEDBACK_CRASH_SUBMISSION_CREATEDA TestFlight tester submitted a crash report. Includes crash logs and device details.
BETA_FEEDBACK_SCREENSHOT_SUBMISSION_CREATEDA TestFlight tester submitted a screenshot with feedback.

Alternative Distribution

EventDescription
ALTERNATIVE_DISTRIBUTION_PACKAGE_VERSION_CREATEDA new alternative distribution package version was created.
ALTERNATIVE_DISTRIBUTION_PACKAGE_AVAILABLE_UPDATEDAn alternative distribution package's availability changed.
ALTERNATIVE_DISTRIBUTION_TERRITORY_AVAILABILITY_UPDATEDAlternative distribution territory availability changed.

Background Assets

EventDescription
BACKGROUND_ASSET_VERSION_STATE_UPDATEDA background asset version state changed — for example, processing completed.
BACKGROUND_ASSET_VERSION_APP_STORE_RELEASE_STATE_UPDATEDA background asset version App Store release state changed.
BACKGROUND_ASSET_VERSION_EXTERNAL_BETA_RELEASE_STATE_UPDATEDA background asset version external beta release state changed.
BACKGROUND_ASSET_VERSION_INTERNAL_BETA_RELEASE_CREATEDA background asset version was created for internal beta release.

For the full App Store Connect webhook documentation, see Manage webhooks and WWDC 2025 Session 324 on Apple Developer.


App Store Server Notifications V2

These events are delivered via App Store Server Notifications. They cover the lifecycle of in-app purchases and auto-renewable subscriptions. In Quick Start mode, Yeethook registers the notification URL for each of your apps automatically.

Subscriptions

EventDescription
SUBSCRIBEDA customer subscribed to an auto-renewable subscription for the first time, or re-subscribed after expiration.
DID_RENEWAn auto-renewable subscription successfully renewed for a new billing period.
DID_CHANGE_RENEWAL_STATUSA customer changed their subscription renewal status — for example, turned off auto-renew.
DID_CHANGE_RENEWAL_PREFA customer changed their subscription plan preference — for example, upgraded or downgraded to a different plan.
DID_FAIL_TO_RENEWA subscription failed to renew due to a billing issue such as an expired payment method.
EXPIREDA subscription expired and is no longer active.
GRACE_PERIOD_EXPIREDThe billing grace period after a failed renewal has ended without successful payment.

Offers

EventDescription
OFFER_REDEEMEDA customer redeemed a subscription offer code (introductory, promotional, or win-back offer).
PRICE_INCREASEThe system requires customer consent for a subscription price increase before it can take effect.

Refunds

EventDescription
REFUNDApple refunded an in-app purchase transaction.
REFUND_DECLINEDApple declined a customer's refund request.
REFUND_REVERSEDApple reversed a previously granted refund — the original transaction is active again.

Revocations

EventDescription
REVOKEAn in-app purchase was revoked. This typically happens when a purchase is no longer shared through Family Sharing, or when Apple revokes a transaction.

Purchases

EventDescription
ONE_TIME_CHARGEA customer purchased a consumable, non-consumable, or non-renewing subscription, including Family Sharing access to a non-consumable.
EventDescription
RESCIND_CONSENTA parent or guardian withdrew consent for a child's use of your app. Apple then prevents the app from launching for that child.

Other

EventDescription
CONSUMPTION_REQUESTApple is requesting consumption data to help process a customer's refund request. Your server should respond with usage information.
TESTA test notification sent to verify your server endpoint is reachable and responding correctly.
RENEWAL_EXTENDEDA subscription renewal date was extended, giving the customer additional time before the next billing date.
RENEWAL_EXTENSIONA batch renewal-date extension finished. The SUMMARY subtype reports succeeded and failed counts; FAILURE reports a single subscriber that could not be extended.
EXTERNAL_PURCHASE_TOKENAn external purchase token event for apps that use alternative payments in the EU. Subtypes include CREATED, ACTIVE_TOKEN_REMINDER, and UNREPORTED.

Advanced Commerce

These notification types fire only for apps that use Apple's Advanced Commerce API. They are available in Yeethook's event selector but are not selected by default.

EventDescription
METADATA_UPDATEYou changed subscription metadata through the Change Subscription Metadata endpoint.
MIGRATIONYou migrated a subscription to the Advanced Commerce API.
PRICE_CHANGEYou changed a subscription price through the Change Subscription Price endpoint.

For the full App Store Server Notifications documentation, see notificationType on Apple Developer.