Skip to main content

Fetch Latest Version of App

This API endpoint retrieves the latest version of a specific app based on the provided parameters.

Endpoint​

GET /apps/latest?app_name=<app_name>&channel=stable&platform=linux&arch=amd64&owner=admin

Query Parameters​

ParameterTypeRequiredDescription
app_namestring✅The name of the app you want to fetch
channelstring✅The release channel (e.g., stable, beta)
platformstring❌The platform (e.g., linux, darwin)
archstring❌The architecture (e.g., amd64, arm64)
packagestring❌The package type (e.g., deb, rpm, dmg)
ownerstring✅Name of your admin user

Headers​

HeaderValueRequired
X-Download-Tokenfnd_… download token of the app and channelPrivate apps in strict mode
AuthorizationBearer <jwt_token> of the owning admin, or of a team user with the download permission and access to the app and channelAlternative to X-Download-Token

Public apps and private apps in unlisted mode need no credential. For a private app in strict mode, a request without a valid credential gets exactly the same answer as an app that does not exist, 500 Internal Server Error:

{
"error": "app_name not found in apps_meta collection"
}

Important Behavior​

1. Channel Parameter​

  • If channels have been pre-defined, the channel parameter becomes mandatory.

2. Single URL Redirection​

  • If the response contains only one URL, the API will automatically redirect the request to download the build at that URL. This simplifies the process when only one option is available.

3. Flexible Responses Based on Parameters​

The API responds dynamically based on the parameters you provide.

Example: Specific Parameters​

GET /apps/latest?app_name=secondapp&channel=stable&platform=linux&arch=amd64&owner=admin

Returns a list of available builds:

{
"stable": {
"linux": {
"amd64": {
"deb": {
"url": "https://<bucket_name>.s3.amazonaws.com/secondapp/stable/linux/amd64/secondapp-0.0.3.deb"
},
"rpm": {
"url": "https://<bucket_name>.s3.amazonaws.com/secondapp/stable/linux/amd64/secondapp-0.0.3.rpm"
}
}
}
}
}

Example: With Package Specification​

GET /apps/latest?app_name=secondapp&channel=stable&platform=linux&arch=amd64&package=deb&owner=admin

The API will redirect directly to the .deb package download URL:

https://<bucket_name>.s3.amazonaws.com/secondapp/stable/linux/amd64/secondapp-0.0.3.deb

Example: Omitting Platform and Arch​

GET /apps/latest?app_name=secondapp&channel=stable&owner=admin

Returns all available builds under that channel:

{
"stable": {
"linux": {
"amd64": {
"deb": {
"url": "https://<bucket_name>.s3.amazonaws.com/secondapp/stable/linux/amd64/secondapp-0.0.3.deb"
},
"rpm": {
"url": "https://<bucket_name>.s3.amazonaws.com/secondapp/stable/linux/amd64/secondapp-0.0.3.rpm"
}
}
},
"darwin": {
"arm64": {
"dmg": {
"url": "https://<bucket_name>.s3.amazonaws.com/secondapp/stable/darwin/arm64/secondapp-0.0.3.dmg"
}
},
"amd64": {
"pkg": {
"url": "https://<bucket_name>.s3.amazonaws.com/secondapp/stable/darwin/amd64/secondapp-0.0.3.pkg"
}
}
}
}
}

Notes​

  • The API provides all available builds depending on what is uploaded in the specified channel, platform, and architecture
  • Use specific parameters to narrow down results and get direct download URLs
  • The owner parameter is required for proper access control
  • Package types are automatically detected based on available files
  • Responses of private apps are never cached in Redis