Migrating content between SitecoreAI environments
You can use the Content Transfer API and the Item Transfer API to migrate content between SitecoreAI environments.
- The Content Transfer API securely exports content items from one SitecoreAI environment into another. The API packages content data from your source environment into
.raiffiles in the destination environment. - The Item Transfer API loads the
.raiffiles into the destination database.
You can use the APIs via standard HTTP requests or through the Sitecore Command Line Interface (CLI).
For step-by-step instructions on how to use the APIs via standard HTTP requests, see the Migrate content using APIs walkthrough. Note that the same instructions are also available in the Migrating content sections of the Content Transfer API and the Item Transfer API specifications. This allows AI coding assistants and agent tools that directly consume the OpenAPI specifications to guide you through the migration workflow without leaving your development environment.
To migrate Sitecore XM/XP sites to SitecoreAI (as opposed to migrating content between SitecoreAI environments), use SitecoreAI Pathway instead.
The rest of this topic is relevant only if you previously used the Package Designer for content migrations and want to understand how your existing workflows map to the new APIs.
Differences from the Package Designer workflows
Starting with base image version 1.8.24 and effective July 7, 2026, the Package Designer is no longer available in SitecoreAI. If you previously used the Package Designer to transfer content between SitecoreAI environments, you can now use the Content Transfer API and the Item Transfer API to accomplish the same tasks.
The Package Designer allowed you to export items, files, and security accounts from a SitecoreAI environment by generating a .zip package and installing them in another SitecoreAI environment. The new APIs replace this with a server-side transfer mechanism, and they have the following advantages:
- No size limitations - the Content Transfer API uses chunked streaming, so there is no need to break large migrations into multiple smaller packages. Note that if you use the Item Transfer API to upload a
.raiffile directly from your local file system (without using the Content Transfer API), a 100 MB file size limit applies. - No manual file download or upload - data streams directly between environments through the APIs.
- Merge strategies are set upfront - instead of choosing a conflict resolution option during installation, you specify
MergeStrategywhen you create the transfer operation.
The following sections map Package Designer tasks and concepts to their equivalents in the new workflow.
Content migration concepts
The following Package Designer concepts have direct equivalents in the Content Transfer API and the Item Transfer API:
| Package Designer concept | Modern equivalent |
|---|---|
| Add Item | Scope: SingleItem in DataTrees |
| Add with Subitems | Scope: ItemAndDescendants in DataTrees |
| Overwrite (installation option) | MergeStrategy: OverrideExistingItem |
| Skip (installation option) | MergeStrategy: KeepExistingItem |
| Merge the entire tree (installation option) | MergeStrategy: OverrideExistingTree |
Generate .zip | Create a transfer and complete chunk sets, which produces .raif files |
| Installation Wizard | Item Transfer API |
.zip package file | .raif file |
OverrideExistingTree is the only merge strategy that deletes existing items. It removes the item and all its descendants from the destination before writing the transferred items.
Generating packages programmatically
If you previously generated packages programmatically using code instead of the Package Designer, you can generate a .raif file in code and upload it directly to the destination environment using the Upload a blob source endpoint in the Item Transfer API. Note that this approach has a 100 MB file size limit and is intended for smaller, ad-hoc transfers. For larger programmatic migrations, use the Content Transfer API to generate .raif files via chunked streaming instead.
For a reference implementation that generates .raif files by bulk-extracting content from Sitecore Content Hub, see ContentHub.BulkTransfer.CLI. This open-source .NET CLI tool shows how to map Content Hub entities to Sitecore items and write them into .raif files, which are then consumed using the Item Transfer API.
Alternatively, .raif files can be deployed as build artifacts via source control. Place the files in {projectName}\App_Data\sitecore transferred items\master\ in your project repository and include the folder in your build configuration. Files deployed this way support up to 5 GB per file, and are consumed manually using the Item Transfer API after deployment.
Alternatives to other Package Designer tasks
While the Content Transfer API and the Item Transfer API directly replace the Package Designer for content migration tasks, the designer could also be used for other tasks that the new APIs do not cover:
- Migrate security accounts - the Package Designer could export and install users and roles. The recommended alternatives in SitecoreAI are:
- Claims mapping - map your external identity provider's roles to SitecoreAI roles so that user access is handled automatically, without manual import.
- Sitecore CLI - use the serialization plugin to manage roles, for example, to script user creation programmatically.
- Deploy code or configuration files - the Package Designer could install files such as DLLs, configs, and handlers directly into a SitecoreAI environment. This approach is not supported in SitecoreAI because environments are immutable. This means that any files installed this way are lost when an environment restarts. Instead, include all code and configuration changes in your source control and deploy them through your CI/CD pipeline.