Base API framework