API Phase 1 - everything except dynamic url