This is an answer I got from another source.
"GET PUT POST DELETE HEAD are all http calls, these methods are determined by you framework routing by reading the HTTP headers >and the calls are then redirected to appropriate function by the same routing. When you run a cronjob you are using CLI not HTTP so there >are no headers and by default everything is interpreted as GET. REST methods are not ment and neither should be used anywhere else >except http API calls. Now depending on you app loginc there are few things you can do:
Create a propper controller for CLI that manages which methods to access (better way). Create a script that uses CURL to access your via HTTP(s) with required HTTP method. (hacky way) Rework your app so that REST API functionality does not need to be triggered from cron as they should not be tied in any way. (correct way)"
But this does not really help me because my GET requests work.