Token access tier not sufficient for some of the devices used (Nest Thermostats)

Hello! When I’m trying to create a rule involving a Nest thermostat, I get the following error:

:~/projects/st-cli$ ./smartthings rules:create -l <redacted> -i ~/projects/st-rules/debug1.json
    AxiosError: Request failed with status code 403: {"requestId":"<redacted>","error":{"code":"ForbiddenError","message":"Token access tier not 
    sufficient for some of the devices used","details":[]}}

The device in question is a Nest thermostat. I use it in a condition like this:

"if": {
    "equals": {
        "left": {
            "device": {
                "devices": [
                    "Nest thermostat id"
                "component": "main",
                "capability": "thermostatOperatingState",
                "attribute": "thermostatOperatingState",
                "trigger": "Always"
        "right": {
            "string": "heat"
        "changesOnly": false
    "then": [

When I replace it with another device (a switch or a sensor) in the condition, the rule creation goes through just fine, so I’m sure the rule structure and syntax is not an issue. I tried with both curl using a PAT and with the CLI - the result is the same. I have a few routines that use Nest thermostat, and I can control it from the ST app, so the integration with Nest works as expected.

What is this error, why am I getting it, and how can I fix it or work around it? Thank you!

You can’t use Nest Thermostat using the standard ST integration in 3rd party applications and I believe this includes the he API Rules.

You can use Nest Thermostats created in ST with Matter integration in 3rd party applications. You need a ST hub to use Matter.

1 Like

Thank you Paul. That settles it then. I do have a hub, but Matter integration is pointless without access to the state. Just as you said,

I really can’t believe that state was not included

I guess I’ll implement some workaround with a bunch of virtual switches to track the state. Thanks again!

1 Like

Instead of a bunch of virtual switches you could try using @Mariano_Colmenarejo 's Aplicaciones Virtuales Mc driver and create one “TextField 5 Fields” device. Then use 3 automations to set “Field 1” to Heat, Cool, or Idle. Field 1 is what shows up on the face of the tile.

What I am not sure about is how you would use that device in the Rules API.

Welcome to the SmartThings Community, @7kcajoeb!
Just to confirm what @Paul_Oliver, the Nest device has this restriction, so that’s why you get the error.

If you have questions about how to use the device Paul mentioned in the Rules API, I could help you out but I need to know what you would try to do and the capabilities available for the device because Mariano’s integrations have several custom capabilities which means we would need to see their configuration to create the Rule correctly.

also wanted to add: not all Nest Thermostats are available to use with Matter. Only the latest version of the Thermostat supports Matter. If you have older versions then Matter is not an option. :slight_smile:

Thank you all for help and suggestions!
@Paul_Oliver - good suggestion, will give it ago
@nayelyz appreciate your offer. Let me take a stab at it, will let you know if I need any help. I think I understand how to introspect device’s components/capabilities.
@jkp thanks for clarification. My setup supports Matter, but it’s not helpful without access to the thermostat’s state.

I looked at a little closer and it looks like you will need 5 to 7 routines to cover all the states that you might need.