Error Codes

The following section lists the main error messages and their error codes, which can be content of the response to an API request. The errors are divided in to certain number ranges, which are explained in the coming subsections. If the request is successful, the response will have the 200 OK status code. Any other status code should be interpreted as an error and handled as such.

The following tables contain a mapping between responses error codes, the associated message and the HTTP status code. Some error codes might come with multiple HTTP status code based on the context of the error.

Table of contents:

General Error (1000 - 1999)

Code Message Description HTTP Status Codes
1000 An unknown error has occurred. An unknown error has occurred. 500
1001 Service unavailable. One of the backend services is unavailable or an unhandled error occurred in the service. -
1002 Service timeout. One of the backend services timed out. 408
1003 Internal API error. Internal API error. 500
1004 SHC invalid operation. SHC side exception or error. 400, 404, 500
1005 Missing argument or wrong value. One of the request parameters value is invalid or has the wrong value. 400
1006 Service too busy. The service is too busy and can't handle requests right now. 503
1007 Unsupported request. The request is not valid. 400
1008 Precondition failed. A precondition for the given operation was not met. The client may retry the operation after 3-5 minutes. 412

Authentication and Authorization (2000 – 2999)

Code Message Description HTTP Status Codes
2000 An unknown error has occurred during Authentication or Authorization process. Unknown error occurred during Authentication or Authorization. 400
2001 Access not allowed. No Ownership for SHC with given serial number. 403
2002 Invalid token request. The token request is invalid - malformed or wrong parameter values. 403
2003 Invalid client credentials. The client ID or password are invalid. 401
2004 The token signature is invalid. The token signature is invalid - it was not issued by the proper authority. -
2005 Failed to initialize user session. User session initialization failed. -
2006 A connection already exists for the current session. Another connection with the same token was initialized for the SHC. 409
2007 The lifetime of the token has expired. The lifetime of the token has expired. A refresh token request should be sent.. 401
2008 Login attempted from a different client provider. The combination client - username doesn’t match; the username tried to login using a client from another tenant (provider). 403
2009 Invalid user credentials. The username or password provided for token generation are invalid. 401
2010 Controller access not allowed. Access is is not allowed in the system. 403
2011 Insufficient permissions. Client or user does not have the appropriate permissions to execute the requested operation. 403
2012 Session not found. Session not initialized or disconnected. 424
2013 Account temporary locked. This account is currently locked. Please try again in X minutes. 403

Entities (3000 – 3499)

Code Message Description HTTP Status Codes
3000 The requested entity does not exist. The requested entity does not exist. 404
3001 The provided request content is invalid and can't be parsed. The provided content is mall formatted and can’t be parsed (JSON). 400
3002 No change performed. The performed change for entities contains no value. 304
3003 The provided entity already exists. The provided entity already exists. 409
3004 The provided interaction is not valid. The provided interaction is not valid. 400
3004 The provided interaction is not valid. The provided interaction is not valid. 400
3005 Too many entities of this type. The maximum number of entities of this type was already reached. 409

Products (3500 – 3999)

Code Message Description HTTP Status Codes
3500 Premium Services can't be directly enabled. Premium Services can be enabled only through the Webshop. 403
3501 Cannot remove a product that was paid. Paid products (by webshop/smart codes) cannot be removed. 403

Actions (4000 – 4999)

Code Message Description HTTP Status Codes
4000 The triggered action is invalid. The triggered action is invalid. 404
4001 Invalid parameter. One of the action parameters is invalid. 400
4002 Permission to trigger action not allowed. The user does not have the appropriate permissions to the trigger the action. 403
4003 Unsupported action type. The triggered action type is unsupported. 404

Configuration (5000 – 5999)

Code Message Description HTTP Status Codes
5000 The configuration could not be updated. There was an error updating the configuration. 400
5001 Could not obtain exclusive access on the configuration. The configuration is locked by another process. 409
5002 Communication with the SHC failed. Communication with the SHC failed. 404
5003 The owner did not accepted the TaC latest version. Latest version of terms and conditions and data privacy policy was not accepted by the user. 412
5004 One SHC already registered. Only one SHC can be registered per user. 409
5005 The user has no SHC. The user has no registered SHC device. 401
5006 Controller offline. The SHC is offline. 404
5009 Registration failure. The registration process failed. 404

In case the connection to the SmartHome Controller is interrupted (no internet access, no power, etc.) it takes about 60 seconds for the backend to detect this. This means that some of the first requests will result in a 5002 error code response. After the backend detects that the SHC is offline, all requests will result in a 5006 error code response.

SmartCodes (6000 – 6999)

Code Message Description HTTP Status Codes
6000 SmartCode request not allowed. Request not allowed or too many tries. Try again in 60 minutes. 403
6001 The SmartCode cannot be redeemed. Request not allowed. The requested smart code cannot be redeemed because it was already redeemed. 409
6002 Restricted access. Access restricted because too many invalid smart code pins were provided. 403