--- title: messages.migrateChat description: messages.migrateChat parameters, return type and example --- ## Method: messages.migrateChat [Back to methods index](index.md) ### Parameters: | Name | Type | Required | |----------|---------------|----------| |chat\_id|[InputPeer](../types/InputPeer.md) | Optional| ### Return type: [Updates](../types/Updates.md) ### Can bots use this method: **NO** ### Errors this method can return: | Error | Description | |----------|---------------| |CHAT_ID_INVALID|The provided chat id is invalid| |PEER_ID_INVALID|The provided peer id is invalid| |CHAT_ADMIN_REQUIRED|You must be an admin in this chat to do this| ### Example: ``` $MadelineProto = new \danog\MadelineProto\API(); $MadelineProto->session = 'mySession.madeline'; if (isset($number)) { // Login as a user $MadelineProto->phone_login($number); $code = readline('Enter the code you received: '); // Or do this in two separate steps in an HTTP API $MadelineProto->complete_phone_login($code); } $Updates = $MadelineProto->messages->migrateChat(['chat_id' => InputPeer, ]); ``` Or, if you're using the [PWRTelegram HTTP API](https://pwrtelegram.xyz): ### As a user: POST/GET to `https://api.pwrtelegram.xyz/userTOKEN/messages.migrateChat` Parameters: chat_id - Json encoded InputPeer Or, if you're into Lua: ``` Updates = messages.migrateChat({chat_id=InputPeer, }) ```