"autonomous or semi-autonomous" is the key phrase. If you manually invoke a curl command then no, it isn't an agent. If you write code that itself determines when and how to invoke that command then it is.
What if I set up a cron job to buy a certain product every month - is that not autonomous? What if it is first querying my live toilet paper sticks to make the decision?
What's the criteria that makes one function "autonomous" and the other one "manual"? I feel it really boils down to this.