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