Authorization Requests and Errors

Authorization requests and responses conform to the OAuth 2.0 framework requirements. Each authorization strategy follows a different sequence of requests and responses, depending on its requirements. The details of each may be found with the individual authorization strategy documentation.

Authorization Endpoints

There are two authorization endpoints. The authorize endpoint issues authorization tokens which may be turned into the token endpoint which issues access and refresh tokens.

Endpoint Purpose
https://api.ecobee.com/authorize Grants authorization tokens.
https://api.ecobee.com/token Issues access and refresh tokens.

Error Handling

Your application will need to handle a number of errors resulting from authorization requests. The errors returned by the authorization endpoints are different from those returned by individual API requests. The authorization endpoints support the standard as well as extended OAuth error responses.

Errors

Error responses are sent back with an HTTP error code response and a JSON payload containing the error type. Ensure that you inspect the JSON payload in order to determine why your request may have failed.

The JSON error response looks like this:

{
	"error": "invalid_client",
	"error_description": "Authentication error, invalid authentication method, lack of credentials, etc.",
	"error_uri": "https://tools.ietf.org/html/rfc6749#section-5.2"
}
                

Error Codes

Error Type HTTP Error Code Description
access_denied 302
(Found)
Authorization has been denied by the user. This is only used in the Authorization Code authorization browser redirect.
invalid_request 400
(Bad Request)
The request is malformed. Check parameters.
invalid_client 401
(Unauthorized)
Authentication error, invalid authentication method, lack of credentials, etc.
invalid_grant 400
(Bad Request)
The authorization grant, token or credentials are expired or invalid.
unauthorized_client 400
(Bad Request)
The authenticated client is not authorized to use this authorization grant type.
unsupported_grant_type 400
(Bad Request)
The authorization grant type is not supported by the authorization server.
invalid_scope 400
(Bad Request)
The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner.
not_supported 400
(Bad Request)
HTTP method not supported for this request.
account_locked 401
(Unauthorized)
Account is temporarily locked.
account_disabled 401
(Unauthorized)
Account is disabled.
authorization_pending 401
(Unauthorized)
Waiting for user to authorize application.
authorization_expired 401
(Unauthorized)
The authorization has expired waiting for user to authorize.
slow_down 401
(Unauthorized)
Slow down polling to the requested interval.

Back To Top