SmartThings API Browser+ ... Now Available to All

NOTICE!!: SmartThings has now released its own equivalent of this app here, so you may prefer to use that instead.


I have a browser-based web app that provides a point-and-click way to explore most of the SmartThings API. For the non-technical, this gives you access to an important SmartThings resource without having to learn tools like Postman, curl, or the CLI. You don’t even need a computer: a tablet or even smartphone can be used. For the more technically inclined, it provides much faster and more convenient access to those commonly-accessed CLI commands. Although I originally thought of it as a portal for the non-technical, I’ve actually found it quite useful to use during my own development activities.

This is not intended as a replacement or ‘competitor’ to the CLI, mysmartthings, IDE(? well, maybe…), mobile app, etc, but is meant to provide a quick and easy supplemental tool.

I want to also acknowledge @lmullineux’s device info viewer, which probably already covers 85% of the use cases with its focus on devices.


Here is a summary of things you can do with the API Browser+:

  • Browse detail info for locations, modes, hubs, rooms, groups, scenes, automation routines & rules, preferences, profiles, devices, drivers, capabilities, channels, apps

  • Apply filters to device listing (e.g. Get list of offline devices, just devices of a particular type (DTH, LAN, Zigbee, etc), or devices based on any chosen attribute and value)

  • View location activities

  • View device history

  • View legacy Zigbee and Z-Wave device graphs (DTH-based devices only)

  • Manage Rules: create, update, delete, enable/disable, execute

  • Execute scenes

  • Create modes, camera groups, and SmartThings native virtual devices

  • Delete modes, rooms, groups, devices

  • Move a hub device to another driver


The reason I have the ‘+’ at the end of the name is because I’ve implemented some additional convenience features above and beyond the raw API endpoints. For example, things like ‘list all the devices where a particular capability is used’. This can be accomplished with some gymnastics using the CLI plus other tools, but here it’s just a click away.

In the spirit of not wanting to recreate the function of other existing tools, this is currently mostly a browsing tool and I have not implemented create/edit/delete kinds of functionality with the exception of a few cases (virtual devices and rules, for example). However, I’m open to how this should/could evolve.

PRE-REQUISITE
You will need a SmartThings Personal Access Token. If you don’t have one already, it’s a simple matter of going to this page and creating one. You can read more about what it is on this page , but basically this is a special key that SmartThings will create for you that you use to access various SmartThings resources like the API.

You will see that there are a lot of choices for the “scopes” you want to include in your Token. This determines what resources your token will allow you to access, and what you can do with those resources (read/manage/control/etc). You’ll want to have at least read access to as many things as you will want to explore using this API browser. You can create multiple tokens, so the choice is yours.

12/14/22 UPDATE
I’m now making this available to all community members. The latest link to the app can be found HERE.

We’ll continue to use this topic to gather comments and feedback.

Thanks.

43 Likes

Hi, Im interested as a (non-technical) user

1 Like

I’ve had a sneak preview of this, it’s awesome

1 Like

I will check it out, very interesting work and based on your drivers I am sure it’s fantastic.

1 Like

count me in!

i’d be glad to help try it out

I would very much like to volunteer and help out.

I would like to try it and help debug it. I am semi-technical, but not a code writer.

I have 2 ST locations, 1 with a hub and 1 without a hub

1 Like

I’m sure it will be great. I am not technical, I have only one house and one hub. But if you need my help, you can count me.

Tagging @orangebucket @csstup

Would love to assist.

I’m somewhat technical (could manipulate old DTHs, run CLI, etc) but I don’t write code.

One hub / 378 devices.

I’d love to check it out.

I wouldn’t mind taking a look as a technical user. Thanks.

Hi TAustin, Im interested as a (non-technical) user.
I have 2 ST locations, 1 with a hub.

Hello @TAustin

Good afternoon, I am interested in the proposal.

User with technical knowledge, 1 house and 60+ devices.

I’m in. …

1 Like

Wow thanks for all the responses already!

One thing I should have mentioned up front is that to use this, you will need a SmartThings Personal Access Token. If you don’t have one already, it’s a simple matter of going to this page and creating one. You can read more about what it is on this page, but basically this is a special key that SmartThings will create for you that you use to access various SmartThings resources like the API.

You will see that there are a lot of choices for the “scopes” you want to include in your Token. This determines what resources your token will allow you to access, and what you can do with those resources (read/manage/control/etc). You’ll want to have at least read access to as many things as you will want to explore using this API browser. You can create multiple tokens, so the choice is yours.


I’ll create a private thread shortly for all you wonderful volunteers!

11 Likes

Count me in.

I’d be keen to see this and happy to test and provide feedback. Thanks

I’m game if there’s room.