Losant · Schema

Losant Application

Schema for a single Application

IoTInternet Of ThingsDevicesEdge ComputeEmbeddedMQTTIndustrial IoTTelemetryWorkflow AutomationVisual Workflow EngineDashboardsTime SeriesConnected ProductsEnterprise

Properties

Name Type Description
id object
applicationId object
creationDate object
lastUpdated object
appliedTemplateIds object
ownerId object
ownerType object
organizationName object
organizationIconColor object
name object
description object
endpointSlug object
expUserTokenCutoff object
endpointDefaultCors boolean
globals object
blobUrlTTL number
summary object
ftueTracking array
archiveConfig object
View JSON Schema on GitHub

JSON Schema

losant-application-schema.json Raw ↑
{
  "title": "Losant Application",
  "description": "Schema for a single Application",
  "type": "object",
  "properties": {
    "id": {
      "$ref": "#/$defs/common/objectId"
    },
    "applicationId": {
      "$ref": "#/$defs/common/objectId"
    },
    "creationDate": {
      "$ref": "#/$defs/common/date"
    },
    "lastUpdated": {
      "$ref": "#/$defs/common/date"
    },
    "appliedTemplateIds": {
      "$ref": "#/$defs/common/objectIds"
    },
    "ownerId": {
      "$ref": "#/$defs/common/objectId"
    },
    "ownerType": {
      "$ref": "#/$defs/common/ownerType"
    },
    "organizationName": {
      "$ref": "#/$defs/common/name"
    },
    "organizationIconColor": {
      "$ref": "#/$defs/common/color"
    },
    "name": {
      "$ref": "#/$defs/common/name"
    },
    "description": {
      "$ref": "#/$defs/common/shortString"
    },
    "endpointSlug": {
      "$ref": "#/$defs/common/slug"
    },
    "expUserTokenCutoff": {
      "$ref": "#/$defs/common/date"
    },
    "endpointDefaultCors": {
      "type": "boolean"
    },
    "globals": {
      "$ref": "#/$defs/common/applicationGlobals"
    },
    "blobUrlTTL": {
      "type": "number",
      "minimum": 3600,
      "maximum": 604800
    },
    "summary": {
      "type": "object",
      "properties": {
        "apiTokenCount": {
          "type": "integer"
        },
        "certificateCount": {
          "type": "integer"
        },
        "certificateAuthorityCount": {
          "type": "integer"
        },
        "credentialCount": {
          "type": "integer"
        },
        "dashCount": {
          "type": "integer"
        },
        "dataTableCount": {
          "type": "integer"
        },
        "deviceCount": {
          "type": "integer"
        },
        "deviceRecipeCount": {
          "type": "integer"
        },
        "eventCount": {
          "type": "integer"
        },
        "experienceDomainCount": {
          "type": "integer"
        },
        "experienceEndpointCount": {
          "type": "integer"
        },
        "experienceGroupCount": {
          "type": "integer"
        },
        "experienceSlugCount": {
          "type": "integer"
        },
        "experienceUserCount": {
          "type": "integer"
        },
        "experienceVersionCount": {
          "type": "integer"
        },
        "experienceViewCount": {
          "type": "integer"
        },
        "fileCount": {
          "type": "integer"
        },
        "flowCount": {
          "type": "integer"
        },
        "integrationCount": {
          "type": "integer"
        },
        "keyCount": {
          "type": "integer"
        },
        "notebookCount": {
          "type": "integer"
        },
        "privateFileCount": {
          "type": "integer"
        },
        "resourceJobCount": {
          "type": "integer"
        },
        "webhookCount": {
          "type": "integer"
        },
        "payloadCount": {
          "$ref": "#/$defs/payloadStats"
        },
        "storageStats": {
          "$ref": "#/$defs/common/storageStats"
        },
        "notebookStats": {
          "$ref": "#/$defs/common/notebookStats"
        }
      }
    },
    "ftueTracking": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "$ref": "#/$defs/common/key"
          },
          "version": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "skipped",
              "completed"
            ]
          }
        },
        "required": [
          "name",
          "version",
          "status"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "archiveConfig": {
      "type": "object",
      "properties": {
        "directory": {
          "type": "string",
          "maxLength": 255
        },
        "mode": {
          "$ref": "#/$defs/common/filterType"
        },
        "deviceIds": {
          "$ref": "#/$defs/common/objectIds"
        },
        "deviceTags": {
          "$ref": "#/$defs/common/tagsOptional"
        },
        "includeDevices": {
          "type": "boolean",
          "default": true
        },
        "includeEvents": {
          "type": "boolean",
          "default": false
        },
        "includeDataTables": {
          "type": "boolean",
          "default": false
        },
        "dataTablesMode": {
          "$ref": "#/$defs/common/filterType"
        },
        "dataTableIds": {
          "$ref": "#/$defs/common/objectIds"
        },
        "includeApplicationExport": {
          "type": "boolean",
          "default": false
        },
        "applicationExportOptions": {
          "type": "object",
          "properties": {
            "includeFiles": {
              "type": "boolean",
              "default": false
            },
            "includePrivateFiles": {
              "type": "boolean",
              "default": false
            },
            "includeDataTableRows": {
              "type": "boolean",
              "default": false
            },
            "includeDevices": {
              "type": "boolean",
              "default": false
            },
            "exportType": {
              "type": "string",
              "enum": [
                "repo"
              ],
              "default": "repo"
            },
            "credentialName": {
              "$ref": "#/$defs/common/name"
            },
            "repo": {
              "type": "object",
              "properties": {
                "branch": {
                  "type": "string",
                  "maxLength": 255
                },
                "directory": {
                  "type": "string",
                  "maxLength": 1024
                },
                "commitMessage": {
                  "type": "string",
                  "maxLength": 1024
                }
              }
            }
          },
          "required": [
            "credentialName"
          ],
          "additionalProperties": false
        },
        "delayDays": {
          "type": "integer",
          "minimum": 1
        },
        "s3": {
          "type": "object",
          "properties": {
            "bucket": {
              "type": "string",
              "maxLength": 255
            },
            "accessKeyId": {
              "type": "string",
              "minLength": 4,
              "maxLength": 128
            },
            "secretAccessKey": {
              "type": "string",
              "minLength": 4,
              "maxLength": 128
            },
            "region": {
              "type": "string",
              "maxLength": 128
            }
          },
          "required": [
            "bucket"
          ],
          "additionalProperties": false
        },
        "credentialName": {
          "$ref": "#/$defs/common/name"
        },
        "gcs": {
          "type": "object",
          "properties": {
            "projectId": {
              "$ref": "#/$defs/common/reqMedStr"
            },
            "keyJson": {
              "type": "string",
              "maxLength": 32767,
              "minLength": 4
            },
            "bucket": {
              "type": "string",
              "maxLength": 255
            }
          },
          "required": [
            "bucket"
          ],
          "additionalProperties": false
        },
        "azure": {
          "type": "object",
          "properties": {
            "account": {
              "type": "string",
              "minLength": 3,
              "maxLength": 24
            },
            "accountKey": {
              "type": "string",
              "maxLength": 255
            },
            "bucket": {
              "type": "string",
              "minLength": 3,
              "maxLength": 63
            }
          },
          "required": [
            "bucket"
          ],
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/losant/main/json-schema/losant-application-schema.json",
  "$defs": {
    "payloadStats": {
      "title": "Payload Stats",
      "description": "Schema for the result of a payload stats request",
      "type": "object",
      "properties": {
        "appFile": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "dataTable": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "deviceCreate": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "deviceCommand": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "deviceConnect": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "deviceDisconnect": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "deviceState": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "endpoint": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "event": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "flowError": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "inboundEmail": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "integration": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "mqttIn": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "mqttOut": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "notebook": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "resourceJob": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "timer": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "virtualButton": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        },
        "webhook": {
          "type": "object",
          "patternProperties": {
            ".*": {
              "type": "number"
            }
          }
        }
      }
    }
  }
}