revoke

Learn about the REVOKE App Store Server Notification V2. Fired when an in-app purchase is revoked, typically due to Family Sharing changes.

App Store Server Notifications V2Revocations
revoke

The REVOKE notification fires when an in-app purchase the customer was entitled to through Family Sharing is no longer available through sharing. It always concerns a family member's shared entitlement, never the purchaser's own.


When does it fire?


This notification triggers when a shared entitlement goes away:


  • Family Sharing turned off — the purchaser disabled Family Sharing for the product
  • Family group changed — the purchaser or the family member left the group
  • Purchase refunded — the purchaser asked for and received a refund

Payload highlights


The signed transaction info includes the revoked transaction ID, the product ID, and the revocation date. Apple does not say which of the three causes applied, so treat the notification itself as the signal.


How Yeethook helps


Revocations require immediate access removal, similar to refunds. Yeethook delivers these notifications to Slack or Discord with the transaction and product already resolved, so your team can confirm the right entitlement was removed.


Common use cases


  • Revoke access for family members who lose sharing access
  • Confirm that automated entitlement removal ran for shared purchases
  • Track revocation rates for Family Sharing enabled products
  • Update entitlement records when transactions are revoked

Example payload

The decoded body for a revoked purchase, sent without a subtype. The reason lives in the inner transaction as revocationType, which is what separates a Family Sharing removal from anything else.

{
  "notificationType": "REVOKE",
  "notificationUUID": "af31d820-5c67-4e94-b3a1-06f2e75c9d41",
  "version": "2.0",
  "signedDate": 1790235476000,
  "data": {
    "appAppleId": 1234567890,
    "bundleId": "com.example.app",
    "bundleVersion": "142",
    "environment": "Production",
    "signedTransactionInfo": "eyJhbGciOiJFUzI1NiIsIng1YyI6..."
  }
}

What it looks like in Slack

Warning

Purchase revoked

Product
com.example.app.lifetime
Transaction
2000000867894321
Revocation type
Family Sharing revoke
Environment
Production

Questions about revoke

Why did I get a revocation with no refund attached?

Because the usual cause is a Family Sharing change: the purchaser left the family group or turned sharing off, so the family member loses the entitlement while the purchaser keeps theirs. No money moves, which is why Yeethook rates this a warning rather than a critical event.

How do I identify which customer lost access?

Decode the transaction and look at inAppOwnershipType, which reads FAMILY_SHARED on the copy being revoked, then match on originalTransactionId or on the appAccountToken you set at purchase time. The notification itself contains no customer identity.

Does the original purchaser lose their entitlement too?

No. Apple sends REVOKE only for the shared copy, so the purchaser's own transaction stays valid and produces no notification. Revoking access for both accounts on receipt of this event is a common and costly bug.

Related Events

Get this event in Slack or Discord

Connect Yeethook to receive revoke notifications in your team's Slack or Discord channels.

Get Started Free