the api method should not change the args hash