how are you seeing the value of @JSONResponseText when this is run in a SQL Job?
When running as a job, it depends on what other perms that user needs for the process to succeed. Does it write to db, needs access to a file folder, needs permissions to hit the api etc.
I execute a SP and it returns in the variable @JSONResponseText. Then I use OPENJSON against that variable. I did a research on this and found the answer above only because there are others who had the same issue.