Apps

Apps are created and owned by teams. API access is done at the app level using an app-secret. All resources (collections, assets, currencies, etc) belong to a single app, although they can be shared between apps through permissions. User authentication also occurs at the app level. When a user authenticates through the login process, they are doing so for a single app.

App Data Model

  • appId: a UUID for the app

  • appName: a name for the app

  • appImage: a url to a 500x500 image used to represent the app in menus

  • appBanner: a url to an image used to represent the app in the marketplace

  • description: a text description of the app

  • url: a url where the app can be accessed by users

  • autoGrantRead: specifies whether other apps can automatically be granted a read-only permission from this app

  • teamId: the UUID for the team which owns the app

  • status: whether the app is active, or inactive

  • handcashAppId (optional): a corresponding HandCash app. This is required to user HandCash as a payment wallet

  • createdAt: date-time when the app was created

  • updatedAt: date-time when the app was last updated

  • slots: an array of slotIds that are a part of the app (see Slots for details)

  • appWallets: an array of app-owned wallets owned by the app (see Users for details)

  • appCurrencies: an array of currencies issued by the app (see... for details)

Example App Data

"app": {
    "appId": "64be837307889caa976fb8ec",
    "handcashAppId": "64cc28be6d72f643d8140436",
    "appName": "Test App",
    "appImage": "https://asset-api-files-bucket.s3.amazonaws.com/c3632e6c-31e5-45a1-89c5-8b456bcc972b.png",
    "appBanner": "https://asset-api-files-bucket.s3.amazonaws.com/92413e63-23e5-4765-981e-5462499440ab.png",
    "description": "description text",
    "url": "https://appurl",
    "autoGrantRead": false,
    "teamId": "64be7f808e7066c3bf204986",
    "status": "active",
    "createdAt": 1690207091522,
    "updatedAt": 1691096282535,
    "slots": [
        "64bfd2446524ffa902e9efc9",
        "64c03d405c47576b70e65193",
        "64c03d7d5c47576b70e654d5",
        "64cc14ccaef54708b1822bce"
    ],
    "appWallets": [
        {
            "userId": "64c847d82bc7abaa11661957",
            "handle": "$gmaddapp"
        },
        {
            "userId": "64c84ff38c6cabdd092c538d",
            "handle": "$gmadd"
        }
    ],
    "appCurrencies": [
        {
            "currencyId": "64c1bd5decf611a7302b92a0",
            "currencyCode": "MEG",
            "name": "Test Currency"
        },
        {
            "currencyId": "64c265aea40b54e3698ad772",
            "currencyCode": "JEM",
            "name": "Test Currency"
        },
        {
            "currencyId": "64cc183faef54708b1823176",
            "currencyCode": "JEM2",
            "name": "Test Currency"
        }
    ]
}

Last updated