OAuth 2.0 Errors

Nike+ uses an OAuth 2.0 service for logging in as described in OAuth Services. Errors may occur while using these services. The error contract for the OAuth services follows the official RFC 6749 specifications as summarized below:

Sample Response

All error responses will be in JSON format as described in RFC 6749. Here is an example where the caller passed in an invalid username and/or password:
{
    "error": "access_denied",
    "error_description": "Invalid username/password",
    "error_uri": null
}

Response Fields

Response Field
Description
error A single ASCII error code. See below for the list of possible error code options.
error_description Human-readable ASCII text providing additional information used to assist the client developer in understanding the error that occurred. This is optional and may be missing or null depending on the error.
error_uri This is an optional field in the RFC 6749 specification and is not used by Nike+. It will always be missing or null.

Error Code Options

The following table lists all possible error code options that can be returned by the 'error' response field described above.
Error Code Description
invalid_request The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed.
invalid_client Client authentication failed (e.g. unknown client, no client authentication included, or unsupported authentication method).
invalid_grant The provided authorization grant (e.g. authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
unauthorized_client The client is not authorized to request an authorization code using this method.
unsupported_grant_type The authorization grant type is not supported by the authorization server.
access_denied The resource owner or authorization server denied the request.
unsupported_response_type The authorization server does not support obtaining an authorization code using this method.
invalid_scope The requested scope is invalid, unknown or malformed.
server_error The authorization server encountered an unexpected condition that prevented it from fulfilling the request. (This error code is needed because a 500 Internal Server Error HTTP status code cannot be returned to the client via an HTTP redirect.)
temporarily_unavailable The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server. (This error code is needed because a 503 Service Unavailable HTTP status code cannot be returned to the client via an HTTP redirect.)