Extend Subscription Renewal Dates for All Active Subscribers
Uses a subscription’s product identifier to extend the renewal date for all of its eligible active subscribers.
URL
POST https://api.storekit.apple.com/inApps/v1/subscriptions/extend/massSandbox URL
POST https://api.storekit-sandbox.apple.com/inApps/v1/subscriptions/extend/massResponse Codes
| Status | Reason | Type | Description |
|---|---|---|---|
| 200 | OK Content-Type: application/json | MassExtendRenewalDateResponse | Request succeeded. If you reuse the requestIdentifier to call the endpoint again, the server responds with |
| 400 | Bad Request Content-Type: application/json | (InvalidExtendByDaysError | InvalidProductIdError | InvalidExtendReasonCodeError | InvalidRequestIdentifierError | InvalidEmptyStorefrontCountryCodeListError | InvalidStorefrontCountryCodeError) | The request is invalid and can’t be accepted. |
| 401 | Unauthorized | The JSON Web Token (JWT) in the authorization header is invalid. For more information, see Generating JSON Web Tokens for API requests. | |
| 403 | Forbidden Content-Type: application/json | (SubscriptionExtensionIneligibleError | SubscriptionMaxExtensionError) | The request is invalid and can’t be accepted. |
| 404 | Not Found Content-Type: application/json | StatusRequestNotFoundError | The server didn’t find a subscription-renewal-date extension request for the request identifier and product identifier you provided. |
| 429 | Content-Type: application/json | RateLimitExceededError | The request exceeded the rate limit. |
| 500 | Internal Server Error Content-Type: application/json | (GeneralInternalError | GeneralInternalRetryableError) | The request failed. This may be due to a temporary outage. Check the specific error message for further information. |
Mentioned in
Discussion
Use this endpoint to compensate your customers for temporary service outages, canceled events, or interruptions to live streamed events by extending the renewal date of their paid, active subscription. This endpoint acts on all active subscriptions for the product identifier you specify, and is limited to the storefronts you optionally specify.
To call this endpoint, provide the subscription product identifier that experienced the service interruption, and other information, in the request body, MassExtendRenewalDateRequest.
A successful response with an HTTP 200 status code contains the MassExtendRenewalDateResponse object, which includes the same unique requestIdentifier you provide in the request. This endpoint is an asynchronous request. A successful response indicates that the App Store server is processing the request. Status codes other than HTTP 200 indicate that the request failed.
After a successful renewal date extension, Apple sends an email to notify the customer of their updated subscription renewal date.
For more information about this endpoint, including subscription eligibility, getting status notifications, and retrying extensions that fail, see Extending the renewal date for auto-renewable subscriptions.
HTTP Body
The request body for extending a subscription renewal date for all of its active subscribers.