I am building a website which has a single page app frontend that connects to a REST API from the backend. I also want others to be able to write programs for this website.
It seems like providing public access to the same API I build my frontend in would be useful. There would only be one API to maintain and I know every single feature of the website is available for 3rd parties.
Are there any cons to this approach?
Some things that come to mind is letting 3rd parties use the same API as I use myself for the frontend might hold back development as new features and changes can't be released right away. Another is that I'd probably want to have a system that allows users to give permissions to 3rd party tool such as allowing making posts but disallowing changing user settings. I'm not sure how well this would work while sharing the same API.