Licences

The licence packages the organisation has, how many seats are used, and which licensed apps the organisation actually uses (which decides what shows in the launcher). Assign a licence to a person with PATCH /v1/admin/user/licenses.

MethodPathSummary
GET/v1/admin/tenant/licensesList licence packages and seats
GET/v1/admin/tenant/apps-in-useWhich licensed apps are in use
PATCH/v1/admin/tenant/apps-in-use/:applicationIdMark an app as used or not
POST/v1/admin/tenant/licenseGet a licence package

#List licence packages and seats

GET/v1/admin/tenant/licenses

List the tenant's acquired license packages, with seat usage and RMM grace-period status. Requires the GLOBAL_ADMIN role. Each package includes assigned seat count and the applications it grants. Also returns a separate rmm object describing RMM license/grace-period state (see services/rmmLicenseEnforcement.js).

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/licenses
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).

Response 200

FieldTypeDescription
licensesarray of object
licenses[].idinteger
licenses[].tenant_idinteger
licenses[].package_idinteger
licenses[].seatsinteger
licenses[].expires_atstring (date-time), or null
licenses[].acquired_atstring (date-time)
licenses[].is_activeboolean
licenses[].package_namestring
licenses[].package_descriptionstring, or null
licenses[].assigned_usersany
licenses[].applicationsany
rmmany
Example response
JSON
{
  "licenses": [
    {
      "id": 42,
      "tenant_id": 1,
      "package_id": 7,
      "seats": 1,
      "expires_at": "2026-11-12T09:30:00.000Z",
      "acquired_at": "2026-11-12T09:30:00.000Z",
      "is_active": true,
      "package_name": "Example package name",
      "package_description": "string",
      "assigned_users": null,
      "applications": null
    }
  ],
  "rmm": null
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/licenses' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Which licensed apps are in use

GET/v1/admin/tenant/apps-in-use

Which licensed apps this organisation uses. Apps switched off leave the launcher, Hub and search for everyone; they stay licensed and reachable.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/apps-in-use
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Response 200

FieldTypeDescription
successboolean
Example response
JSON
{
  "success": true,
  "…await require(\"../servic": "…"
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/apps-in-use' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Mark an app as used or not

PATCH/v1/admin/tenant/apps-in-use/:applicationId
Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/apps-in-use/:applicationId
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Path parameters

NameTypeDescription
applicationIdrequirednumber

Request body JSON

NameTypeDescription
in_useanytrue shows the app in everyone's launcher; false hides it.

Response 200

FieldTypeDescription
successboolean
appany
Example response
JSON
{
  "success": true,
  "app": null
}

Errors

StatusMessage
400in_use must be true or false

Example request

Bash
curl -X PATCH 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/apps-in-use/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"in_use":"…"}'

#Get a licence package

POST/v1/admin/tenant/license

One package with who it's assigned to. (A POST because it takes tenant_package_id in the body.)

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/license
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Request body JSON

NameTypeDescription
tenant_package_idrequiredinteger

Response 200

FieldTypeDescription
licenseobject
license.assigned_usersarray of object
license.assigned_users[].idinteger
license.assigned_users[].emailstring
license.assigned_users[].first_namestring, or null
license.assigned_users[].last_namestring, or null
license.assigned_users[].display_namestring, or null
license.assigned_users[].statusboolean
Example response
JSON
{
  "license": {
    "…pkg": "…",
    "assigned_users": [
      {
        "id": 42,
        "email": "alex@example.com",
        "first_name": "Alex",
        "last_name": "Morgan",
        "display_name": "Example display name",
        "status": false
      }
    ]
  }
}

Errors

StatusMessage
400tenant_package_id is required
404Package not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/license' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tenant_package_id":7}'