Get a list of BizStack Apps available for the project

GET/projects/{projectId}/bizstackApps

Base URL: https://api.tinkermode.com

Get all BizStack Apps available for the project.

Authentication

Send an Authorization header of the form ModeCloud <AUTH_CODE>.

Must contain a user, service account, or project API key.

Path parameters

NameTypeRequiredConstraintsDescription
projectIdintegerYesThe unique ID for a specified project.

Responses

200 List of BizStack Apps available for the project is returned.

Content type: application/json

Represents a Bizstack App returned by the project Bizstack Apps API

An array of objects with the following shape:

PropertyTypeRequiredConstraintsDescription
alertRuleTemplatesarray<object>NoTemplates for alert rules created for the target entity when the Bizstack App is installed.
createdAtstringNoThe time the Bizstack App was created
customModulesarray<object>NoThe list of custom modules that should be used in a project with the installed Bizstack App
dataFilterTemplatesarray<object>NoTemplates for data filters created and connected to data routes upon Bizstack App installation
descriptionstringNoThe description of the Bizstack App
gatewayPeripheralModulesarray<object>NoThe list of gateway peripheral module's data source catalog item IDs that should be used in a project with the installed Bizstack App
iconstringNoThe icon of the Bizstack App
idstringNoThe unique identifier for the Bizstack App
integrationModulesarray<object>NoThe list of integration module's catalog types and data source catalog item IDs that should be used in a project with the installed Bizstack App
namestringNoThe name of the Bizstack App
requiredServicesarray<object>NoThe list of smart modules or other services that should be used in a project with the installed Bizstack App
updatedAtstringNoThe time the Bizstack App was last updated

Response example

[
  {
    "alertRuleTemplates": [
      {
        "actions": [
          {
            "Filter": null,
            "Recipients": [
              {
                "email": "{{ tenantIdentifier }}",
                "recipientType": "email"
              },
              {
                "email": "{{ userEmail }}",
                "recipientType": "email"
              }
            ],
            "VideoFeeds": null
          }
        ],
        "condition": {
          "aggregation": "avg",
          "conditionType": "metricsThreshold",
          "delay": "1min",
          "duration": "1min",
          "frequency": "1min",
          "metricsCondition": {
            "entityClass": "bizstackapp_water_sensor",
            "metricName": "water_level",
            "metricsDefinitionId": "measurements"
          },
          "thresholds": [
            {
              "operands": [
                80
              ],
              "operator": "greaterThan",
              "severity": 1
            }
          ]
        },
        "description": "Alerts when the measured water level exceeds the threshold",
        "disableAutoRecovery": false,
        "disableRecoveryAlert": false,
        "messageTemplate": {
          "message": "See the details in https://example.com/projects/{{projectId}}/view/alerts/{{alertId}}",
          "recoveryMessage": "See the details in https://example.com/projects/{{projectId}}/view/alerts/{{alertId}}",
          "recoveryTitle": "The water level of {{entityName}} is back to normal",
          "title": "The water level of {{entityName}} is too high"
        },
        "name": "High water level detection"
      }
    ],
    "createdAt": "2025-07-03T04:51:59.804+00:00",
    "customModules": [
      {
        "dataSourceCatalogItemIds": [
          "External-Source"
        ]
      }
    ],
    "dataFilterTemplates": [
      {
        "catalogId": "Safie",
        "conversionRules": {
          "entityClass": "bizstackapp_camera_location",
          "metricsDefinitionId": "measurements",
          "values": [
            {
              "metricName": "long",
              "name": "longitude"
            },
            {
              "metricName": "lat",
              "name": "latitude"
            }
          ]
        },
        "dataType": "metrics",
        "filterType": "conversion",
        "name": "Metric Conversion Filter"
      }
    ],
    "description": "This is an example of a Bizstack App that demonstrates the structure and fields used in the API.",
    "gatewayPeripheralModules": [
      {
        "dataSourceCatalogItemId": "Safie"
      }
    ],
    "icon": "biz_console::water",
    "id": "bizstack_app_example-01",
    "integrationModules": [
      {
        "dataSourceCatalogItemIds": [
          "Safie"
        ],
        "intmodCatalogType": "Safie"
      }
    ],
    "name": "The example of the Bizstack App",
    "requiredServices": [
      {
        "type": "geotsdb"
      }
    ],
    "updatedAt": "2025-07-07T00:18:52.830+00:00"
  }
]

401 Authorization is required to access this resource.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

403 Request failed because of denied permission.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

429 Request failed because of rate limit.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

500 An unexpected error has occurred.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

503 The service is temporarily unavailable.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.