As @Michael_Deffendall mentioned, it is up to each device’s manufacturer whether they allow for outside integrations or not. That is because unlike zigbee and Z wave, there is no standardized message format for Wi-Fi. It’s similar to a post office. The format for the “envelope” is defined by the Wi-Fi standard, but it’s like each letter inside is in a private code and if you don’t know the code it doesn’t matter if you deliver the envelope, the receiver can’t do anything with the message.
In contrast, zwave and zigbee home automation Have third-party definitions of what each message should say, so all light switches receive the same “on” Message written in the same way.
That’s why you can pick up any certified Z wave device and it will work with smartthings at least at the “basic” (that’s a zwave term in this context) level. But with Wi-Fi, all bets are off. One switch might be expecting a “2” as an instruction to turn on and another switch might be expecting “tangerine Alpha” for the same request. It’s just up to each manufacturer to construct their WiFi Messages however they like.
If a device has a “published API“ that means they have put out a document that says “to have a switch turn on, send a message that says tangerine alpha .” So anyone can use it.
Or, they might have an official way for third-party systems to integrate with them, such as through IFTTT. But it’s still up to each manufacturer to decide what they will allow through their channel. If they want to say you can request an on but not an off, that’s up to them. And they don’t tell you their own secret code, so you can’t reverse engineer it just because it has an IFTTT channel.
So when you’re considering buying any Wi-Fi device, you may need to dig a little deeper to find out what integration will be possible with smartthings. It may be easy, it may be hard, but there’s just no predicting in advance.