I’m currently using the API @lkfranklin referenced and it works very well. It was a little confusing figuring out a few things but it works well with the Vue front end apps. I’m using independent Vue applications for things like modals to edit certain data and to display tabular data in particular areas. I’m not using it as an SPA, it’s a hybrid.
I like that Vue gives you “repeat” templating that I find a little easier than the current Modx templates for tabular data. I don’t have to define potentially three or more chunks to display the data (rowStart, rowData, rowEnd, etc). I can just utilize v-for and loop through.
I also use the “fake” or “quick” API concept where the end point is a resource with a content type of JSON. I then have a single snippet call that pulls in my class file. It dynamically builds the function name and executes that code block and returns a JSON payload that mirrors the format of the documented API. I use this API when the same action might have taken 2 or more API calls to accomplish from the other API like form validation of individual fields.