API Error Codes

The Nike+ API will return appropriate HTTP status codes. All error responses will have roughly the  following format:

{
    "requestId": "-1712857370761229397",
    "errors": [
        {
            "code": 90,
            "message": "Invalid format: Start Date must follow format yyyy-mm-dd"
        },
        {
            "code": 100,
            "message": "Invalid format: End Date must follow format yyyy-mm-dd"
        },
        {
            "code": 110,
            "message": "Invalid Format: count must be greater than or equal to 1"
        }
    ]
}

HANDLING 429 ERRORS (TOO MANY REQUESTS)

A 429 error code indicates that the app or device has exceeded the rate limit (the rate limit is currently set by the hour).

Resolution: Retry your request after an hour. Contact Nike+ if the problem continues.

 Note: Continuing to retry within the hour after a 429 error code will likely result in continued 429 errors.

HANDLING 503 ERRORS (SERVICE UNAVAILABLE)

A 503 error code indicates that the service is unavailable.

Resolution: Delay retries at an exponential rate (e.g., retry after 1 minute, then 2 minutes, then 4 minutes, then 8 minutes, and so on).

 

Additional Error Codes/Responses

We may modify the error message at any time however the error code will never change.

Code Message Description
10 An error occurred while fulfilling the request An unknown error has ocurred
20 Service is temporarily unavailable, try again later We are notified when this occurs and will resolve it as soon as possible.
30 Unauthorized access You are not authorized to access the resource with the given credentials.
41 Unauthorized access to Pub Sub Setting Application is unauthorized to create a subscription with the given credentials
50 Activity has no GPS data The specified Activity does not have any GPS data associated with it
60 Invalid header: Accept The only valid 'Accept' header is 'application/json'
65 Invalid or missing header: Content-Type Please refer to the specific API documentation for what 'Content-Type' is allowed
70 Malformed request The request was invalid. Consult the documentation for the API
90 Invalid format: Start Date must follow format yyyy-mm-dd Requirement when sorting a user's activity list
100 Invalid format: End Date must follow format yyyy-mm-dd Requirement when sorting a user's activity list
110 Invalid Format: count must be greater than or equal to 1 Requirement when sorting a user's activity list
120 Invalid Format: offset must be greater than or equal to 1 Requirement when sorting a user's activity list
130 Start Date is required when End Date is specified Requirement when sorting a user's activity list
131 End Date is required when Start Date is specified Requirement when sorting a user's activity list
140 End Date must be after Start Date Requirement when sorting a user's activity list