Client-side api