Updated so the api only constructs the url. Executing the request is deferred to the client.