takes hash of params for api's rather than values