public function blockUser($user, $expiry = null, $reason = null, $anononly = null, $nocreate = null, $autoblock = null, $noemail = null,
		$hidename = null, $allowusertalk = null, $reblock = null, $watchuser = null
	)
	{
		// Get the token.
		$token = $this->getToken($user, 'block');

		// Build the request path.
		$path = '?action=unblock';

		// Build the request data.
		$data = array(
			'user'         => $user,
			'token'        => $token,
			'expiry'       => $expiry,
			'reason'       => $reason,
			'anononly'     => $anononly,
			'nocreate'     => $nocreate,
			'autoblock'    => $autoblock,
			'noemail'      => $noemail,
			'hidename'     => $hidename,
			'allowusetalk' => $allowusertalk,
			'reblock'      => $reblock,
			'watchuser'    => $watchuser,
		);

		// Send the request.
		$response = $this->client->post($this->fetchUrl($path), $data);

		return $this->validateResponse($response);
	}