Error Messages

Error conditions are part of the development cycle, and can range from simple faults, like an invalid or missing parameter, to more complex scenarios, such as an unexpected state or even device-related settings, that must be resolved outside of the API.

When an error occurs during an API call, a response in this format is sent:

{
  "error": "Temperature '$temp' is in wrong format",
  "type": "https://developers.nest.com/documentation/cloud/error-messages#format-error",
  "message": "Temperature '$temp' is in wrong format",
  "instance": "31441a94-ed26-11e4-90ec-1681e6b88ec1",
  "details": {
    "field_name": "$temp"
  }
}

All error messages contain the error, type, message, and instance fields. The details object is optional.

Field Description
error Short error message format.
type Provides a URL to detailed information about the error condition (this page).
message Long error message format that may use variables to provide additional details. When a variable is included in the message, it will appear in the details object.
instance A text string that holds an error identifier that is unique to each individual call. We may ask you for the instance number if you report an issue with the service.
details Optional. Contains variables that are inserted into the message. Messages can contain multiple variables.

For information on errors not related to the Nest API, see Other error codes and messages.

Blocked

The rate limit has been exceeded.

Parameters
HTTP Status Code: 429 Too Many Requests
errorBlocked
typehttps://developers.nest.com/reference/error-messages#blocked
messageBlocked

Cannot activate fan during smoke/co safety shutoff

Emergency Shutoff is in effect. API calls are not accepted until normal operation is restored.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot activate fan during smoke/co safety shutoff
typehttps://developers.nest.com/reference/error-messages#safety-shutoff-on
messageCannot activate fan during smoke/co safety shutoff

Cannot change Away state while emergency heat is on

The product tried to change the Away state while Emergency Heat was on.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot change Away state while emergency heat is on
typehttps://developers.nest.com/reference/error-messages#emergency-heat-is-on
messageCannot change Away state while emergency heat is on

Cannot change HVAC mode during energy-saving events

An energy-saving event defined by a Nest energy partner is in effect. API calls are rejected until the energy-saving event ends.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot change HVAC mode during energy-saving events
typehttps://developers.nest.com/reference/error-messages#energy-saving-event-on
messageCannot change HVAC mode during energy-saving events

Cannot change HVAC mode

The mode is incompatible with the request.

For example, you might get this message if:

  • The Thermostat's HVAC system does not support the mode requested by your product: heat, cool, heat-cool, or eco
  • The HVAC mode is set to eco and the product tries to set target_temperature
Parameters
HTTP Status Code: 400 Bad Request
errorCannot change HVAC mode to $mode; HVAC cannot $action
typehttps://developers.nest.com/reference/error-messages#incompatible-mode
messageCannot change HVAC mode to $mode; HVAC cannot $action
details$mode
$action

Cannot change HVAC mode while thermostat lock is enabled

The user must unlock the thermostat before a product can write data.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot change HVAC mode while thermostat lock is enabled
typehttps://developers.nest.com/reference/error-messages#lock-enabled
messageCannot change HVAC mode while thermostat lock is enabled

Cannot set C and F temperatures simultaneously

The product attempted to set both Celsius and Fahrenheit target temperatures at the same time. A product should set only the target temperature specified by the temperature_scale (C/F).

Parameters
HTTP Status Code: 400 Bad Request
errorCannot set C and F temperatures simultaneously
typehttps://developers.nest.com/reference/error-messages#multiple-value-changes
messageCannot set C and F temperatures simultaneously

Cannot set fan_timer_active on/off due to incompatible mode

The HVAC system fan is already engaged (either manually by the user, or on a schedule, or because of an HVAC heat/cool cycle).

If you don't get the expected result, it's most likely because the device has a built-in behavior that we cannot override via the API.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot set fan_timer_active on/off due to incompatible mode $mode
typehttps://developers.nest.com/reference/error-messages#incompatible-fan-mode
messageCannot set fan_timer_active on/off due to incompatible mode $mode
details$mode

Cannot set fan_timer_duration to the selected value

The product tried to set fan_timer_duration to an invalid value. See fan_timer_duration for a list of valid values.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot set fan_timer_duration to the selected value. See API reference for allowed values.
typehttps://developers.nest.com/reference/error-messages#invalid-fan-timer-duration
messageCannot set fan_timer_duration to the selected value. See API reference for allowed values.

Cannot set target low temperature higher than target high temperature

The thermostat is in heat-cool mode, and the product attempted to set a target temperature low/high that is outside of the range. For example, the product tried to set target_temperature_low_c to 25°C when target_temperature_high_c is 24°C.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot set target low temperature $lowTemp higher than target high temperature $highTemp
typehttps://developers.nest.com/reference/error-messages#low-high-error
messageCannot set target low temperature $lowTemp higher than target high temperature $highTemp
details$lowTemp
$highTemp

Cannot set target temperature closer than N degrees C/F

The product attempted to set a target temperature value too close to the target high/low temperature (for example, target_temperature_high_f).

Parameters
HTTP Status Code: 400 Bad Request
errorCannot set target temperature closer than N degrees C/F
typehttps://developers.nest.com/reference/error-messages#range-error
messageCannot set target temperature closer than $min degrees $scale
details$min
$scale

Cannot set target_temperature while mode is $mode

The thermostat or structure is currently in a mode that does not support API requests.

For example, you cannot set target_temperature_f or target_temperature_c when the HVAC system is off or in heat-cool mode. The value can't be changed until the thermostat/structure switches back to a non-restricted mode.

In this message,$fieldName can be any of the target temperature values and $mode can be any of: eco, emer_heat_enable, heat-cool, heat, cool, off, hvac_safety_shutoff_active.

Parameters
HTTP Status Code: 400 Bad Request
errorCannot set target_temperature while mode is $mode
typehttps://developers.nest.com/reference/error-messages#mode-error
messageCannot set $fieldName while mode is $mode
details$fieldName
$mode

Device firmware update required before you can change HVAC mode

The device must be updated to the current firmware version in order to set Eco Temperatures.

Parameters
HTTP Status Code: 400 Bad Request
errorDevice firmware update required before you can change HVAC mode. Updates are automatic, typically within a week of release.
typehttps://developers.nest.com/reference/error-messages#unsupported-firmware-version
messageDevice firmware update required before you can change HVAC mode. Updates are automatic, typically within a week of release.

Error while validating WWN fields

Parameters
HTTP Status Code: 400 Bad Request
errorError while validating WWN fields: $error
typehttps://developers.nest.com/reference/error-messages#where-id-internal
messageError while validating WWN fields: $error
details$error

ETA is in the past

The ETA time specified is in the past (before NOW). For more information on making ETA calls, see the Away & ETA Guide.

Parameters
HTTP Status Code: 400 Bad Request
errorETA is in the past: $estimatedArrivalTime=$estimatedArrivalTime, currentTime=$currentTime
typehttps://developers.nest.com/reference/error-messages#eta-in-the-past
messageETA is in the past: $estimatedArrivalTime=$estimatedArrivalTime, currentTime=$currentTime
details$estimatedArrivalTime
$currentTime

ETA is too far in the future

The ETA time specified cannot be more than 8 hours in the future. For more information on making ETA calls, see the Away & ETA Guide.

Parameters
HTTP Status Code: 400 Bad Request
errorThe ETA is too far in the future
typehttps://developers.nest.com/reference/error-messages#eta-too-far-in-the-future
messageThe ETA is too far in the future

fan_timer_active not set

fan_timer_active is not defined.

Parameters
HTTP Status Code: 400 Bad Request
errorfan_timer_active not set
typehttps://developers.nest.com/reference/error-messages#fan-timer-active-value-missing
messagefan_timer_active not set

Forbidden

The credentials being used to access the Nest service are invalid.

Parameters
HTTP Status Code: 403 Forbidden
errorForbidden
typehttps://developers.nest.com/reference/error-messages#forbidden
messageForbidden

Internal error

Parameters
HTTP Status Code: 500 Internal Server Error
errorInternal Error
typehttps://developers.nest.com/reference/error-messages#internal-error
messageInternal Error

Invalid camera ID

The camera-id is invalid.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid camera id $id
typehttps://developers.nest.com/reference/error-messages#invalid-camera-id
messageInvalid camera id: $id
details$id

Invalid content sent

The call contains invalid content. For example, using "yes" instead of "true" for a boolean variable.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid content sent
typehttps://developers.nest.com/reference/error-messages#invalid-content-sent
messageInvalid content sent

Invalid fragment path

Part of the request path is invalid. For example, an object or field name may be misspelled.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid fragment path: $requestPath
typehttps://developers.nest.com/reference/error-messages#invalid-fragment
messageInvalid fragment path: $requestPath
details$requestPath

Invalid HVAC mode

The thermostat's HVAC system does not support the mode requested by the product: heat, cool, or heat-cool.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid HVAC mode: $mode
typehttps://developers.nest.com/reference/error-messages#invalid-mode
messageInvalid HVAC mode: $mode
details$mode

Invalid smoke+co alarm ID

The smoke_co_alarm_id is invalid.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid smoke+co alarm id $id
typehttps://developers.nest.com/reference/error-messages#invalid-smoke-co-alarm-id
messageInvalid smoke+co alarm id: $id
details$id

Invalid structure ID

The structure_id is invalid.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid structure id $id
typehttps://developers.nest.com/reference/error-messages#invalid-structure-id
messageInvalid structure id: $id
details$id

Invalid thermostat ID

The thermostat_id is invalid.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid thermostat id $id
typehttps://developers.nest.com/reference/error-messages#invalid-thermostat-id
messageInvalid thermostat id: $id
details$id

Invalid value for Away

You tried to set an invalid value for away.

Parameters
HTTP Status Code: 400 Bad Request
errorInvalid value for Away
typehttps://developers.nest.com/reference/error-messages#invalid-away-value
messageInvalid value: $value. Only 'home' and 'away' are permitted values.
details$value

is_streaming is not boolean

The product attempted to set the is-streaming field to a non-boolean.

Parameters
HTTP Status Code: 400 Bad Request
erroris_streaming is not boolean
typehttps://developers.nest.com/reference/error-messages#invalid-is-stream-format
messageis_streaming is not boolean

Label must be less than 256 characters

The product attempted to create a Thermostat label with more than 256 characters.

Parameters
HTTP Status Code: 400 Bad Request
errorLabel must be less than $max_label_length characters
typehttps://developers.nest.com/reference/error-messages#max-label-length
messageLabel must be less than $max_label_length characters
details$max_label_length

Max custom where count exceeded

The product attempted to create a custom wheres object beyond the maximum. The maximum number of custom wheres objects allowed is 32.

Parameters
HTTP Status Code: 400 Bad Request
errorMax custom where count of $max_where_count exceeded
typehttps://developers.nest.com/reference/error-messages#max-where-count
messageMax custom where count of $max_where_count exceeded
details$max_where_count

Max custom where name length exceeded

The where name is too long. We recommend fewer than 30 characters.

Parameters
HTTP Status Code: 400 Bad Request
errorMax custom where name length of $max_custom_where_name_length exceeded
typehttps://developers.nest.com/reference/error-messages#max-where-name-length
messageMax custom where name length of $max_custom_where_name_length exceeded
details$max_custom_where_name_length

Missing field

The call is missing a required parameter.

Parameters
HTTP Status Code: 400 Bad Request
errorMissing field: $fieldName
typehttps://developers.nest.com/reference/error-messages#field-is-missing
messageMissing field: $fieldName
details$fieldName

Missing Where ID

The where_id format is missing.

Parameters
HTTP Status Code: 400 Bad Request
errorMissing Where Id
typehttps://developers.nest.com/reference/error-messages#where-id-missing
messageMissing Where Id

No HVAC fan

The HVAC system does not appear to have an independent fan.

Parameters
HTTP Status Code: 400 Bad Request
errorNo hvac fan
typehttps://developers.nest.com/reference/error-messages#no-hvac-fan
messageNo hvac fan

No online thermostats

The thermostat is currently offline. After wi-fi is enabled, your product should regain access.

Parameters
HTTP Status Code: 400 Bad Request
errorNo online thermostats
typehttps://developers.nest.com/reference/error-messages#no-thermostats-online
messageNo online thermostats

No paired devices

The user's Nest devices are not paired with the user's Nest Account.

Parameters
HTTP Status Code: 400 Bad Request
errorNo paired devices
typehttps://developers.nest.com/reference/error-messages#no-paired-devices
messageNo paired devices

No valid ETA to cancel

The trip is not valid and cannot be canceled.

Parameters
HTTP Status Code: 400 Bad Request
errorNo valid ETA to cancel
typehttps://developers.nest.com/reference/error-messages#no-valid-eta-to-cancel
messageNo valid ETA to cancel

No write permission(s) for field(s)

The client does not have write permission for this data. For more information, see the Permissions Overview.

Parameters
HTTP Status Code: 400 Bad Request
errorNo write permission(s) for field(s): $fields
typehttps://developers.nest.com/reference/error-messages#no-write-permission
messageNo write permission(s) for field(s): $fields
details$fields

Not a valid request type

The request type is not valid. For example, a POST call was made when a PUT is required.

Parameters
HTTP Status Code: 400 Bad Request
errorNot a valid request type: $requestType
typehttps://developers.nest.com/reference/error-messages#request-type-not-allowed
messageNot a valid request type: $requestType
details$requestType

Not found

The call attempted to read a path that doesn't exist.

Parameters
HTTP Status Code: 404 Not Found
errorNot found
typehttps://developers.nest.com/reference/error-messages#not-found
messageNot found

Not in Away mode

The structure is not in Away mode when an ETA call is made. ETA calls are only accepted when the structure is set to Away.

Parameters
HTTP Status Code: 400 Bad Request
errorNot in Away mode
typehttps://developers.nest.com/reference/error-messages#not-in-away-mode
messageNot in Away mode

Not writable

The field you're attempting to write to is read-only.

Parameters
HTTP Status Code: 400 Bad Request
errorNot writable
typehttps://developers.nest.com/reference/error-messages#not-writable
messageNot writable

Only where name needs to be provided

Extra fields were included in the wheres call.

Parameters
HTTP Status Code: 400 Bad Request
errorOnly where name needs to be provided
typehttps://developers.nest.com/reference/error-messages#extra-fields
messageOnly where name needs to be provided

POST is not a valid request type

The request type is invalid. For example, a POST call was made when a PUT is required.

Parameters
HTTP Status Code: 400 Bad Request
errorPOST is not a valid request type
typehttps://developers.nest.com/reference/error-messages#invalid-request-type
messagePOST is not a valid request type

Schema violation

An occurred error when pairing devices.

Parameters
HTTP Status Code: 400 Bad Request
errorSchema violation
typehttps://developers.nest.com/reference/error-messages#schema-violation-error
messageSchema violation

Service unavailable

Parameters
HTTP Status Code: 503 Service Unavailable
errorService Unavailable
typehttps://developers.nest.com/reference/error-messages#service-unavailable
messageService Unavailable

Structure already has maximum number of paired devices allowed

The structure already has the maximum number of allowed devices.

Parameters
HTTP Status Code: 400 Bad Request
errorStructure already has maximum number of paired devices allowed
typehttps://developers.nest.com/reference/error-messages#max-number-devices-error
messageStructure already has maximum number of paired devices allowed

Structure is not owned by the user

The structure_id does not match the user account of record.

Parameters
HTTP Status Code: 400 Bad Request
errorStructure is not owned by the user.
typehttps://developers.nest.com/reference/error-messages#structure-ownership-error-uri
messageStructure is not owned by the user.

Temperature C is too high for lock temperature

The thermostat has been locked by the user and the product attempted to set a Celsius target temperature higher than the lock temperature range.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature C $tempC is too high for lock temperature $highLockTemp
typehttps://developers.nest.com/reference/error-messages#high-c-value-4-lock
messageTemperature C $tempC is too high for lock temperature $highLockTemp
details$tempC
$highLockTemp

Temperature C is too low for lock temperature

The thermostat has been locked by the user and the product attempted to set a Celsius target temperature lower than the lock temperature range.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature C $tempC is too low for lock temperature $lowLockTemp
typehttps://developers.nest.com/reference/error-messages#low-c-value-4-lock
messageTemperature C $tempC is too low for lock temperature $lowLockTemp
details$tempC
$lowLockTemp

Temperature C value is too high

The product attempted to set a target temperature value that is too high for a Celsius temperature. For allowed temperature ranges in Celsius see target_temperature_c.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature C value is too high: $tempC
typehttps://developers.nest.com/reference/error-messages#high-c-value
messageTemperature C value is too high: $tempC
details$tempC

Temperature C value is too low

The product attempted to set a target temperature value that is too low for a Celsius temperature. For allowed temperature ranges in Celsius see target_temperature_c.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature C value is too low: $tempC
typehttps://developers.nest.com/reference/error-messages#low-c-value
messageTemperature C value is too low: $tempC
details$tempC

Temperature F is too high for lock temperature

The thermostat has been locked by the user and the product attempted to set a Fahrenheit target temperature higher than the lock temperature range.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature F $tempF is too high for lock temperature $highLockTemp
typehttps://developers.nest.com/reference/error-messages#high-f-value-4-lock
messageTemperature F $tempF is too high for lock temperature $highLockTemp
details$tempF
$highLockTemp

Temperature F is too low for lock temperature

The thermostat has been locked by the user and the product attempted to set a Fahrenheit target temperature lower than the lock temperature range.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature F $tempF is too low for lock temperature $lowLockTemp
typehttps://developers.nest.com/reference/error-messages#low-f-value-4-lock
messageTemperature F $tempF is too low for lock temperature $lowLockTemp
details$tempF
$lowLockTemp

Temperature F value is too high

The product attempted to set a target temperature value that is too high for a Fahrenheit temperature. For allowed temperature ranges in Fahrenheit see target_temperature_f.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature F value is too high: $tempF
typehttps://developers.nest.com/reference/error-messages#high-f-value
messageTemperature F value is too high: $tempF
details$tempF

Temperature F value is too low

The product attempted to set a target temperature value that is too low for a Fahrenheit temperature. For allowed temperature ranges in Fahrenheit see target_temperature_f.

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature F value is too low: $tempF
typehttps://developers.nest.com/reference/error-messages#low-f-value
messageTemperature F value is too low: $tempF
details$tempF

Temperature is in wrong format

The product attempted to set a target temperature using the wrong number format for the chosen temperature_scale. Celsius temperatures should be integers in 0.5 degree increments (21.5), and Fahrenheit temperatures should be whole integers (72).

Parameters
HTTP Status Code: 400 Bad Request
errorTemperature $temp is in wrong format
typehttps://developers.nest.com/reference/error-messages#format-error
messageTemperature $temp is in wrong format
details$temp

The field(s) cannot be modified on update

The product attempted to write to a read-only field.

Parameters
HTTP Status Code: 400 Bad Request
errorThe field(s) cannot be modified on update: $fieldNames
typehttps://developers.nest.com/reference/error-messages#read-only-field-error
messageThe field(s) cannot be modified on update: $fieldNames
details$fieldNames

The field(s) should use ISO 8601 format

The field is not in ISO 8601 format.

Parameters
HTTP Status Code: 400 Bad Request
errorThe field(s) should use ISO 8601 format: $fieldNames
typehttps://developers.nest.com/reference/error-messages#time-format-error
messageThe field(s) should use ISO 8601 format: $fieldNames
details$fieldNames

Thermostat is not online

The thermostat is currently offline. After wi-fi is enabled, your product should regain access.

Parameters
HTTP Status Code: 400 Bad Request
errorThermostat is not online
typehttps://developers.nest.com/reference/error-messages#not-online
messageThermostat is not online

This trip has been manually overridden

The user has manually overridden the trip.

Parameters
HTTP Status Code: 400 Bad Request
errorThis trip has been manually overridden
typehttps://developers.nest.com/reference/error-messages#trip-manually-overidden
messageThis trip has been manually overridden

Unable to create where ID

The wheres object is missing. No where_id values are defined.

Parameters
HTTP Status Code: 400 Bad Request
errorUnable to create where id
typehttps://developers.nest.com/reference/error-messages#wheres-missing
messageUnable to create where id

Unauthorized

Authorization has failed.

A couple of conditions may generate this error message:

  • incorrect redirects that occur when a given HTTP implementation does not automatically forward the Authorization header to the redirected URI. For more information, see How to handle redirects.

  • incorrect permissions when trying to access API endpoints. For example, trying to read a Thermostat endpoint when only Camera permissions are selected for the client. For more information, see How to choose permissions.

Parameters
HTTP Status Code: 401 Unauthorized
errorUnauthorized
typehttps://developers.nest.com/reference/error-messages#auth-error
messageUnauthorized

Unknown

Parameters
HTTP Status Code: 400 Bad Request
errorunknown
typehttps://developers.nest.com/reference/error-messages#unknown
messageunknown

Unknown vendor/device type

Vendor/device not recognized during device pairing.

Parameters
HTTP Status Code: 400 Bad Request
errorUnknown vendor/device type
typehttps://developers.nest.com/reference/error-messages#unknown-vendor-device-type-error
messageUnknown vendor/device type

Value of $fieldName is of wrong type

The wrong data type was sent. For example, sending a string when a boolean is expected.

Parameters
HTTP Status Code: 400 Bad Request
errorValue of $fieldName is of wrong type
typehttps://developers.nest.com/reference/error-messages#wrong-data-type
messageValue of $fieldName is of wrong type
details$fieldName

Where name already exists

The where_name the product tried to set already exists. Try again with a new name.

Parameters
HTTP Status Code: 400 Bad Request
errorWhere name $name already exists
typehttps://developers.nest.com/reference/error-messages#where-name-exists
messageWhere name $name already exists
details$name

Where name is not provided

The where_name is missing from the call.

Parameters
HTTP Status Code: 400 Bad Request
errorWhere name is not provided
typehttps://developers.nest.com/reference/error-messages#where-name-missing
messageWhere name is not provided

Where name is of zero length

The where name is not defined (has zero characters).

Parameters
HTTP Status Code: 400 Bad Request
errorWhere name is of zero length
typehttps://developers.nest.com/reference/error-messages#zero-length-where-name
messageWhere name is of zero length

Where name must be a string

The wrong data type was sent for the where_name. For example, a number when a string is expected.

Parameters
HTTP Status Code: 400 Bad Request
errorWhere name must be a string
typehttps://developers.nest.com/reference/error-messages#where-name-wrong-format
messageWhere name must be a string

where_id does not exist

The where_id is invalid.

Parameters
HTTP Status Code: 400 Bad Request
errorwhere_id does not exist
typehttps://developers.nest.com/reference/error-messages#where-id-invalid
messagewhere_id does not exist
details$where_id

where_id must be a string

The where_id format is invalid. For example, a number was sent instead of a string.

Parameters
HTTP Status Code: 400 Bad Request
errorwhere_id must be a string
typehttps://developers.nest.com/reference/error-messages#where-id-wrong-format
messagewhere_id must be a string

Other error codes and messages

Device error codes

For device-specific error codes and messages unrelated to the Nest API, see the following:

REST error codes

When you make a REST API call, common HTTP status codes are returned.

REST rate limit messages

When using REST and you send too many calls in a short period of time, you may receive a HTTP response status code of 429 Too Many Requests.

For more information, see Data Rate Limits.