I collected info about the various protocols and interfacing options in 2013, in the course of making a Racket package for the Roomba and Create. https://www.neilvandyke.org/racket/roomba/
I don’t think it’s a public API but you can easily hack the Eufy 30C. I have been using mine with home assistant automations for a few years now. It’s cheap but I love it and I’m honestly considering buying another one. It has gotten a little noisy after 3 years.
There's this https://github.com/Sollimann/CleanIt for iRobot or 'Valetudo' for Xiaomi, which may be at the very least hackable, if not have good APIs.
And there are of course projects to build your own https://github.com/awesome-vacuum/awesome-vacuum