complete Client API