I got this integration working when I'm using a TLD with Enhance, and it was a test domain, so I didn't mind letting it go to see what it could do. It's pretty slick! Thanks for that.
When I tried to do a development sandbox (new Wordpress site for a client that is not yet hosting with us) I added a website called dev.myenhancetld.com (i.e. cp.myenhancetld.com is also a subdomain). No matter what I did, the Cloudflare integration wouldn't take. I was selecting the same API key that the Enhance top-level control panel has been using fine. The error I get is: "Failed to connect Cloudflare API token: CloudFlare returned error code 0, message: Requires permission "com.cloudflare.api.account.zone.create" to create zones for the selected account". This happens even when I assign additional permissions to the API key Like Zone😃NS:Edit, Zone😃NS:Settings, and others.
I manually added dev.myenhancetld.com and added to NS records (glue records I think?) to dev.myenhancetld.com and that got it working. I had to click in and reissue SSL, but it's up and running. Not sure what happened there.
I know that this is meant to be more of a reseller control panel, and requires full DNS handoff. The Cloudflare integration makes this still workable for me, however it would be nice to be able to import the current DNS setup with Cloudflare so it doesn't get overwritten with invalid DNS records. For example we have no intention of hosting any email with Enhance, so we wouldn't want any autodiscover, MX, or other TXT records entered. I don't have the email role installed, but it looks like my test domain still got all of that. I wonder if there's a way to adjust/control for that.