API tweaks

Initial work on API and looking at indexes for query patterns.
I'll have a look at using them instead