---
title: Migrate a Subscription to Advanced Commerce API
framework: advancedcommerceapi
role: symbol
role_heading: Web Service Endpoint
path: advancedcommerceapi/migrate-subscription-to-advanced-commerce-api
---

# Migrate a Subscription to Advanced Commerce API

Migrate a subscription that a customer purchased through In-App Purchase to a subscription you manage using the Advanced Commerce API.

## URL

POST https://api.storekit.itunes.apple.com/advancedCommerce/v1/subscription/migrate/{transactionId}

## Sandbox URL

POST https://api.storekit-sandbox.itunes.apple.com/advancedCommerce/v1/subscription/migrate/{transactionId}

## Path Parameters

transactionId: The transaction identifier of the auto-renewable subscription to migrate. Use the subscription’s original transaction ID or any subsequent transaction ID of a transaction related to the subscription.

## Response Codes

200 OK: Request succeeded. 400 Bad Request: 401 Unauthorized: The JSON Web Token (JWT) in the authorization header is invalid. For more information, see Authorizing API requests from your server. 403 Forbidden: 404 Not Found: 429 : The request exceeded the rate limit. For more information, see Identifying rate limits for Advanced Commerce APIs. 500 Internal Server Error: Server error. Try again later.

## Mentioned in

Authorizing API requests from your server Advanced Commerce API changelog Identifying rate limits for Advanced Commerce APIs

## Discussion

Discussion note: You can use the Advanced Commerce API and the StoreKit In-App Purchase APIs in the same app. Both APIs use the App Store commerce system, including the same signed JWS transactions and JWS renewal info. For products that you offer using the In-App Purchase API, you set up product identifiers in App Store Connect. For products that you offer using the Advanced Commerce API, you host and manage your own catalog of SKUs and add product details dynamically at runtime.

## HTTP Body

The request body that contains the details for the migration.

## See Also

### Migration from the server

- [SubscriptionMigrateRequest](advancedcommerceapi/subscriptionmigraterequest.md)
- [SubscriptionMigrateResponse](advancedcommerceapi/subscriptionmigrateresponse.md)
- [SubscriptionMigrateItem](advancedcommerceapi/subscriptionmigrateitem.md)
- [SubscriptionMigrateRenewalItem](advancedcommerceapi/subscriptionmigraterenewalitem.md)
- [SubscriptionMigrateDescriptors](advancedcommerceapi/subscriptionmigratedescriptors.md)
