Para empezar, escribo una breve propuesta en la que detallo la arquitectura de la API.
Se realizaría bajo el patrón de diseño Modelo Vista Controlador (MVC), utilizando el framework de PHP Laravel, y habría una URL para cada una de las operaciones CRUD (create, read, update, delete). Estas acciones realizarían las altas / actualizaciones / consultas /eliminaciones necesarios en una base de datos MySQL
Habría un sistema de autentificación, en la que, en función del usuario, tendría para permisos para hacer unas cosas u otras.
Si estás interesado en conocer más detalles, preguntame lo que quieras.
Un saludo,