API

Authentication

For all requests that require authentication, you need to set the HTTP header X-InstallrAppToken to a valid API token. You can manage your API tokens on your Account page.

Example request:

curl -H "X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340" \
  https://www.installrapp.com/apps.json

Format

Responses can either be in JSON or XML format. To determine the format, just append .json or .xml on the end of the request. JSON is the default format.

curl -H "X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340" https://www.installrapp.com/apps.json returns JSON.

curl -H "X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340" https://www.installrapp.com/apps.xml returns XML.

Most responses contain a ‘success’ property that will tell you if a request was successful. They will also contain a ‘message’ property that will tell you where to look for the relevant data if the request was successful. If the request was not successful, the ‘message’ will tell you the problem.

Create App

Endpoint: https://www.installrapp.com/apps.{format}
Method: POST
Uploads an IPA or APK with release notes.
Example:

curl -H "X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340"  https://www.installrapp.com/apps.json \
  -F 'qqfile=@Your Cool App.ipa' \
  -F 'releaseNotes=These are the release notes for my cool app' \
  -F 'notify=QA,devs' \
  -F 'add=execs,ops'

‘notify’ and ‘add’ take team names separated by commas. You can also enter the ‘true’ value and all testers for the previous build will be added or notified. Testers that are notified will be given access to the app.

Response:

{ "action" : "create",
  "appData" : { "appEvents" : [ { "createdOn" : "2014-02-27T03:00:48Z",
            "eventDescription" : "API Test uploaded new app: Your Cool App"
          } ],
      "appId" : "com.yourclient.yourcoolappname",
      "autoSync" : false,
      "builds" : [ { "buildFile" : { "buildSize" : "1.32 MB",
                "url" : "https://s3.amazonaws.com/installr-prod/appBuilds/zD7LMYlZlJTj.ipa"
              },
            "dateCreated" : "2014-02-27T03:00:48Z",
            "icon" : { "buildSize" : ".00 MB",
                "url" : "https://s3.amazonaws.com/installr-prod/icons/a4UTpg1cryvS.png"
              },
            "id" : 148,
            "numberInstalled" : 0,
            "releaseNotes" : "These are the release notes for my cool app",
            "versionNumber" : "0.8.0"
          } ],
      "id" : 65,
      "latestBuild" : { "buildFile" : { "buildSize" : "1.32 MB",
              "url" : "https://s3.amazonaws.com/installr-prod/appBuilds/zD7LMYlZlJTj.ipa"
            },
          "dateCreated" : "2014-02-27T03:00:48Z",
          "icon" : { "buildSize" : ".00 MB",
              "url" : "https://s3.amazonaws.com/installr-prod/icons/a4UTpg1cryvS.png"
            },
          "id" : 148,
          "numberInstalled" : 0,
          "releaseNotes" : "These are the release notes for my cool app",
          "versionNumber" : "0.8.0"
        },
      "paymentInfo" : [  ],
      "planInfo" : { "deviceLimit" : 5,
          "id" : 1,
          "name" : "Hobbyist",
          "price" : 0.0
        },
      "title" : "Your Cool App"
    },
  "message" : "App and first Build are created",
  "result" : "success"
}

List of Apps

Endpoint: https://www.installrapp.com/apps.{format}
Method: GET
Gets a list of all Apps and Events for an account

Example:

curl -H 'X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340' \
  https://www.installrapp.com/apps.json

Response:

{ "appEvents" : [ { "createdOn" : "2014-02-27T03:00:48Z",
        "eventDescription" : "API Test uploaded new app: Your Cool App"
      } ],
  "appList" : [ { 
        "appEvents" : [ { "createdOn" : "2014-02-27T03:00:48Z",
              "eventDescription" : "API Test uploaded new app: Your Cool App"
            } ],
        "appId" : "com.yourclient.yourcoolappname",
        "id" : 65,
        "latestBuild" : { 
            "dateCreated" : "2014-02-27T03:00:48Z",
            "icon" : { 
                "url" : "https://s3.amazonaws.com/installr-prod/icons/a4UTpg1cryvS.png"
              },
            "id" : 148,
            "numberInstalled" : 0,
            "versionNumber" : "0.8.0",
            "buildNumber" : "4",
            "type" : "IOS"
          },
        "title" : "Your Cool App"
      } ],
  "message" : "appList",
  "result" : "success"
}

App Details

Endpoint: https://www.installrapp.com/apps/{id}.{format}
Method: GET
Gets Details and Events for an App. The ‘latestBuild’ property will give you information about the most recent App Build.

Example:

curl -H 'X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340' \
  https://www.installrapp.com/apps/65.json

Response:

{ "appData" : { "adpEmail" : null,
      "adpPassword" : "",
      "appEvents" : [ { "createdOn" : "2014-02-27T03:00:48Z",
            "eventDescription" : "API Test uploaded new app: Your Cool App"
          } ],
      "appId" : "com.yourclient.yourcoolappname",
      "autoSync" : false,
      "builds" : [ { "buildFile" : { "buildSize" : "1.32 MB",
                "url" : "https://s3.amazonaws.com/installr-prod/appBuilds/zD7LMYlZlJTj.ipa"
              },
            "dateCreated" : "2014-02-27T03:00:48Z",
            "icon" : { "buildSize" : ".00 MB",
                "url" : "https://s3.amazonaws.com/installr-prod/icons/a4UTpg1cryvS.png"
              },
            "id" : 148,
            "numberInstalled" : 0,
            "releaseNotes" : "These are the release notes for my cool app",
            "versionNumber" : "0.8.0"
          } ],
      "id" : 65,
      "latestBuild" : { "buildFile" : { "buildSize" : "1.32 MB",
              "url" : "https://s3.amazonaws.com/installr-prod/appBuilds/zD7LMYlZlJTj.ipa"
            },
          "dateCreated" : "2014-02-27T03:00:48Z",
          "icon" : { "buildSize" : ".00 MB",
              "url" : "https://s3.amazonaws.com/installr-prod/icons/a4UTpg1cryvS.png"
            },
          "id" : 148,
          "numberInstalled" : 0,
          "releaseNotes" : "These are the release notes for my cool app",
          "versionNumber" : "0.8.0"
        },
      "paymentInfo" : [  ],
      "planInfo" : { "deviceLimit" : 5,
          "id" : 1,
          "name" : "Hobbyist",
          "price" : 0.0
        },
      "title" : "Your Cool App"
    },
  "message" : "appData",
  "result" : "success"
}

Team Details

Endpoint: https://www.installrapp.com/apps/{appId}/builds/{buildId}/team.{format}
https://www.installrapp.com/apps/{appId}/builds/latest/team.{format}

Method: GET
Gets the invited testers for a build

Example:

curl -H 'X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340' \
  https://www.installrapp.com/apps/65/builds/148/team.json

Response:

{ "message" : "data",
  "result" : "success",
  "testersData" : { "pendingTesters" : [  ],
      "testers" : [ { "devicesData" : [  ],
            "email" : "joe.bloggs@gameshape.com",
            "id" : 65,
            "inviteLink": "https://www.installrapp.com/register/index?token=g2ob7flntq8h39sj0gocjpuiab"
            "status" : { "cssClass" : "yellow",
                "label" : "Invite Sent",
                "level" : 0
              }
          },
          { "devicesData" : [  ],
            "email" : "jane.doe@gameshape.com",
            "id" : 68,
            "status" : { "cssClass" : "yellow",
                "label" : "Invite Sent",
                "level" : 0
              }
          }
        ]
    }
}

Invite Testers

Endpoint: https://www.installrapp.com/apps/{appId}/builds/{buildId}/team.{format}
https://www.installrapp.com/apps/{appId}/builds/latest/team.{format}
Method: POST
Invite testers to a build. You can use the notify= parameter to send them a notification or the add= parameter to add them to a build without sending a notification. Any previous invites will point to the latest build the tester has access to. The previous used emails= parameter is the same as notify=.

Example:

curl -H 'X-InstallrAppToken: 8p0myigHvATAmqoxXWGjqjKadFM3h340' \
  https://www.installrapp.com/apps/65/builds/148/team.json \
 -F "notify=tester01@gameshape.com, test02@gameshape.com" \
 -F "add=tester03@gameshape.com, tester04@gameshape.com"

Response:

{ "message" : "Testers Added",
  "result" : "success",
  "testersAdded" : [ { "devicesData" : [  ],
        "email" : "tester01@gameshape.com",
        "inviteLink": "https://www.installrapp.com/register/index?token=g2ob7flnt123459sj0gocjpuiab"
        "id" : 69
      },
      { "devicesData" : [  ],
        "email" : "test02@gameshape.com",
        "inviteLink": "https://www.installrapp.com/register/index?token=g2ob7flnt1dksp9sj0gocdfsm9s"
        "id" : 70
      }
    ]
}

App Status

Endpoint: https://www.installrapp.com/apps/status/{appToken}.{format}
Method: GET
Anonymous call – no Authentication needed. Sends back information about the latest build for an app. Useful to check to see if testers should upgrade their app.

Your app token can be found on the ‘Settings’ tab of your app.

Example:

curl https://www.installrapp.com/apps/status/WYZoS5F9HYyZPnbOkH3hDhAgkCNh.json

Response:

{ "appData" : { "appId" : "com.yourclient.yourcoolappname",
      "buildNumber" : "24",
      "dateCreated" : "2014-03-26T05:59:39Z",
      "installUrl" : "https://www.installrapp.com/tester/install/154",
      "releaseNotes" : "These are the release notes for my cool app",
      "title" : "Your Cool App",
      "versionNumber" : "0.8.1"
    },
  "message" : "appData",
  "result" : "success"
}