Skip to main content

Upload App

Upload a new version of an application, including the binary file and relevant metadata.

Endpoint:

POST /upload

Headers:

Authorization: Bearer JWT token.

Body (multipart/form-data):

file: App binary file(s).

app_name (string, required): Name of the application.

version (string, required): Version of the application.

channel (string, optional): Channel (e.g., stable, beta).

publish (boolean, optional): Marks the version available for users.

critical (boolean, optional): Marks the version as critical.

platform (string, optional): Platform (e.g., linux, windows).

arch (string, optional): Architecture (e.g., amd64, arm64).

changelog (string, optional): Changelog in markdown format.

Request:

curl -X POST --location 'http://localhost:9000/upload' \
--header 'Authorization: Bearer <jwt_token>' \
--form 'file=@"/path_to_file/myapp.deb"' \
--form 'data="{\"app_name\":\"myapp\",\"version\":\"0.0.1\",\"channel\":\"stable\",\"publish\":true,\"platform\":\"linux\",\"arch\":\"amd64\",\"changelog\":\"### Changelog\\n\\n- Added new feature X\\n- Fixed bug Y\"}"'

Response:

{
"uploadResult.Uploaded": "6411c7c0ec4ff9a9a9bc18fa"
}

Multiple File Upload Example:

curl -X POST --location 'http://localhost:9000/upload' \
--header 'Authorization: Bearer <jwt_token>' \
--form 'file=@"/path_to_file/myapp.deb"' \
--form 'file=@"/path_to_file/myapp.rpm"' \
--form 'data="{\"app_name\":\"myapp\",\"version\":\"0.0.1\",\"channel\":\"stable\",\"publish\":true,\"platform\":\"linux\",\"arch\":\"amd64\",\"changelog\":\"### Changelog\\n\\n- Added new feature X\\n- Fixed bug Y\"}"'