Edit

channel: startMigration

Namespace: microsoft.graph

Start the migration of external messages by enabling migration mode in an existing channel. Import operations were limited to newly created standard channels that were in an empty state. For more information, see Import third-party platform messages to Teams using Microsoft Graph.

Users are also allowed to define a minimum timestamp for content to be migrated, allowing them to import messages from the past. The provided timestamp must be older than the current createdDateTime for a channel. The provided timestamp is used to replace the existing createdDateTime of the channel.

Note

  • The application that calls startMigration owns the migration session end to end. The same application must call import message and completeMigration for the same thread. No other application can invoke these APIs on the thread until the owning application completes the migration.
  • Once a channel enters migration mode, a banner is displayed in the Teams client that indicates the conversation is in import mode. This banner remains visible until migration is completed by completeMigration.

This API supportes the following channel types.

Entities Sub type Migration mode support Notes
Channels Standard, Private, Shared New and existing Channels must be created or already be in migration mode.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Not supported. Not supported.
Delegated (personal Microsoft account) Not supported. Not supported.
Application Teamwork.Migrate.All Not available.

HTTP request

POST /teams/{team-id}/channels/{channel-id}/startMigration

Request headers

Header Value
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
Content-Type application/json. Optional

Request body

In the request body, supply a JSON representation of the following parameters.

Parameter Type Description
conversationCreationDateTime DateTimeOffset The minimum timestamp for the messages to be migrated. The timestamp must be older than the current createdDateTime of the channel. If not provided, the current date and time is used.

Response

If successful, this method returns a 204 No Content response code. It doesn't return anything in the response body.

Examples

Example 1: Start the migration on an existing channel with a specific timestamp

The following example shows how to start the migration on an existing channel with a specific timestamp.

Request

The following example shows a request.

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels/19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2/startMigration

Response

The following example shows the response.

HTTP/1.1 204 No Content

Example 2: Start the migration when a channel is already in migration mode

The following example shows how to start the migration when a channel is already in migration mode. This request fails with a 400 Bad Request response.

Request

The following example shows a request.

POST https://graph.microsoft.com/v1.0/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels/19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2/startMigration

Response

The following example shows the response.

HTTP/1.1 400 Bad Request