Why would SmartThings API not work from flic but works from command line curl?

I would not send the request directly to the ST api. I would use WebCore and send the request to that. I use that all the time for webcall from different devices and it works perfectly.

I hate to point out the obvious but the messages are not identical. The request-id and authorization are not the same. Also, the IP address is not the same. When you use curl, the request IP is the same as your hub. And flic’s is not. That might be what is causing the issue. If you issue your webcall to Webcore it is a LOT easier. Basically, all you’ll have to enter is the address like:

https://graph.api.smartthings.com/api/token/<<TOKENWILLGOHERE>>/smartapps/installations/<<TOKENWILLGOHERE/ifttt/<<TRIGGERWILLGOHERE>>

It’s a lot simpler than trying to access the API. Also, that would allow you to set the flic once and then you can modify its action through webcore.

If you don’t want to use webcore, you could use this HTTP endpoint smartapp.