Does Kwin have a D-Bus API (get windows list, move windows, etc)?
If yes, where can I find the API reference?
kwin does have a DBUS interface, but it doesn't do what you're describing.
To take a look at the calls that are available to you, run qdbusviewer (which be available in your distro's repository), choose the Session Bus tab, and search for kwin in the search box. From there, choose org.kde.KWin on the left panel, and on the right panel, you'l see KWin -> org.kde.Kwin.
From there, you'll see methods like "killWindow", "nextDesktop", etc. Those are the methods KWin has exposed, but unfortunately I'm not seeing methods for actually doing things with individual windows from a list.