For the inaugural HashiTalks: Build, I did a talk about how to design an API that it will be easy to build a Terraform provider for, going into some of the lessons we’ve learned over the years of building Terraform providers.
You can find a recording of the session on YouTube.