Contents

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/mass

Sandbox URL

POST https://api.storekit-sandbox.apple.com/inApps/v1/subscriptions/extend/mass

Response Codes

StatusReasonTypeDescription
200OK
Content-Type: application/json
MassExtendRenewalDateResponse

Request succeeded.

If you reuse the requestIdentifier to call the endpoint again, the server responds with 200.

400Bad Request
Content-Type: application/json
(InvalidExtendByDaysError | InvalidProductIdError | InvalidExtendReasonCodeError | InvalidRequestIdentifierError | InvalidEmptyStorefrontCountryCodeListError | InvalidStorefrontCountryCodeError)

The request is invalid and can’t be accepted.

401Unauthorized

The JSON Web Token (JWT) in the authorization header is invalid. For more information, see Generating JSON Web Tokens for API requests.

403Forbidden
Content-Type: application/json
(SubscriptionExtensionIneligibleError | SubscriptionMaxExtensionError)

The request is invalid and can’t be accepted.

404Not 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.

500Internal 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.

See Also

Subscription-renewal-date extension