At a minimum required parameters should be noted equally in both places. Conversation with Andrzej Bialecki indicates that there are also some discrepancies in what is and is not actually required in docs vs code. ("in MoveReplicaCmd if you specify “replica” then “shard” is completely ignored")
Also in v2 it seems shard might be inferred from the URL and in that case it's not clear if the URL or the json takes precedence.
From ref guide for V1:
The name of the collection. This parameter is required.
The name of the shard that the replica belongs to. This parameter is required.
The name of the replica. This parameter is required.
The name of the node that contains the replica. This parameter is required.
The name of the destination node. This parameter is required.
Request ID to track this action which will be processed asynchronously.