This is the reference document for the TestFairy REST API. This API allows the developer to access and interact with TestFairy data remotely.
Getting Started
Getting started with the REST API is easy, and can be done via command line with any programming language. Let's begin with a simple example. We will start by listing all our projects.
A project is either an iOS app or an Android app (two apps with the same package name but on different platforms are considered two projects.)
In the example above, you can see that our user is john@example.com and the API key is 0001234cafecafe. This user authentication token is required for all requests to the REST server.
Your API key is private, please do not share it or post it on public code repositories or forums. To find your API key, please refer to your preferences page.
Get all builds in a project
GET /api/1/projects/{project-id}/builds/
Get all builds in a specific project. Each build is a distinct version that was either uploaded, or created by the TestFairy SDK. Responses STATUS 200 OK
Delete a specific build.
DELETE /api/1/projects/{project-id}/builds/{build-id}
Delete a specific build. When all builds of a project have been deleted, the project itself is removed from /api/1/projects API.
When deleting a build, all of its artifacts (IPA/APK files), recorded sessions and crashes are also deleted. Responses STATUS 200 OK
Get session data, events and logs
GET /api/1/projects/{project-id}/builds/{build-id}/sessions/{session-id}/
Get metadata (and optionally data) for a specific session.
parameter
type
description
fields
string
Possible values: "meta", "logs", "events"
Default value: "meta"
Use "events" to load all events, screenshots, touches and other metrices. Use "logs" to fetch
only logs. When loading logs, response will be application/text.
Add a new tester to account. Optionally can add them to a group.
parameter
type
description
email
string
One or more emails, separated by commas, to add to your account.
group
string
Assign tester or testers to this tester-group. Will create one if no such group exists.
Default value: none
notify
string
Pass "notify=on" to send out a welcome email when inviting this tester. The email sent is
the `Tester Welcome Email` template and can be configured.
Default value: off
Responses STATUS 200 OK
{
"status": "ok"
}
Block a tester
POST /api/1/testers/{tester-id}/block/
Blocks a single tester. They cannot download the apps they were invited to. However, the data
stays. You can later unblock this tester, or delete them completely.
Responses STATUS 200 OK
{
"status": "ok"
}
Unblock a tester
DELETE /api/1/testers/{tester-id}/block/
Unblocks a single tester. Their invitations are restored. If the user is already unblocked, then
nothing happens.
Responses STATUS 200 OK
{
"status": "ok"
}
Delete a tester
DELETE /api/1/testers/{tester-id}
Delete a single tester, remove them from any tester-groups they might be in, and invalidate
all invitations that were sent. Responses STATUS 200 OK