How to troubleshoot 400 error codes when uploading apps
401 Errors are returned by the API if HockeyApp can't find the App ID or no files could be parsed from the multipart body. Confirm that the parameter names are correct and that "quotes" with variables are used correctly (try removing "quotes"). Non authenticated or unauthorized = client not authorized to upload or crash log in bad format
415 Errors are returned by the API if HockeyApp identifies an unsupported media type (error 415 comes from the webserver and indicate an incorrect HTTP body). Confirm the file type and format, and that the file isn't corrupt. Also confirm that your language specific upload code is correct (HockeyApp support can provide examples of how to upload your build using different programming languages, such as: Ruby and PowerShell, upon request).
A 422 response status code indicates an "unprocessable entity." In other words, the HockeyApp server heard and understood your request, but there was something wrong in it. Commonly, this is indicative of an empty field, invalid format, or other type of request that didn't fit what we were looking for. It may also indicate an issue within the file you are uploading.
A good first step is to review the JSON response that HockeyApp gives you. This will often include an error message which you can then be used to further troubleshoot.
You can also attempt uploading the file with a different method: via an API, via a web browser, or via the Mac or Windows Application since each of these three methods may provide slightly different error messages that can be used to figure out the root cause of the issue. For more information on the three upload methods see the article on How to create a new app .
This could be symptomatic of a variety of issues, including:
- The account has reached its app quota and you need to either upgrade or delete an app before you can create a new one.
- The application or symbolication files you are uploading might be in an incorrect format. Check the Syntax of your script (like making sure you are using an @ sign with the file name in CURL). It can be easy using some tools to accidentally upload the filenames instead of the files themselves.
- The supplied API token may be from a different account.
- If applicable, your trial account may be past its expiration.
- The supplied version number may be less than that of an already-existing version. Either increase the version on the app you're trying to upload, or disable the existing versions.
- The bundle version may be empty (or contain some other kind of typo)
- The symbols may be incorrect in your .ipa or .dsym files.