Если есть возможность заморочиться, то советую выучить Lumen или Laravel.
Там подобные вещи пишутся не просто, а очень просто. Придётся, конечно, потратить время на то, чтобы разобраться с самим фреймворком, но результат вам понравится.
https://github.com/coskunsoysal/rest-api-sample
Неплохой пример на slim.