API: Upload New Apps

This API lets you create a new app or add a new version to an existing app (if the bundle identifier is the same).

Request

  • URL: https://rink.hockeyapp.net/api/2/apps/upload
  • HTTP Method: POST
  • Authentification: set the HTTP header X-HockeyAppToken to your API token (create one here)
  • Parameters:

    • ipa - required, file data of the .ipa for iOS, .app.zip for Mac OS X, or .apk file for Android
    • dsym - optional, file data of the .dSYM.zip file (iOS and Mac) or mapping.txt (Android)
    • notes - optional, release notes as Textile or Markdown
    • notes_type - optional, type of release notes:
      • 0 - Textile
      • 1 - Markdown
    • notify - optional, notify testers (can only be set with full-access tokens):
      • 0 - Don't notify testers
      • 1 - Notify all testers that can install this app
    • status - optional, download status (can only be set with full-access tokens):
      • 1: Don't allow users to download or install the version
      • 2: Available for download or installation
    • mandatory - optional, set version as mandatory:
      • 0 - no
      • 1 - yes
    • release_type - optional, set the release type of the app:
      • 2: Alpha
      • 0: Beta
      • 1: Live
    • tags - optional, restrict download to comma-separated list of tags
    • private - optional, set to true to enable the private download page (default is false)

Example:

curl \
  -F "status=2" \
  -F "notify=1" \
  -F "notes=Some new features and fixed bugs." \
  -F "notes_type=0" \
  -F "ipa=@hockeyapp.ipa" \
  -F "dsym=@hockeyapp.dSYM.zip" \
  -H "X-HockeyAppToken: 4567abcd8901ef234567abcd8901ef23" \
  https://rink.hockeyapp.net/api/2/apps/upload

Responses

Successful

Status: 201
Body:

{
    "title": "HockeyTest",
    "bundle_identifier": "de.codenauts.hockeytest",
    "public_identifier": "1234567890abcdef1234567890abcdef",
    "device_family": "iPhone/iPod",
    "minimum_os_version": "4.0",
    "release_type": 0,
    "platform": "iOS"
    "status": 2,
    "config_url": "http://localhost:3000/manage/apps/123",
    "public_url": "http://localhost:3000/apps/1234567890abcdef1234567890abcdef",
}

Error: Maximum number of apps reached

Status: 422
Body:

{
    "errors": {
        "ipa": [
            "maximum number of apps reached"
        ]
    }
}

Error: Token not authorized to create a new app

Status: 422
Body:

{
    "errors": {
        "ipa": [
            "not authorized to create a new app"
        ]
    }
}

Error: Token not authorized to add a new version to an existing app

Status: 422
Body:

{
    "errors": {
        "ipa": [
            "not authorized to created a new version for this app"
        ]
    }
}

Error: Bundle version already exists

Status: 422
Body:

{
    "errors": {
        "bundle_version": [
            "has already been taken"
        ]
    }
}

Authentification failed

Status: 401
Body:

{
    "errors": {
        "credentials": [
            "user not found or token invalid"
        ]
    }
}