Skip to content

migrationBatches

Migration Batches. Grouped batches of mailboxes being migrated into Exchange Online. The migrationBatches entity set lives under /exchange/v1.0/migrationBatches in the Migration & jobs category.

Fact Value
Path /exchange/v1.0/migrationBatches
Category Migration & jobs
Tier Tier 6, Mailbox jobs
Read role MailboxJobs.Read.All (Community)
Write role none (read-only)
Backing cmdlets Get-MigrationBatch, Set-MigrationBatch, New-MigrationBatch, Remove-MigrationBatch, Start-MigrationBatch, Stop-MigrationBatch, Complete-MigrationBatch
Method Path Synopsis Role Plan
GET /exchange/v1.0/migrationBatches List migrationBatches entries. MailboxJobs.Read Community
GET /exchange/v1.0/migrationBatches/{key} Get a single migrationBatches entry by Identity. MailboxJobs.Read Community

List migrationBatches entries.

Backing cmdlet: Get-MigrationBatch. Role: MailboxJobs.Read (Community).

Parameter In Type Required Description
status query string Filter batches by status (Get-MigrationBatch -Status). One of: Completed, CompletedWithErrors, Completing, Corrupted, Created, Failed, IncrementalSyncing, Removing, Starting, Stopped, Syncing, Stopping, Synced, SyncedwithErrors, Waiting.
endpoint query string List only batches associated with the named migration endpoint (Get-MigrationBatch -Endpoint). Common scoping for off-board / cross-tenant migrations.
includeReport query bool (switch) Populate the detailed Report field with additional per-batch diagnostic information (Get-MigrationBatch -IncludeReport).
all query bool (switch) Return all results instead of the EXO default of 1000. Maps -ResultSize Unlimited on Get-MigrationBatch; prevents silent truncation in large tenants.
partition query string

Stub auto-generated example for the migrationBatches collection. Backing cmdlet: Get-MigrationBatch. Live-verify with ?$top=3&$select=Id,Name and replace the synthetic body before promoting to Tier 1.

GET /exchange/v1.0/migrationBatches?$top=3 HTTP/1.1
Authorization: Bearer {token}
HTTP/1.1 200 OK
{
"@odata.context": "http://localhost:5043/exchange/v1.0/$metadata#migrationBatches",
"value": []
}

Notes: Illustrative example derived from the cmdlet documentation, not a live capture: field names are real, values are placeholders.

Related: GET /exchange/v1.0/migrationBatches/{key}

Get a single migrationBatches entry by Identity.

Backing cmdlet: Get-MigrationBatch. Role: MailboxJobs.Read (Community).

Stub auto-generated example for GET /migrationBatches/{key}. Backing cmdlet: Get-MigrationBatch with -Identity {key}. Returns the full entity body; 404 if the identity doesn’t resolve.

GET /exchange/v1.0/migrationBatches/{key} HTTP/1.1
Authorization: Bearer {token}
HTTP/1.1 200 OK
{
"@odata.context": "http://localhost:5043/exchange/v1.0/$metadata#migrationBatches/$entity"
}

Notes: Illustrative example derived from the cmdlet documentation, not a live capture: field names are real, values are placeholders.

Related: GET /exchange/v1.0/migrationBatches