API to get Capability by ID and Version does not seem to work

I am trying to get the details of a capability.

API Doc here: API | SmartThings Developers

My call:

curl --request GET \
  --url https://api.smartthings.com/v1/capabilities/button/1 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer XXXXX'

I get a 403 every time

I can make all calls up to the version just fine.

  • /capabilities → success
  • /capabilities/button → success

I am using the OAUTH bearer token of an end-user (someone signed in to use my app through SmartThings. Again all calls up to adding the version work with that bearer token.

Is there some other way to get the details of capabilities through the API?

My workaround right now is to go to something like: https://developer-preview.smartthings.com/capabilities/button
to get the capability details.

Hi, @japreiss. I was able to replicate this behavior. This doesn’t happen with Personal Access Tokens. Let me verify something with the engineering team and I’ll let you know their feedback.
In the meantime, can you share more details about your integration? Eg. What’s the purpose of this request?

Update: There is a missing scope regarding capabilities in the OAuth (API access) project that causes the “forbidden” error (r:customcapability).
The engineering team already reported this, I’ll keep an eye on the progress and as soon as I receive an update, I’ll let you know.

We have a “power usage” application that compares a user’s power consumption with their smart things “appliances” (AC, fridge, etc) to help them make more energy-conservative selections.

We are showing them their smartThings devices and allowing them to control them in our UI. In order to configure the dynamic nature of SmartThings, we need the capabilities for display and control of the devices. We are pulling from the website, but it doesn’t support version and so I would like to use the API to ensure future support of the product