Skip to content
This repository has been archived by the owner on Feb 24, 2024. It is now read-only.

Keyman API

IanSeng edited this page Nov 27, 2020 · 12 revisions

Official Keyman API doc: click me!!!

Get Keyboard info

  • Background: Display the matched keyboard from Keyman for the currently selected BCP-47 tag #153
  • 3 different ways to retrieve keyboard information.

1. Retrieve all information at once with language name

  • Endpoint:https://api.keyman.com/search/?q=[Language Name]
  • Query With: Language Name
  • Result: Keyboard list & all keyboard detail of all keyboard in the list

Example:

The API returns a list of scripture that is associated with Plains Cree

  • GET: https://api.keyman.com/search/?q=Plains Cree
  • Returning object
{
    "languages": [
        {
            "id": "crk",
            "name": "Cree, Plains (Plains Cree)",
            "keyboards": [
                "fv_plains_cree",
                "km_cree",
                "nrc_crk_cans"
            ]
        }
    ],
    "keyboards": [
        {
            "id": "nrc_crk_cans",
            "name": "ᓀᐦᐃᔭᐍᐏᐣ (Cree Syllabics)",
            "license": "mit",
            "version": "1.2.0",
            "helpLink": "https://help.keyman.com/keyboard/nrc_crk_cans",
            "encodings": [
                "unicode"
            ],
            "languages": {
                "crk-cans": {
                    "scriptName": "Unified Canadian Aboriginal Syllabics",
                    "displayName": "Plains Cree (Unified Canadian Aboriginal Syllabics)",
                    "languageName": "Plains Cree"
                }
            },
            "authorName": "Eddie Antonio Santos",
            "jsFileSize": 67011,
            "jsFilename": "nrc_crk_cans.js",
            "sourcePath": "release/nrc/nrc_crk_cans",
            "authorEmail": "[email protected]",
            "description": "A syllabics keyboard for ᓀᐦᐃᔭᐍᐏᐣ (nêhiyawêwin/Plains Cree/Cree Y-dialect).",
            "packageFileSize": 403673,
            "packageFilename": "nrc_crk_cans.kmp",
            "packageIncludes": [
                "documentation",
                "welcome"
            ],
            "platformSupport": {
                "ios": "full",
                "android": "full",
                "mobileWeb": "full",
                "desktopWeb": "full"
            },
            "lastModifiedDate": "2020-11-24T16:56:10.721Z",
            "minKeymanVersion": "10.0"
        },
        Note: Omitted the full array 
    ]
}
  • In the keyboards object we can get the full name a keyboard. Example: ᓀᐦᐃᔭᐍᐏᐣ (Cree Syllabics) can be found in the returning object.
  • Note: Omitted the full keyboards detailed list for the purpose of cleaner view

2. Retrieve keyboard(s) associated with a BCP-47 tag

  • Endpoint:https://api.keyman.com/search/?q=[BCP-47 tag]
  • Query With: BCP-47 tag
  • Result: Keyboard list

Example: The API returns a list of scripture that is associated with Plains Cree

  • GET: https://api.keyman.com/search/?q=crk
  • Returning object
{
    "languages": [
        {
            "id": "crk",
            "name": "Cree, Plains",
            "keyboards": [
                "fv_plains_cree",
                "km_cree",
                "nrc_crk_cans"
            ]
        }
    ]
}

3. Retrieve detailed information of a keyboard

  • Endpoint:https://api.keyman.com/search/?q=k:[keyboard]
  • Query With: keyboard
  • Result: Keyboard detail

Example:

  • GET: https://api.keyman.com/search/?q=k:fv_plains_cree
  • Returning object
{
    "rangetext": "Keyboards matching 'fv_plains_cree'",
    "keyboards": [
        {
            "id": "fv_plains_cree",
            "name": "ᓀᐦᐃᔭᐍᐏᐣ (Plains Cree)",
            "license": "mit",
            "related": {
                "fv_plains_cree_kmw": {
                    "deprecates": true
                }
            },
            "version": "10.0.2",
            "helpLink": "https://help.keyman.com/keyboard/fv_plains_cree",
            "encodings": [
                "unicode"
            ],
            "languages": {
                "crk-cans": {
                    "font": {
                        "family": "AboriginalSerif",
                        "source": [
                            "AboriginalSerifREGULAR.ttf"
                        ]
                    },
                    "scriptName": "Unified Canadian Aboriginal Syllabics",
                    "displayName": "Plains Cree (Unified Canadian Aboriginal Syllabics)",
                    "languageName": "Plains Cree"
                }
            },
            "jsFileSize": 7099,
            "jsFilename": "fv_plains_cree.js",
            "sourcePath": "release/fv/fv_plains_cree",
            "description": "This keyboard is designed for the ᓀᐦᐃᔭᐍᐏᐣ language of the Prairies region of Canada. This is part of a set of keyboards from FirstVoices.",
            "packageFileSize": 455683,
            "packageFilename": "fv_plains_cree.kmp",
            "packageIncludes": [
                "documentation",
                "fonts"
            ],
            "platformSupport": {
                "ios": "full",
                "android": "full",
                "mobileWeb": "full",
                "desktopWeb": "full"
            },
            "lastModifiedDate": "2020-11-24T16:54:34.050Z",
            "minKeymanVersion": "10.0"
        }
    ]
}