Skip to main content
View as MarkdownOpenAPI spec

Apps

List apps​

GET/api/v1/apps

Apps with at least one ready, unexpired file, newest first. Any role.

Query parameters
platformstring
Only files for this platform.
qstring
Case-insensitive substring of the name, filename or bundle id.
limitinteger
Page size, 1 to 100. Default 25.
cursorstring
`nextCursor` from the previous page. Opaque.
Header parameters
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.
Returns
objectstringrequired
dataarrayrequired
Show child attributes
idstring · uuidrequired
platformstringrequired
bundleIdstringrequired
namestringrequirednullable
Label of the latest file that had one.
iconUrlstringrequirednullable
Relative URL of the icon (getAppIcon); null when no icon could be extracted.
fileCountintegerrequired
Ready, unexpired files.
latestFileobjectrequirednullable
Newest ready file, whoever uploaded it and whatever its branch. Null only when every file has expired.
Show child attributes
idstring · uuidrequired
namestringrequired
versionstringrequirednullable
buildNumberstringrequirednullable
createdAtstring · date-timerequired
expiresAtstring · date-timerequired
createdAtstring · date-timerequired
updatedAtstring · date-timerequired
nextCursorstring
Pass as `cursor` for the next page. Absent on the last page.

Get an app​

GET/api/v1/apps/{appId}

Any role. An app whose files have all expired is still returned, with fileCount: 0 and latestFile: null.

Path parameters
appIdstring · uuidrequired
App UUID
Header parameters
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.
Returns
idstring · uuidrequired
platformstringrequired
bundleIdstringrequired
namestringrequirednullable
Label of the latest file that had one.
iconUrlstringrequirednullable
Relative URL of the icon (getAppIcon); null when no icon could be extracted.
fileCountintegerrequired
Ready, unexpired files.
latestFileobjectrequirednullable
Newest ready file, whoever uploaded it and whatever its branch. Null only when every file has expired.
Show child attributes
idstring · uuidrequired
namestringrequired
versionstringrequirednullable
buildNumberstringrequirednullable
createdAtstring · date-timerequired
expiresAtstring · date-timerequired
createdAtstring · date-timerequired
updatedAtstring · date-timerequired

List an app's files​

GET/api/v1/apps/{appId}/files

Same as listFiles, restricted to this app. For a branch's newest build: ?branch=main&limit=1.

Path parameters
appIdstring · uuidrequired
App UUID
Query parameters
sha256string
Only the file with this lowercase hex SHA-256.
platformstring
Only files for this platform.
bundleIdstring
Only files with this bundle id.
branchstring
Only files whose build.branch equals this.
commitstring
Only files whose build.commit equals this.
statusstring
Only files in this status. Without it, ready and processing files are listed; pendingUpload and failed are for debugging.
qstring
Case-insensitive substring of the name, filename or bundle id.
limitinteger
Page size, 1 to 100. Default 25.
cursorstring
`nextCursor` from the previous page. Opaque.
Header parameters
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.
Returns
objectstringrequired
dataarrayrequired
Show child attributes
idstring · uuidrequired
statusstringrequired
pendingUpload: bytes not verified yet. processing: verification running (seen only by a concurrent caller). ready: installable. failed: see failureReason; creating the same sha256 again resets it.
appstring · uuidrequirednullable
The app this file belongs to, once metadata is extracted.
platformstringrequirednullable
Known once metadata is extracted.
filenamestringrequired
filesizeinteger · int64required
sha256stringrequired
namestringrequired
Display name. Defaults to the filename until metadata is extracted.
bundleIdstringrequirednullable
Android package name or iOS bundle identifier.
versionstringrequirednullable
Version name (Android) or CFBundleShortVersionString (iOS).
buildNumberstringrequirednullable
Version code (Android) or CFBundleVersion (iOS).
minOsVersionstringrequirednullable
Minimum OS version the build supports.
isSimulatorbooleanrequired
True for an iOS simulator build.
buildobjectrequirednullable
Show child attributes
branchstring
commitstring
ciRunUrlstring · uri
https only. Stored and displayed, never fetched.
sourcestringrequired
How the file was created, derived from the credential.
organizationstringrequired
Organization that owns the file.
userstringrequirednullable
Uploader; null if the user was deleted.
failureReasonstringrequirednullable
Why the file failed; null otherwise.
createdAtstring · date-timerequired
lastUsedAtstring · date-timerequirednullable
Last dedup hit or install.
expiresAtstring · date-timerequired
The file and its bytes are deleted after this.
nextCursorstring
Pass as `cursor` for the next page. Absent on the last page.

Get an app's icon​

GET/api/v1/apps/{appId}/icon

The icon as PNG (at most 512×512). Supports If-None-Match with the returned ETag. Any role.

Path parameters
appIdstring · uuidrequired
App UUID
Header parameters
If-None-Matchstring
X-Organization-Idstring
Selects which of the caller's organizations the request acts on. When omitted, the caller's default organization is used.