Port PostClient class from v1