REST API framework