downloads.keyman.com version API - keymanapp/keyman GitHub Wiki
https://downloads.keyman.com/api/version
API Use Notice
This internal-use-only API is intended for use by api.keyman.com and (*.)keyman.com and by maintenance tasks. It may change without notice. Do not use this API within Keyman or other apps or on 3rd party web sites.
General single version API
GET https://downloads.keyman.com/api/version[/platform][/version][?targetVersion=tv]
Example links
Description
Finds the latest versions of downloads and returns a JSON blob with the data. The first *.download_info file in each folder will be checked.
Parameters
platform
The target platform. If omitted, returns data for all platforms.version
The content format version to return. If omitted, returns version 1.0 format.tv
A specific release version of Keyman to return (e.g. 14.0.210). If omitted, returns latest version for each tier.
Returns
- JSON blob or HTTP/400 on invalid parameters
Notes
- Supported platforms are
android
,ios
, 'linux',mac
,web
,windows
. Other platforms will return HTTP/400 - Supported versions are
1.0
,2.0
. Other versions will return HTTP/400
JSON blob format
Only 'stable'
, 'beta'
and 'alpha'
codes are supported. A record will only be returned for a given stability level if a download is found that meets the stability match.
If no files are found for a given platform, it will either be missing or will have a value of null
.
Version 1.0 format
{
"<platform-name>": {
"stable": "1.2.3.4",
"beta": "1.3.2.1",
"alpha": "1.4.5.6"
}, ...
}
Version 2.0 format example
{
"windows": {
"stable": {
"version": "9.0.526.0",
"files": {
"keymandesktop-9.0.526.0.exe": {
"name": "Keyman Desktop",
"version": "9.0.526.0",
"date": "2016-09-16",
"platform": "win",
"stability": "stable",
"file": "keymandesktop-9.0.526.0.exe",
"md5": "5C11DAF6C44A1A8628E83B5F0885FBE3",
"type": "exe",
"build": "526",
"size": 13303880
},
"keymandeveloper-9.0.526.0.exe": {
"name": "Keyman Developer",
"version": "9.0.526.0",
"date": "2016-09-16",
"platform": "win",
"stability": "stable",
"file": "keymandeveloper-9.0.526.0.exe",
"md5": "AC549BD4C6FDEF724ADC142C7C748609",
"type": "exe",
"build": "526",
"size": 33876408
}
}, ...
}, ...
}
All Versions API
GET https://downloads.keyman.com/api/version/all
Example links
Description
Returns a JSON blob with a list of all versions of Keyman released since 14.0, grouped by major version. All three tiers will be included, even if there are no releases for a given tier.
Parameters
- no parameters
Returns
- JSON blob or HTTP/400 on invalid parameters
JSON blob format
This iterates on the web
platform, and thus it is theoretically possible that another platform may have release files which are in a version that web does not include -- typically this could only happen with a failed release build where the release files were not subsequently cleaned up.
{
"14.0": {
"stable": ["14.0.66", "14.0.67", ...],
"beta": ["14.0.50", "14.0.51", ...],
"alpha": ["14.0.1", "14.0.2", ...],
}, ...
}
History
- API Version 2.2, 25 July 2024: Added /all endpoint
- API Version 2.1, 22 December 2020: Added
targetVersion
parameter. - API Version 2.0, 19 July 2017
- API Version 0.1/1.0, 26 June 2017