AbstractClient: url can be None