js api framework