Last Updated on August 3, 2026 by sandeeppote

See the blog post on how to create a transfer in source environment – Link
To generate the Automation client and token see this blog post – Link
State of content tree in source environment

State of content tree in destination environment before migration

Step 1 – Save Data Chunk
Destination environment
Http Method – PUT
Url – https://your-xmc-instance.sitecorecloud.io/sitecore/api/content/transfer/v1/transfers/{transferID}/chunksets/{chunksetID}/chunks/{chunkID}
Example- https://your-xmc-instance.sitecorecloud.io/sitecore/api/content/transfer/v1/transfers/004d321e-1100-4e41-ad25-465fb304ee5a/chunksets/95e3b762-a002-4333-b141-13cdc513b1ee/chunks/0
Headers-
Content-Type: application/octet-stream
Authorization – token
Payload– Attach the file (response.bin)
Response-
201 – Created

This saves the chunck to the Azure Blob
Step 2 – Complete the chunk set
Http Method- Post
Url- https://your-xmc-instance.sitecorecloud.io/sitecore/api/content/transfer/v1/transfers/{transferID}/chunksets/{chunksetID}/complete
Example – https://your-xmc-instance.sitecorecloud.io/sitecore/api/content/transfer/v1/transfers/1ec8122c-a25e-49b0-a0fb-bd47dfccdf8b/chunksets/30fca7fa-0775-436f-957e-71b74b1ef6ef/complete
Headers-
Authorization – token
Payload– Not Applicable
Response-
{
"ContentTransferFileName": "contentTransfer-1ec8122c-a25e-49b0-a0fb-bd47dfccdf8b-30fca7fa-0775-436f-957e-71b74b1ef6ef.raif"
}

Note down the file name with extension raif
Step 3 – Verify the blob
Http Method- Get
Url- https://your-xmc-instance.sitecorecloud.io/sitecore/shell/api/v3/ItemsTransfer/sources/blobs
Headers-
Authorization – token
Response-
{
"Sources": [
{
"Name": "contentTransfer-1ec8122c-a25e-49b0-a0fb-bd47dfccdf8b-30fca7fa-0775-436f-957e-71b74b1ef6ef.raif",
"BlobState": "Uploaded"
}
],
"Page": 1,
"PageSize": 50,
"TotalCount": 3
}
Check the BlobState- Uploaded

Step 4 – Consume Blob (Transfer chunk)
Http Method- POST
Url- https://your-xmc-instance.sitecorecloud.io/sitecore/shell/api/v3/ItemsTransfer/transfers/databases/master/sources?blobName=contentTransfer-{transferID}–{chunksetID}.raif
Example – https://your-xmc-instance.sitecorecloud.io/sitecore/shell/api/v3/ItemsTransfer/transfers/databases/master/sources?blobName=contentTransfer-1ec8122c-a25e-49b0-a0fb-bd47dfccdf8b-30fca7fa-0775-436f-957e-71b74b1ef6ef.raif
Headers-
Authorization – token
Response–
202 – Accepted

Verify the blob and you should see the BlobState changed to – Transferred. The earlier state was Uploaded
If transfer has issues ths state will be – TransferredWithErrors
{
"Name": "contentTransfer-1ec8122c-a25e-49b0-a0fb-bd47dfccdf8b-30fca7fa-0775-436f-957e-71b74b1ef6ef.raif",
"BlobState": "Transferred"
},
Monitor Transfer Status
Http Method – GET
Url – https://your-xmc-instance.sitecorecloud.io/sitecore/shell/api/v3/ItemsTransfer/transfers
Response –
{
"Transfers": [
{
"Id": "consumed.20260719 073111 3698598.6d40ff72-58e9-4940-a0bc-a88909f8f3a7",
"SourceName": "contentTransfer-1ec8122c-a25e-49b0-a0fb-bd47dfccdf8b-30fca7fa-0775-436f-957e-71b74b1ef6ef.raif",
"DatabaseName": "master",
"ConsumedDate": "2026-07-19T07:31:11.3698598Z",
"TransferState": "Finished",
"Strategy": "OverrideExistingItem",
"Description": null
}
],
"Page": 1,
"PageSize": 50,
"TotalCount": 9
}
Post transfer-

You can also check the items that are transfered. In the next blog we will see how to check the items been transfered with the item details.





