Schemas

Advanced Event Query

Schema for advanced event queries

Advanced Event Query Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "$and": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/advancedEventQuery"
      }
    },
    "$or": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/advancedEventQuery"
      }
    },
    "id": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "creationDate": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "lastUpdated": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "sourceId": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "sourceType": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "level": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "state": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "subject": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "deviceId": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "eventTags": {
      "oneOf": [
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "$tagKey": {
                  "type": "string"
                },
                "$tagValue": {
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "minProperties": 1
            },
            {
              "type": "object",
              "patternProperties": {
                "^[0-9a-zA-Z_-]{1,255}": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "$tagKey": {
                      "type": "string"
                    },
                    "$tagValue": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false,
                  "minProperties": 1
                },
                {
                  "type": "object",
                  "patternProperties": {
                    "^[0-9a-zA-Z_-]{1,255}": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "minProperties": 1,
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "$ne": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "$tagKey": {
                      "type": "string"
                    },
                    "$tagValue": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false,
                  "minProperties": 1
                },
                {
                  "type": "object",
                  "patternProperties": {
                    "^[0-9a-zA-Z_-]{1,255}": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "minProperties": 1,
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}

Advanced Event Query Example

{
  "$or": [
    {
      "level": {
        "$ne": "myValue"
      }
    },
    {
      "level": 5
    }
  ]
}

Advanced Query

Schema for advanced filters and queries

Advanced Query Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "$and": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/advancedQuery"
      }
    },
    "$or": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/advancedQuery"
      }
    }
  },
  "patternProperties": {
    "^[0-9a-zA-Z_-]{1,255}": {
      "oneOf": [
        {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        },
        {
          "type": "object",
          "properties": {
            "$eq": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$ne": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lt": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$gte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$lte": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "$startsWith": {
              "type": "string",
              "minLength": 1
            },
            "$endsWith": {
              "type": "string",
              "minLength": 1
            },
            "$contains": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}

Advanced Query Example

{
  "$or": [
    {
      "level": {
        "$ne": "myValue"
      }
    },
    {
      "level": 5
    }
  ]
}

API Token

Schema for a single API Token

API Token Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "apiTokenId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "ownerId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "ownerType": {
      "type": "string",
      "enum": [
        "application"
      ]
    },
    "creatorId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creatorType": {
      "type": "string",
      "enum": [
        "apiToken",
        "user",
        "flow"
      ]
    },
    "creatorName": {
      "type": "string",
      "maxLength": 1024
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time"
    },
    "expirationDate": {
      "type": "string",
      "format": "date-time"
    },
    "scope": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1024
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "token": {
      "type": "string",
      "minLength": 1
    }
  }
}

API Token Example

{
  "id": "575ec7417ae143cd83dc4a95",
  "apiTokenId": "575ec7417ae143cd83dc4a95",
  "creatorId": "575ed70c7ae143cd83dc4aa9",
  "creatorType": "user",
  "ownerId": "575ec8687ae143cd83dc4a97",
  "ownerType": "application",
  "name": "My API Token",
  "creationDate": "2016-06-13T04:00:00.000Z",
  "lastUpdated": "2016-06-13T04:00:00.000Z",
  "expirationDate": "2017-06-13T04:00:00.000Z",
  "scope": [
    "all.Application"
  ],
  "status": "active",
  "token": "the_actual_token_string"
}

API Token Patch

Schema for the body of an API Token modification request

API Token Patch Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    }
  },
  "additionalProperties": false
}

API Token Patch Example

{
  "name": "My Updated API Token",
  "status": "inactive"
}

API Tokens

Schema for a collection of API Tokens

API Tokens Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "title": "API Token",
        "description": "Schema for a single API Token",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "apiTokenId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "ownerId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "ownerType": {
            "type": "string",
            "enum": [
              "application"
            ]
          },
          "creatorId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "creatorType": {
            "type": "string",
            "enum": [
              "apiToken",
              "user",
              "flow"
            ]
          },
          "creatorName": {
            "type": "string",
            "maxLength": 1024
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "maxLength": 32767
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          },
          "scope": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "token": {
            "type": "string",
            "minLength": 1
          }
        }
      }
    },
    "count": {
      "type": "integer"
    },
    "totalCount": {
      "type": "integer"
    },
    "perPage": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "filter": {
      "type": "string"
    },
    "filterField": {
      "type": "string"
    },
    "sortField": {
      "type": "string"
    },
    "sortDirection": {
      "type": "string",
      "enum": [
        "asc",
        "desc",
        "ASC",
        "DESC",
        ""
      ]
    },
    "ownerId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "ownerType": {
      "type": "string",
      "enum": [
        "application"
      ]
    }
  }
}

API Tokens Example

{
  "items": [
    {
      "id": "575ec7417ae143cd83dc4a95",
      "apiTokenId": "575ec7417ae143cd83dc4a95",
      "creatorId": "575ed70c7ae143cd83dc4aa9",
      "creatorType": "user",
      "ownerId": "575ec8687ae143cd83dc4a97",
      "ownerType": "application",
      "name": "My API Token",
      "creationDate": "2016-06-13T04:00:00.000Z",
      "lastUpdated": "2016-06-13T04:00:00.000Z",
      "expirationDate": "2017-06-13T04:00:00.000Z",
      "scope": [
        "all.Application"
      ],
      "status": "active",
      "token": "the_actual_token_string"
    }
  ],
  "count": 1,
  "totalCount": 4,
  "perPage": 1,
  "page": 0,
  "sortField": "name",
  "sortDirection": "asc",
  "ownerId": "575ec8687ae143cd83dc4a97",
  "ownerType": "application"
}

Application

Schema for a single Application

Application Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time"
    },
    "ownerId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "ownerType": {
      "type": "string",
      "enum": [
        "user",
        "organization"
      ]
    },
    "organizationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "organizationIconColor": {
      "type": "string",
      "maxLength": 64
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "endpointSlug": {
      "type": "string",
      "minLength": 4,
      "maxLength": 63,
      "pattern": "^[0-9a-z-]*$"
    },
    "expUserTokenCutoff": {
      "type": "string",
      "format": "date-time"
    },
    "endpointDefaultCors": {
      "type": "boolean"
    },
    "globals": {
      "type": "array",
      "maxItems": 100,
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "json": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32767
          },
          "cloudOnly": {
            "type": "boolean",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "key",
          "json"
        ]
      }
    },
    "summary": {
      "type": "object",
      "properties": {
        "apiTokenCount": {
          "type": "number"
        },
        "dataTableCount": {
          "type": "number"
        },
        "deviceCount": {
          "type": "number"
        },
        "deviceRecipeCount": {
          "type": "number"
        },
        "eventCount": {
          "type": "number"
        },
        "experienceDomainCount": {
          "type": "number"
        },
        "experienceEndpointCount": {
          "type": "number"
        },
        "experienceGroupCount": {
          "type": "number"
        },
        "experienceSlugCount": {
          "type": "number"
        },
        "experienceUserCount": {
          "type": "number"
        },
        "experienceVersionCount": {
          "type": "number"
        },
        "experienceViewCount": {
          "type": "number"
        },
        "fileCount": {
          "type": "number"
        },
        "flowCount": {
          "type": "number"
        },
        "integrationCount": {
          "type": "number"
        },
        "keyCount": {
          "type": "number"
        },
        "storageStats": {
          "type": "object",
          "properties": {
            "count": {
              "type": "number"
            },
            "size": {
              "type": "number"
            }
          }
        },
        "webhookCount": {
          "type": "number"
        }
      }
    },
    "ftueTracking": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "version": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "skipped",
              "completed"
            ]
          }
        },
        "required": [
          "name",
          "version",
          "status"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "archiveConfig": {
      "type": "object",
      "properties": {
        "directory": {
          "type": "string",
          "max": 255
        },
        "mode": {
          "type": "string",
          "enum": [
            "all",
            "whitelist",
            "blacklist"
          ]
        },
        "deviceIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "maxItems": 1000
        },
        "deviceTags": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "pattern": "^[0-9a-zA-Z_-]{1,255}$"
              },
              "value": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "additionalProperties": false
          },
          "maxItems": 100
        },
        "includeDevices": {
          "type": "boolean",
          "default": true
        },
        "includeEvents": {
          "type": "boolean",
          "default": false
        },
        "includeDataTables": {
          "type": "boolean",
          "default": false
        },
        "dataTablesMode": {
          "type": "string",
          "enum": [
            "all",
            "whitelist",
            "blacklist"
          ]
        },
        "dataTableIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "maxItems": 1000
        },
        "s3": {
          "type": "object",
          "properties": {
            "bucket": {
              "type": "string",
              "max": 255
            },
            "accessKeyId": {
              "type": "string",
              "min": 16,
              "max": 128
            },
            "secretAccessKey": {
              "type": "string",
              "min": 16,
              "max": 128
            },
            "region": {
              "type": "string",
              "max": 128
            }
          },
          "required": [
            "bucket",
            "accessKeyId",
            "secretAccessKey",
            "region"
          ],
          "additionalProperties": false
        },
        "gcs": {
          "type": "object",
          "properties": {
            "projectId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            },
            "keyJson": {
              "type": "string",
              "maxLength": 32767,
              "minLength": 50
            },
            "bucket": {
              "type": "string",
              "max": 255
            }
          },
          "required": [
            "projectId",
            "keyJson",
            "bucket"
          ],
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  }
}

Application Example

{
  "id": "575ec8687ae143cd83dc4a97",
  "applicationId": "575ec8687ae143cd83dc4a97",
  "creationDate": "2016-06-13T04:00:00.000Z",
  "lastUpdated": "2016-06-13T04:00:00.000Z",
  "ownerId": "575ed70c7ae143cd83dc4aa9",
  "ownerType": "user",
  "name": "My Application",
  "description": "The is the best application description",
  "summary": {
    "deviceCount": 5,
    "flowCount": 2,
    "webhookCount": 0,
    "eventCount": 0,
    "keyCount": 1,
    "deviceRecipeCount": 0
  },
  "archiveConfig": {
    "s3": {
      "bucket": "bucketName",
      "accessKeyId": "awsAccessKey",
      "accessSecretKey": "awsSecretKey",
      "region": "us-west-1"
    },
    "mode": "all",
    "deviceIds": [
      "575ec8687ae143cd83dc4a95",
      "575ec8687ae143cd83dc4a91"
    ]
  }
}

Application API Token Post

Schema for the body of an Application API Token creation request

Application API Token Post Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "expirationDate": {
      "type": "string",
      "format": "date-time"
    },
    "scope": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "type": "string",
        "enum": [
          "all.Application",
          "all.Application.read",
          "all.Device",
          "all.Device.read",
          "application.*",
          "applicationApiToken.*",
          "applicationApiTokens.*",
          "applicationCertificate.*",
          "applicationCertificates.*",
          "applicationCertificateAuthority.*",
          "applicationCertificateAuthorities.*",
          "applicationKey.*",
          "applicationKeys.*",
          "data.*",
          "dataTable.*",
          "dataTables.*",
          "dataTableRow.*",
          "dataTableRows.*",
          "device.*",
          "deviceRecipe.*",
          "deviceRecipes.*",
          "devices.*",
          "edgeDeployments.*",
          "event.*",
          "events.*",
          "experience.*",
          "experienceDomain.*",
          "experienceDomains.*",
          "experienceEndpoint.*",
          "experienceEndpoints.*",
          "experienceGroup.*",
          "experienceGroups.*",
          "experienceSlug.*",
          "experienceSlugs.*",
          "experienceUser.*",
          "experienceUsers.*",
          "experienceVersion.*",
          "experienceVersions.*",
          "experienceView.*",
          "experienceViews.*",
          "integration.*",
          "integrations.*",
          "file.*",
          "files.*",
          "flow.*",
          "flows.*",
          "flowVersion.*",
          "flowVersions.*",
          "notebook.*",
          "notebooks.*",
          "webhook.*",
          "webhooks.*",
          "application.archiveData",
          "application.backfillArchiveData",
          "application.fullEventsArchive",
          "application.fullDataTablesArchive",
          "application.debug",
          "application.delete",
          "application.get",
          "application.mqttPublishMessage",
          "application.mqttSubscriptionStream",
          "application.patch",
          "application.payloadCounts",
          "application.search",
          "applicationApiToken.delete",
          "applicationApiToken.get",
          "applicationApiToken.patch",
          "applicationApiTokens.get",
          "applicationApiTokens.post",
          "applicationCertificate.delete",
          "applicationCertificate.get",
          "applicationCertificate.patch",
          "applicationCertificates.get",
          "applicationCertificates.post",
          "applicationCertificateAuthority.delete",
          "applicationCertificateAuthority.get",
          "applicationCertificateAuthority.patch",
          "applicationCertificateAuthorities.get",
          "applicationCertificateAuthorities.post",
          "applicationKey.delete",
          "applicationKey.get",
          "applicationKey.patch",
          "applicationKeys.get",
          "applicationKeys.post",
          "data.export",
          "data.lastValueQuery",
          "data.timeSeriesQuery",
          "dataTable.addColumn",
          "dataTable.delete",
          "dataTable.get",
          "dataTable.patch",
          "dataTable.removeColumn",
          "dataTableRow.delete",
          "dataTableRow.get",
          "dataTableRow.patch",
          "dataTableRows.get",
          "dataTableRows.post",
          "dataTableRows.query",
          "dataTableRows.export",
          "dataTableRows.delete",
          "dataTableRows.truncate",
          "dataTables.get",
          "dataTables.post",
          "device.commandStream",
          "device.debug",
          "device.delete",
          "device.export",
          "device.get",
          "device.getCommand",
          "device.getCompositeState",
          "device.getLogEntries",
          "device.getState",
          "device.patch",
          "device.removeData",
          "device.sendCommand",
          "device.sendState",
          "device.setConnectionStatus",
          "device.stateStream",
          "deviceRecipe.bulkCreate",
          "deviceRecipe.delete",
          "deviceRecipe.get",
          "deviceRecipe.patch",
          "deviceRecipes.get",
          "deviceRecipes.post",
          "devices.detailedSummary",
          "devices.export",
          "devices.get",
          "devices.post",
          "devices.sendCommand",
          "edgeDeployments.get",
          "edgeDeployments.release",
          "edgeDeployments.remove",
          "edgeDeployments.replace",
          "event.delete",
          "event.get",
          "event.patch",
          "events.delete",
          "events.get",
          "events.mostRecentBySeverity",
          "events.patch",
          "events.post",
          "events.export",
          "experience.delete",
          "experience.bootstrap",
          "experienceDomain.delete",
          "experienceDomain.get",
          "experienceDomain.patch",
          "experienceDomains.get",
          "experienceDomains.post",
          "experienceEndpoint.delete",
          "experienceEndpoint.get",
          "experienceEndpoint.patch",
          "experienceEndpoints.get",
          "experienceEndpoints.post",
          "experienceEndpoints.stats",
          "experienceGroup.delete",
          "experienceGroup.get",
          "experienceGroup.patch",
          "experienceGroups.detailedSummary",
          "experienceGroups.get",
          "experienceGroups.post",
          "experienceSlug.delete",
          "experienceSlug.get",
          "experienceSlug.patch",
          "experienceSlugs.get",
          "experienceSlugs.post",
          "experienceUser.delete",
          "experienceUser.get",
          "experienceUser.patch",
          "experienceUsers.detailedSummary",
          "experienceUsers.get",
          "experienceUsers.post",
          "experienceVersion.delete",
          "experienceVersion.get",
          "experienceVersion.patch",
          "experienceVersions.get",
          "experienceVersions.post",
          "experienceView.debug",
          "experienceView.delete",
          "experienceView.get",
          "experienceView.patch",
          "experienceViews.debug",
          "experienceViews.detailedSummary",
          "experienceViews.get",
          "experienceViews.post",
          "file.get",
          "file.patch",
          "file.move",
          "file.delete",
          "file.upload",
          "files.get",
          "files.post",
          "flow.debug",
          "flow.delete",
          "flow.clearStorageEntries",
          "flow.get",
          "flow.getStorageEntries",
          "flow.log",
          "flow.patch",
          "flow.pressVirtualButton",
          "flow.setStorageEntry",
          "flows.get",
          "flows.getByVersion",
          "flows.import",
          "flows.post",
          "flowVersion.delete",
          "flowVersion.get",
          "flowVersion.log",
          "flowVersion.patch",
          "flowVersions.get",
          "flowVersions.post",
          "integration.delete",
          "integration.get",
          "integration.patch",
          "integrations.get",
          "integrations.post",
          "notebook.delete",
          "notebook.execute",
          "notebook.get",
          "notebook.logs",
          "notebook.patch",
          "notebook.requestInputDataExport",
          "notebook.upload",
          "notebooks.get",
          "notebooks.post",
          "webhook.delete",
          "webhook.get",
          "webhook.patch",
          "webhooks.get",
          "webhooks.post"
        ]
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "name"
  ]
}

Application API Token Post Example

{
  "name": "My New API Token",
  "expirationDate": "2017-06-13T04:00:00.000Z",
  "scope": [
    "all.Application"
  ],
  "status": "active"
}

Application Certificate

Schema for a single Application Certificate

Application Certificate Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationCertificateId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "deviceIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Fa-f\\d]{24}$"
      },
      "maxItems": 1000
    },
    "deviceTags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "certificateInfo": {
      "type": "object",
      "properties": {
        "serialNumber": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1024
        },
        "fingerprint": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1024
        },
        "commonName": {
          "type": "string",
          "maxLength": 1024
        },
        "issuerName": {
          "type": "string",
          "maxLength": 1024
        },
        "notValidBefore": {
          "type": "string",
          "format": "date-time"
        },
        "notValidAfter": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}

Application Certificate Example

{
  "id": "5cd02a50df66feb0994c7196",
  "applicationCertificateId": "5cd02a50df66feb0994c7196",
  "applicationId": "575ec8687ae143cd83dc4a97",
  "creationDate": "2016-06-13T04:00:00.000Z",
  "lastUpdated": "2016-06-13T04:00:00.000Z",
  "status": "active",
  "description": "An example certificate description",
  "certificateInfo": {
    "serialNumber": "ad:0e:ff:63:27:83:e5:3e:6b:a9:fb:57:0d:37:fc:e9",
    "fingerprint": "FF:4A:88:5D:93:E7:FF:61:E4:72:94:EE:82:4B:56:B2:AB:71:38:06",
    "commonName": "myDomain.com",
    "issuerName": "Network Solutions OV Server CA 2",
    "notValidBefore": "2019-04-10T00:00:00.000Z",
    "notValidAfter": "2020-04-10T00:00:00.000Z"
  }
}

Application Certificate Authorities

Schema for a collection of Application Certificate Authorities

Application Certificate Authorities Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "title": "Application Certificate Authority",
        "description": "Schema for a single Application Certificate Authority",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "applicationCertificateAuthorityId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "applicationId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "maxLength": 32767
          },
          "caBundle": {
            "type": "string",
            "maxLength": 32767,
            "minLength": 50
          },
          "caInfo": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "serialNumber": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 1024
                },
                "fingerprint": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 1024
                },
                "commonName": {
                  "type": "string",
                  "maxLength": 1024
                },
                "issuerName": {
                  "type": "string",
                  "maxLength": 1024
                },
                "notValidBefore": {
                  "type": "string",
                  "format": "date-time"
                },
                "notValidAfter": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "count": {
      "type": "integer"
    },
    "totalCount": {
      "type": "integer"
    },
    "perPage": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "filter": {
      "type": "string"
    },
    "filterField": {
      "type": "string"
    },
    "sortField": {
      "type": "string"
    },
    "sortDirection": {
      "type": "string",
      "enum": [
        "asc",
        "desc",
        "ASC",
        "DESC",
        ""
      ]
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    }
  }
}

Application Certificate Authorities Example

{
  "items": [
    {
      "id": "5cd02a7bdf66feb0994c7197",
      "applicationCertificateAuthorityId": "5cd02a7bdf66feb0994c7197",
      "applicationId": "575ec8687ae143cd83dc4a97",
      "creationDate": "2016-06-13T04:00:00.000Z",
      "lastUpdated": "2016-06-13T04:00:00.000Z",
      "status": "active",
      "name": "my certificate authority",
      "description": "An example certificate authority description",
      "caBundle": "MY_SSL_CERTIFICATE",
      "caInfo": [
        {
          "serialNumber": "ad:0e:ff:63:27:83:e5:3e:6b:a9:fb:57:0d:37:fc:e9",
          "fingerprint": "FF:4A:88:5D:93:E7:FF:61:E4:72:94:EE:82:4B:56:B2:AB:71:38:06",
          "commonName": "myDomain.com",
          "issuerName": "Network Solutions OV Server CA 2",
          "notValidBefore": "2019-04-10T00:00:00.000Z",
          "notValidAfter": "2020-04-10T00:00:00.000Z"
        }
      ]
    }
  ],
  "count": 1,
  "totalCount": 4,
  "perPage": 1,
  "page": 0,
  "sortField": "key",
  "sortDirection": "asc",
  "applicationId": "575ec8687ae143cd83dc4a97"
}

Application Certificate Authority

Schema for a single Application Certificate Authority

Application Certificate Authority Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationCertificateAuthorityId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "caBundle": {
      "type": "string",
      "maxLength": 32767,
      "minLength": 50
    },
    "caInfo": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "serialNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "fingerprint": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "commonName": {
            "type": "string",
            "maxLength": 1024
          },
          "issuerName": {
            "type": "string",
            "maxLength": 1024
          },
          "notValidBefore": {
            "type": "string",
            "format": "date-time"
          },
          "notValidAfter": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    }
  }
}

Application Certificate Authority Example

{
  "id": "5cd02a7bdf66feb0994c7197",
  "applicationCertificateAuthorityId": "5cd02a7bdf66feb0994c7197",
  "applicationId": "575ec8687ae143cd83dc4a97",
  "creationDate": "2016-06-13T04:00:00.000Z",
  "lastUpdated": "2016-06-13T04:00:00.000Z",
  "status": "active",
  "name": "my certificate authority",
  "description": "An example certificate authority description",
  "caBundle": "MY_SSL_CERTIFICATE",
  "caInfo": [
    {
      "serialNumber": "ad:0e:ff:63:27:83:e5:3e:6b:a9:fb:57:0d:37:fc:e9",
      "fingerprint": "FF:4A:88:5D:93:E7:FF:61:E4:72:94:EE:82:4B:56:B2:AB:71:38:06",
      "commonName": "myDomain.com",
      "issuerName": "Network Solutions OV Server CA 2",
      "notValidBefore": "2019-04-10T00:00:00.000Z",
      "notValidAfter": "2020-04-10T00:00:00.000Z"
    }
  ]
}

Application Certificate Authority Patch

Schema for the body of an Application Certificate Authority modification request

Application Certificate Authority Patch Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "caBundle": {
      "type": "string",
      "maxLength": 32767,
      "minLength": 50
    }
  },
  "additionalProperties": false
}

Application Certificate Authority Patch Example

{
  "status": "active",
  "description": "An example updated authority description"
}

Application Certificate Authority Post

Schema for the body of an Application Certificate Authority creation request

Application Certificate Authority Post Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "caBundle": {
      "type": "string",
      "maxLength": 32767,
      "minLength": 50
    }
  },
  "required": [
    "name",
    "caBundle"
  ],
  "additionalProperties": false
}

Application Certificate Authority Post Example

{
  "name": "my certificate authority",
  "description": "An example new authority description",
  "caBundle": "MY_SSL_CERTIFICATE"
}

Application Certificate Patch

Schema for the body of an Application Certificate modification request

Application Certificate Patch Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "certificate": {
      "type": "string",
      "maxLength": 32767,
      "minLength": 50
    }
  },
  "additionalProperties": false
}

Application Certificate Patch Example

{
  "status": "active",
  "description": "An example updated certificate description"
}

Application Certificate Post

Schema for the body of an Application Certificate creation request

Application Certificate Post Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "deviceIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Fa-f\\d]{24}$"
      },
      "maxItems": 1000
    },
    "deviceTags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "certificate": {
      "type": "string",
      "maxLength": 32767,
      "minLength": 50
    }
  },
  "required": [
    "certificate"
  ],
  "additionalProperties": false
}

Application Certificate Post Example

{
  "description": "An example new certificate description",
  "certificate": "MY_SSL_CERTIFICATE"
}

Application Certificates

Schema for a collection of Application Certificates

Application Certificates Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "title": "Application Certificate",
        "description": "Schema for a single Application Certificate",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "applicationCertificateId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "applicationId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "description": {
            "type": "string",
            "maxLength": 32767
          },
          "deviceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[A-Fa-f\\d]{24}$"
            },
            "maxItems": 1000
          },
          "deviceTags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string",
                  "pattern": "^[0-9a-zA-Z_-]{1,255}$"
                },
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "additionalProperties": false
            },
            "maxItems": 100
          },
          "certificateInfo": {
            "type": "object",
            "properties": {
              "serialNumber": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "fingerprint": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "commonName": {
                "type": "string",
                "maxLength": 1024
              },
              "issuerName": {
                "type": "string",
                "maxLength": 1024
              },
              "notValidBefore": {
                "type": "string",
                "format": "date-time"
              },
              "notValidAfter": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      }
    },
    "count": {
      "type": "integer"
    },
    "totalCount": {
      "type": "integer"
    },
    "perPage": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "filter": {
      "type": "string"
    },
    "filterField": {
      "type": "string"
    },
    "sortField": {
      "type": "string"
    },
    "sortDirection": {
      "type": "string",
      "enum": [
        "asc",
        "desc",
        "ASC",
        "DESC",
        ""
      ]
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    }
  }
}

Application Certificates Example

{
  "items": [
    {
      "id": "5cd02a50df66feb0994c7196",
      "applicationCertificateId": "5cd02a50df66feb0994c7196",
      "applicationId": "575ec8687ae143cd83dc4a97",
      "creationDate": "2016-06-13T04:00:00.000Z",
      "lastUpdated": "2016-06-13T04:00:00.000Z",
      "status": "active",
      "description": "An example certificate description",
      "certificateInfo": {
        "serialNumber": "ad:0e:ff:63:27:83:e5:3e:6b:a9:fb:57:0d:37:fc:e9",
        "fingerprint": "FF:4A:88:5D:93:E7:FF:61:E4:72:94:EE:82:4B:56:B2:AB:71:38:06",
        "commonName": "myDomain.com",
        "issuerName": "Network Solutions OV Server CA 2",
        "notValidBefore": "2019-04-10T00:00:00.000Z",
        "notValidAfter": "2020-04-10T00:00:00.000Z"
      }
    }
  ],
  "count": 1,
  "totalCount": 4,
  "perPage": 1,
  "page": 0,
  "sortField": "key",
  "sortDirection": "asc",
  "applicationId": "575ec8687ae143cd83dc4a97"
}

Application Key

Schema for a single Application Key

Application Key Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationKeyId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time"
    },
    "key": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "deviceIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Fa-f\\d]{24}$"
      },
      "maxItems": 1000
    },
    "deviceTags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    }
  }
}

Application Key Example

{
  "id": "575ec76c7ae143cd83dc4a96",
  "applicationKeyId": "575ec76c7ae143cd83dc4a96",
  "applicationId": "575ec8687ae143cd83dc4a97",
  "creationDate": "2016-06-13T04:00:00.000Z",
  "lastUpdated": "2016-06-13T04:00:00.000Z",
  "key": "this_would_be_the_key",
  "status": "active",
  "description": "An example key description"
}

Application Key Patch

Schema for the body of an Application Key modification request

Application Key Patch Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    }
  },
  "additionalProperties": false
}

Application Key Patch Example

{
  "status": "active",
  "description": "An example updated key description"
}

Application Key Post

Schema for the body of an Application Key creation request

Application Key Post Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "deviceIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Fa-f\\d]{24}$"
      },
      "maxItems": 1000
    },
    "deviceTags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    }
  },
  "additionalProperties": false
}

Application Key Post Example

{
  "description": "An example new key description"
}

Application Key Post Response

Schema for a response of Application Key creation

Application Key Post Response Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationKeyId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time"
    },
    "key": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "secret": {
      "type": "string"
    },
    "deviceIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Fa-f\\d]{24}$"
      },
      "maxItems": 1000
    },
    "deviceTags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    }
  }
}

Application Key Post Response Example

{
  "id": "575ec76c7ae143cd83dc4a96",
  "applicationKeyId": "575ec76c7ae143cd83dc4a96",
  "applicationId": "575ec8687ae143cd83dc4a97",
  "creationDate": "2016-06-13T04:00:00.000Z",
  "lastUpdated": "2016-06-13T04:00:00.000Z",
  "key": "this_would_be_the_key",
  "status": "active",
  "secret": "shhhSecret",
  "description": "An example key description"
}

Application Keys

Schema for a collection of Application Keys

Application Keys Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "title": "Application Key",
        "description": "Schema for a single Application Key",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "applicationKeyId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "applicationId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "key": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "deviceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[A-Fa-f\\d]{24}$"
            },
            "maxItems": 1000
          },
          "deviceTags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string",
                  "pattern": "^[0-9a-zA-Z_-]{1,255}$"
                },
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "additionalProperties": false
            },
            "maxItems": 100
          },
          "description": {
            "type": "string",
            "maxLength": 32767
          }
        }
      }
    },
    "count": {
      "type": "integer"
    },
    "totalCount": {
      "type": "integer"
    },
    "perPage": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "filter": {
      "type": "string"
    },
    "filterField": {
      "type": "string"
    },
    "sortField": {
      "type": "string"
    },
    "sortDirection": {
      "type": "string",
      "enum": [
        "asc",
        "desc",
        "ASC",
        "DESC",
        ""
      ]
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    }
  }
}

Application Keys Example

{
  "items": [
    {
      "id": "575ec76c7ae143cd83dc4a96",
      "applicationKeyId": "575ec76c7ae143cd83dc4a96",
      "applicationId": "575ec8687ae143cd83dc4a97",
      "creationDate": "2016-06-13T04:00:00.000Z",
      "lastUpdated": "2016-06-13T04:00:00.000Z",
      "key": "this_would_be_the_key",
      "status": "active",
      "description": "An example key description"
    }
  ],
  "count": 1,
  "totalCount": 4,
  "perPage": 1,
  "page": 0,
  "sortField": "key",
  "sortDirection": "asc",
  "applicationId": "575ec8687ae143cd83dc4a97"
}

Application Patch

Schema for the body of an Application modification request

Application Patch Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "endpointSlug": {
      "type": "string",
      "minLength": 4,
      "maxLength": 63,
      "pattern": "^[0-9a-z-]*$"
    },
    "expUserTokenCutoff": {
      "type": "string",
      "format": "date-time"
    },
    "endpointDefaultCors": {
      "type": "boolean"
    },
    "globals": {
      "type": "array",
      "maxItems": 100,
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "json": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32767
          },
          "cloudOnly": {
            "type": "boolean",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "key",
          "json"
        ]
      }
    },
    "ftueTracking": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "version": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "skipped",
              "completed"
            ]
          }
        },
        "required": [
          "name",
          "version",
          "status"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "archiveConfig": {
      "type": "object",
      "properties": {
        "directory": {
          "type": "string",
          "max": 255
        },
        "mode": {
          "type": "string",
          "enum": [
            "all",
            "whitelist",
            "blacklist"
          ]
        },
        "deviceIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "maxItems": 1000
        },
        "deviceTags": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "pattern": "^[0-9a-zA-Z_-]{1,255}$"
              },
              "value": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "additionalProperties": false
          },
          "maxItems": 100
        },
        "includeDevices": {
          "type": "boolean",
          "default": true
        },
        "includeEvents": {
          "type": "boolean",
          "default": false
        },
        "includeDataTables": {
          "type": "boolean",
          "default": false
        },
        "dataTablesMode": {
          "type": "string",
          "enum": [
            "all",
            "whitelist",
            "blacklist"
          ]
        },
        "dataTableIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "maxItems": 1000
        },
        "s3": {
          "type": "object",
          "properties": {
            "bucket": {
              "type": "string",
              "max": 255
            },
            "accessKeyId": {
              "type": "string",
              "min": 16,
              "max": 128
            },
            "secretAccessKey": {
              "type": "string",
              "min": 16,
              "max": 128
            },
            "region": {
              "type": "string",
              "max": 128
            }
          },
          "required": [
            "bucket",
            "accessKeyId",
            "secretAccessKey",
            "region"
          ],
          "additionalProperties": false
        },
        "gcs": {
          "type": "object",
          "properties": {
            "projectId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            },
            "keyJson": {
              "type": "string",
              "maxLength": 32767,
              "minLength": 50
            },
            "bucket": {
              "type": "string",
              "max": 255
            }
          },
          "required": [
            "projectId",
            "keyJson",
            "bucket"
          ],
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

Application Patch Example

{
  "name": "My Updated Application",
  "description": "Description of my updated application"
}

Application Post

Schema for the body of an Application creation request

Application Post Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "orgId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "endpointSlug": {
      "type": "string",
      "minLength": 4,
      "maxLength": 63,
      "pattern": "^[0-9a-z-]*$"
    },
    "expUserTokenCutoff": {
      "type": "string",
      "format": "date-time"
    },
    "endpointDefaultCors": {
      "type": "boolean"
    },
    "globals": {
      "type": "array",
      "maxItems": 100,
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[0-9a-zA-Z_-]{1,255}$"
          },
          "json": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32767
          },
          "cloudOnly": {
            "type": "boolean",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "key",
          "json"
        ]
      }
    },
    "archiveConfig": {
      "type": "object",
      "properties": {
        "directory": {
          "type": "string",
          "max": 255
        },
        "mode": {
          "type": "string",
          "enum": [
            "all",
            "whitelist",
            "blacklist"
          ]
        },
        "deviceIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "maxItems": 1000
        },
        "deviceTags": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "pattern": "^[0-9a-zA-Z_-]{1,255}$"
              },
              "value": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "additionalProperties": false
          },
          "maxItems": 100
        },
        "includeDevices": {
          "type": "boolean",
          "default": true
        },
        "includeEvents": {
          "type": "boolean",
          "default": false
        },
        "includeDataTables": {
          "type": "boolean",
          "default": false
        },
        "dataTablesMode": {
          "type": "string",
          "enum": [
            "all",
            "whitelist",
            "blacklist"
          ]
        },
        "dataTableIds": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "maxItems": 1000
        },
        "s3": {
          "type": "object",
          "properties": {
            "bucket": {
              "type": "string",
              "max": 255
            },
            "accessKeyId": {
              "type": "string",
              "min": 16,
              "max": 128
            },
            "secretAccessKey": {
              "type": "string",
              "min": 16,
              "max": 128
            },
            "region": {
              "type": "string",
              "max": 128
            }
          },
          "required": [
            "bucket",
            "accessKeyId",
            "secretAccessKey",
            "region"
          ],
          "additionalProperties": false
        },
        "gcs": {
          "type": "object",
          "properties": {
            "projectId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            },
            "keyJson": {
              "type": "string",
              "maxLength": 32767,
              "minLength": 50
            },
            "bucket": {
              "type": "string",
              "max": 255
            }
          },
          "required": [
            "projectId",
            "keyJson",
            "bucket"
          ],
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "required": [
    "name"
  ]
}

Application Post Example

{
  "name": "My New Application",
  "description": "Description of my new application"
}

Application Search Result

Results of a search of an application’s resources

Application Search Result Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "pattern": "^[A-Fa-f\\d]{24}$"
      },
      "name": {
        "type": "string"
      },
      "metadata": {
        "type": "object"
      },
      "viewType": {
        "type": "string"
      },
      "version": {
        "type": "string"
      },
      "_type": {
        "type": "string",
        "enum": [
          "applicationApiToken",
          "dashboard",
          "dataTable",
          "deviceRecipe",
          "device",
          "experienceDomain",
          "event",
          "experienceEndpoint",
          "experienceGroup",
          "experienceSlug",
          "experienceUser",
          "experienceVersion",
          "experienceView",
          "file",
          "flow",
          "integration",
          "webhook"
        ]
      }
    },
    "required": [
      "id",
      "name",
      "_type"
    ]
  }
}

Application Search Result Example

[
  {
    "type": "device",
    "name": "My Device #1",
    "metadata": {
      "descriptor": "a basic description of device #1"
    },
    "id": "575ec8687ae143cd83dc4a97"
  }
]

Applications

Schema for a collection of Applications

Applications Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "title": "Application",
        "description": "Schema for a single Application",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "applicationId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "ownerId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "ownerType": {
            "type": "string",
            "enum": [
              "user",
              "organization"
            ]
          },
          "organizationName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "organizationIconColor": {
            "type": "string",
            "maxLength": 64
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "maxLength": 32767
          },
          "endpointSlug": {
            "type": "string",
            "minLength": 4,
            "maxLength": 63,
            "pattern": "^[0-9a-z-]*$"
          },
          "expUserTokenCutoff": {
            "type": "string",
            "format": "date-time"
          },
          "endpointDefaultCors": {
            "type": "boolean"
          },
          "globals": {
            "type": "array",
            "maxItems": 100,
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string",
                  "pattern": "^[0-9a-zA-Z_-]{1,255}$"
                },
                "json": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 32767
                },
                "cloudOnly": {
                  "type": "boolean",
                  "default": false
                }
              },
              "additionalProperties": false,
              "required": [
                "key",
                "json"
              ]
            }
          },
          "summary": {
            "type": "object",
            "properties": {
              "apiTokenCount": {
                "type": "number"
              },
              "dataTableCount": {
                "type": "number"
              },
              "deviceCount": {
                "type": "number"
              },
              "deviceRecipeCount": {
                "type": "number"
              },
              "eventCount": {
                "type": "number"
              },
              "experienceDomainCount": {
                "type": "number"
              },
              "experienceEndpointCount": {
                "type": "number"
              },
              "experienceGroupCount": {
                "type": "number"
              },
              "experienceSlugCount": {
                "type": "number"
              },
              "experienceUserCount": {
                "type": "number"
              },
              "experienceVersionCount": {
                "type": "number"
              },
              "experienceViewCount": {
                "type": "number"
              },
              "fileCount": {
                "type": "number"
              },
              "flowCount": {
                "type": "number"
              },
              "integrationCount": {
                "type": "number"
              },
              "keyCount": {
                "type": "number"
              },
              "storageStats": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "number"
                  },
                  "size": {
                    "type": "number"
                  }
                }
              },
              "webhookCount": {
                "type": "number"
              }
            }
          },
          "ftueTracking": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": "^[0-9a-zA-Z_-]{1,255}$"
                },
                "version": {
                  "type": "number"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "skipped",
                    "completed"
                  ]
                }
              },
              "required": [
                "name",
                "version",
                "status"
              ],
              "additionalProperties": false
            },
            "maxItems": 100
          },
          "archiveConfig": {
            "type": "object",
            "properties": {
              "directory": {
                "type": "string",
                "max": 255
              },
              "mode": {
                "type": "string",
                "enum": [
                  "all",
                  "whitelist",
                  "blacklist"
                ]
              },
              "deviceIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[A-Fa-f\\d]{24}$"
                },
                "maxItems": 1000
              },
              "deviceTags": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "pattern": "^[0-9a-zA-Z_-]{1,255}$"
                    },
                    "value": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 100
              },
              "includeDevices": {
                "type": "boolean",
                "default": true
              },
              "includeEvents": {
                "type": "boolean",
                "default": false
              },
              "includeDataTables": {
                "type": "boolean",
                "default": false
              },
              "dataTablesMode": {
                "type": "string",
                "enum": [
                  "all",
                  "whitelist",
                  "blacklist"
                ]
              },
              "dataTableIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[A-Fa-f\\d]{24}$"
                },
                "maxItems": 1000
              },
              "s3": {
                "type": "object",
                "properties": {
                  "bucket": {
                    "type": "string",
                    "max": 255
                  },
                  "accessKeyId": {
                    "type": "string",
                    "min": 16,
                    "max": 128
                  },
                  "secretAccessKey": {
                    "type": "string",
                    "min": 16,
                    "max": 128
                  },
                  "region": {
                    "type": "string",
                    "max": 128
                  }
                },
                "required": [
                  "bucket",
                  "accessKeyId",
                  "secretAccessKey",
                  "region"
                ],
                "additionalProperties": false
              },
              "gcs": {
                "type": "object",
                "properties": {
                  "projectId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1024
                  },
                  "keyJson": {
                    "type": "string",
                    "maxLength": 32767,
                    "minLength": 50
                  },
                  "bucket": {
                    "type": "string",
                    "max": 255
                  }
                },
                "required": [
                  "projectId",
                  "keyJson",
                  "bucket"
                ],
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        }
      }
    },
    "count": {
      "type": "integer"
    },
    "totalCount": {
      "type": "integer"
    },
    "perPage": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "filter": {
      "type": "string"
    },
    "filterField": {
      "type": "string"
    },
    "sortField": {
      "type": "string"
    },
    "sortDirection": {
      "type": "string",
      "enum": [
        "asc",
        "desc",
        "ASC",
        "DESC",
        ""
      ]
    }
  }
}

Applications Example

{
  "items": [
    {
      "id": "575ec8687ae143cd83dc4a97",
      "applicationId": "575ec8687ae143cd83dc4a97",
      "creationDate": "2016-06-13T04:00:00.000Z",
      "lastUpdated": "2016-06-13T04:00:00.000Z",
      "ownerId": "575ed70c7ae143cd83dc4aa9",
      "ownerType": "user",
      "name": "My Application",
      "description": "The is the best application description",
      "summary": {
        "deviceCount": 5,
        "flowCount": 2,
        "webhookCount": 0,
        "eventCount": 0,
        "keyCount": 1,
        "deviceRecipeCount": 0
      },
      "archiveConfig": {
        "s3": {
          "bucket": "bucketName",
          "accessKeyId": "awsAccessKey",
          "accessSecretKey": "awsSecretKey",
          "region": "us-west-1"
        },
        "mode": "all",
        "deviceIds": [
          "575ec8687ae143cd83dc4a95",
          "575ec8687ae143cd83dc4a91"
        ]
      }
    }
  ],
  "count": 1,
  "totalCount": 8,
  "perPage": 1,
  "page": 0,
  "sortField": "name",
  "sortDirection": "asc"
}

Audit Log

Schema for a single Audit Log entry

Audit Log Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "auditLogId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "orgId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "primaryTargetId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "primaryTargetType": {
      "type": "string",
      "enum": [
        "Application",
        "Dashboard",
        "OrgInvite"
      ]
    },
    "primaryTargetName": {
      "type": "string",
      "maxLength": 1024
    },
    "secondaryTargetId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "secondaryTargetType": {
      "type": "string",
      "enum": [
        "ApiToken",
        "ApplicationKey",
        "DataTable",
        "Device",
        "DeviceRecipe",
        "Event",
        "ExperienceDomain",
        "ExperienceEndpoint",
        "ExperienceGroup",
        "ExperienceSlug",
        "ExperienceUser",
        "ExperienceVersion",
        "ExperienceView",
        "File",
        "Flow",
        "Integration",
        "Webhook"
      ]
    },
    "secondaryTargetName": {
      "type": "string",
      "maxLength": 1024
    },
    "actorId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "actorType": {
      "type": "string",
      "enum": [
        "Application",
        "Device",
        "Flow",
        "User",
        "ApiToken"
      ]
    },
    "actorName": {
      "type": "string",
      "maxLength": 1024
    },
    "requestResource": {
      "type": "string",
      "maxLength": 1024
    },
    "requestAction": {
      "type": "string",
      "maxLength": 1024
    },
    "requestQueryParams": {
      "type": "object"
    },
    "requestBody": {
      "type": "object"
    },
    "requestPathParams": {
      "type": "object"
    },
    "responseBody": {
      "type": "object"
    },
    "responseStatus": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    }
  }
}

Audit Log Example

{
  "id": "586e9d5151265cb9d72f6ec6",
  "auditLogId": "586e9d5151265cb9d72f6ec6",
  "creationDate": "2016-06-13T04:00:00.000Z",
  "orgId": "575ed6e87ae143cd83dc4aa8",
  "primaryTargetId": "575ec8687ae143cd83dc4a97",
  "primaryTargetType": "Application",
  "primaryTargetName": "My Application",
  "actorId": "575ed70c7ae143cd83dc4aa9",
  "actorType": "User",
  "actorName": "example@losant.com",
  "requestResource": "application",
  "requestAction": "delete",
  "requestQueryParams": {},
  "requestBody": {},
  "requestPathParams": {
    "applicationId": "575ec8687ae143cd83dc4a97"
  },
  "responseBody": {
    "success": true
  },
  "responseStatus": 200
}

Audit Log Filter

Schema for the filter of an audit log query

Audit Log Filter Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "primaryTarget": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "Application",
              "Dashboard",
              "OrgInvite"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "additionalProperties": false
      }
    },
    "secondaryTarget": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "ApiToken",
              "ApplicationKey",
              "DataTable",
              "Device",
              "DeviceRecipe",
              "Event",
              "ExperienceDomain",
              "ExperienceEndpoint",
              "ExperienceGroup",
              "ExperienceSlug",
              "ExperienceUser",
              "ExperienceVersion",
              "ExperienceView",
              "File",
              "Flow",
              "Integration",
              "Webhook"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "additionalProperties": false
      }
    },
    "actor": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "Application",
              "Device",
              "Flow",
              "User",
              "ApiToken"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "additionalProperties": false
      }
    },
    "request": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "string",
            "maxLength": 1024
          },
          "action": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "additionalProperties": false
      }
    },
    "responseCode": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 100,
        "maximum": 599
      }
    }
  },
  "additionalProperties": false
}

Audit Log Filter Example

{
  "primaryTarget": [
    {
      "type": "Dashboard"
    },
    {
      "type": "Application",
      "id": "575ec8687ae143cd83dc4a97"
    }
  ],
  "actor": [
    {
      "type": "User",
      "id": "575ed70c7ae143cd83dc4aa9"
    }
  ]
}

Audit Logs

Schema for a collection of Audit Logs

Audit Logs Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "title": "Audit Log",
        "description": "Schema for a single Audit Log entry",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "auditLogId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "orgId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "primaryTargetId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "primaryTargetType": {
            "type": "string",
            "enum": [
              "Application",
              "Dashboard",
              "OrgInvite"
            ]
          },
          "primaryTargetName": {
            "type": "string",
            "maxLength": 1024
          },
          "secondaryTargetId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "secondaryTargetType": {
            "type": "string",
            "enum": [
              "ApiToken",
              "ApplicationKey",
              "DataTable",
              "Device",
              "DeviceRecipe",
              "Event",
              "ExperienceDomain",
              "ExperienceEndpoint",
              "ExperienceGroup",
              "ExperienceSlug",
              "ExperienceUser",
              "ExperienceVersion",
              "ExperienceView",
              "File",
              "Flow",
              "Integration",
              "Webhook"
            ]
          },
          "secondaryTargetName": {
            "type": "string",
            "maxLength": 1024
          },
          "actorId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
          },
          "actorType": {
            "type": "string",
            "enum": [
              "Application",
              "Device",
              "Flow",
              "User",
              "ApiToken"
            ]
          },
          "actorName": {
            "type": "string",
            "maxLength": 1024
          },
          "requestResource": {
            "type": "string",
            "maxLength": 1024
          },
          "requestAction": {
            "type": "string",
            "maxLength": 1024
          },
          "requestQueryParams": {
            "type": "object"
          },
          "requestBody": {
            "type": "object"
          },
          "requestPathParams": {
            "type": "object"
          },
          "responseBody": {
            "type": "object"
          },
          "responseStatus": {
            "type": "integer",
            "minimum": 100,
            "maximum": 599
          }
        }
      }
    },
    "count": {
      "type": "integer"
    },
    "totalCount": {
      "type": "integer"
    },
    "perPage": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "sortField": {
      "type": "string"
    },
    "sortDirection": {
      "type": "string",
      "enum": [
        "asc",
        "desc",
        "ASC",
        "DESC",
        ""
      ]
    },
    "orgId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    }
  }
}

Audit Logs Example

{
  "items": [
    {
      "id": "586e9d5151265cb9d72f6ec6",
      "auditLogId": "586e9d5151265cb9d72f6ec6",
      "creationDate": "2016-06-13T04:00:00.000Z",
      "orgId": "575ed6e87ae143cd83dc4aa8",
      "primaryTargetId": "575ec8687ae143cd83dc4a97",
      "primaryTargetType": "Application",
      "primaryTargetName": "My Application",
      "actorId": "575ed70c7ae143cd83dc4aa9",
      "actorType": "User",
      "actorName": "example@losant.com",
      "requestResource": "application",
      "requestAction": "delete",
      "requestQueryParams": {},
      "requestBody": {},
      "requestPathParams": {
        "applicationId": "575ec8687ae143cd83dc4a97"
      },
      "responseBody": {
        "success": true
      },
      "responseStatus": 200
    }
  ],
  "count": 1,
  "totalCount": 4,
  "perPage": 1,
  "page": 0,
  "sortField": "creationDate",
  "sortDirection": "desc",
  "orgId": "575ed6e87ae143cd83dc4aa8"
}

Authenticated Device

Schema for the successful response when authenticating a Device

Authenticated Device Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "deviceId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "deviceClass": {
      "type": "string",
      "enum": [
        "standalone",
        "gateway",
        "peripheral",
        "floating",
        "edgeCompute"
      ]
    },
    "token": {
      "type": "string",
      "minLength": 1
    },
    "ownerType": {
      "type": "string",
      "enum": [
        "user",
        "organization"
      ]
    }
  },
  "required": [
    "applicationId",
    "deviceId",
    "deviceClass",
    "token"
  ]
}

Authenticated Device Example

{
  "applicationId": "575ec8687ae143cd83dc4a97",
  "deviceId": "575ecf887ae143cd83dc4aa2",
  "deviceClass": "standalone",
  "token": "token_to_use_for_authenticating_subsequent_requests",
  "ownerType": "organization"
}

Authenticated User

Schema for the successful response when authenticating a User

Authenticated User Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "token": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "userId",
    "token"
  ]
}

Authenticated User Example

{
  "userId": "575ed70c7ae143cd83dc4aa9",
  "token": "token_to_use_for_authenticating_subsequent_requests"
}

Change Password

Schema for the body of a request to change the current user’s password

Change Password Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "twoFactorCode": {
      "type": "string",
      "maxLength": 2048
    },
    "password": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2048
    },
    "newPassword": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2048,
      "pattern": "^(?=.*[A-Z])(?=.*[^A-z0-9])(?=.*[0-9])(?=.*[a-z]).{8,}$"
    },
    "invalidateExistingTokens": {
      "type": "boolean"
    },
    "tokenTTL": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "password",
    "newPassword"
  ],
  "additionalProperties": false
}

Change Password Example

{
  "newPassword": "yourNewPassword",
  "password": "yourCurrentPassword",
  "invalidateExistingTokens": true
}

Composite Device State

Schema for a composite Device state

Composite Device State Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "patternProperties": {
    "^[0-9a-zA-Z_-]{1,255}$": {
      "type": "object",
      "properties": {
        "value": {
          "type": [
            "number",
            "string",
            "boolean"
          ]
        },
        "time": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "object",
              "properties": {
                "$date": {
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "$date"
              ]
            }
          ]
        }
      }
    }
  },
  "additionalProperties": false
}

Composite Device State Example

{
  "voltage": {
    "time": "2016-06-13T04:00:00.000Z",
    "value": 22.4
  },
  "loaded": {
    "time": "2016-06-13T03:00:00.000Z",
    "value": false
  }
}

Dashboard

Schema for a single Dashboard

Dashboard Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "dashboardId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "creationDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time"
    },
    "ownerId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "ownerType": {
      "type": "string",
      "enum": [
        "user",
        "organization"
      ]
    },
    "organizationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "organizationIconColor": {
      "type": "string",
      "maxLength": 64
    },
    "applicationId": {
      "type": "string",
      "pattern": "^[A-Fa-f\\d]{24}$"
    },
    "applicationName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "maxLength": 32767
    },
    "refreshRate": {
      "type": "number",
      "minimum": 5,
      "maximum": 600
    },
    "defaultTheme": {
      "type": "string",
      "enum": [
        "dark",
        "light"
      ]
    },
    "isPasswordProtected": {
      "type": "boolean"
    },
    "public": {
      "type": "boolean"
    },
    "reportConfigs": {
      "type": "array",
      "max": 10,
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "max": 14
          },
          "cron": {
            "type": "string",
            "max": 255
          },
          "toEmail": {
            "type": "array",
            "min": 1,
            "max": 10,
            "items": {
              "type": "string",
              "format": "email",
              "maxLength": 1024
            }
          },
          "subject": {
            "type": "string",
            "max": 255
          },
          "message": {
            "type": "string",
            "max": 32767
          },
          "theme": {
            "type": "string",
            "enum": [
              "dark",
              "light"
            ]
          },
          "timezone": {
            "type": "string",
            "max": 255
          }
        },
        "additionalProperties": false,
        "required": [
          "cron",
          "toEmail"
        ]
      }
    },
    "blocks": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "application-list"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "filter": {
                    "type": "string",
                    "maxLength": 255
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 255
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "bar"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "realTime": {
                    "type": "boolean"
                  },
                  "duration": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "xAxisFormat": {
                    "type": "string",
                    "maxLength": 255
                  },
                  "xAxisLabel": {
                    "type": "string",
                    "maxLength": 255
                  },
                  "xAxisMax": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 64
                      }
                    ]
                  },
                  "xAxisMin": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 64
                      }
                    ]
                  },
                  "segments": {
                    "type": "array",
                    "maxItems": 255,
                    "items": {
                      "type": "object",
                      "properties": {
                        "attribute": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "aggregation": {
                          "type": "string",
                          "enum": [
                            "FIRST",
                            "LAST",
                            "COUNT",
                            "MAX",
                            "MIN",
                            "MEDIAN",
                            "MEAN",
                            "SUM",
                            "STD_DEV",
                            "NONE"
                          ]
                        },
                        "color": {
                          "type": "string",
                          "maxLength": 64
                        },
                        "deviceIds": {
                          "type": "array",
                          "maxItems": 100,
                          "items": {
                            "type": "string",
                            "maxLength": 255
                          }
                        },
                        "deviceTags": {
                          "type": "array",
                          "maxItems": 100,
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "maxLength": 255
                              },
                              "value": {
                                "type": "string",
                                "maxLength": 255
                              },
                              "fromCtx": {
                                "type": "string",
                                "maxLength": 255
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "label": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "yAxisLabel": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "lineWeight": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 5
                        },
                        "detectDataGaps": {
                          "type": "boolean"
                        },
                        "graphType": {
                          "type": "string",
                          "maxLength": 255
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "custom-chart"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "configuration": {
                    "type": "string",
                    "maxLength": 32767
                  },
                  "segments": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "queryType": {
                              "type": "string",
                              "enum": [
                                "time-series"
                              ]
                            },
                            "id": {
                              "type": "string",
                              "maxLength": 48
                            },
                            "attribute": {
                              "type": "string",
                              "maxLength": 255
                            },
                            "aggregation": {
                              "type": "string",
                              "enum": [
                                "FIRST",
                                "LAST",
                                "COUNT",
                                "MAX",
                                "MIN",
                                "MEDIAN",
                                "MEAN",
                                "SUM",
                                "STD_DEV",
                                "NONE"
                              ]
                            },
                            "deviceIds": {
                              "type": "array",
                              "maxItems": 100,
                              "items": {
                                "type": "string",
                                "maxLength": 255
                              }
                            },
                            "deviceTags": {
                              "type": "array",
                              "maxItems": 100,
                              "items": {
                                "type": "object",
                                "properties": {
                                  "key": {
                                    "type": "string",
                                    "maxLength": 255
                                  },
                                  "value": {
                                    "type": "string",
                                    "maxLength": 255
                                  },
                                  "fromCtx": {
                                    "type": "string",
                                    "maxLength": 255
                                  }
                                },
                                "additionalProperties": false
                              }
                            },
                            "duration": {
                              "type": "integer",
                              "minimum": 0
                            },
                            "resolution": {
                              "oneOf": [
                                {
                                  "type": "integer",
                                  "minimum": 0
                                },
                                {
                                  "type": "null"
                                },
                                {
                                  "type": "string",
                                  "maxLength": 255
                                }
                              ]
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "queryType": {
                              "type": "string",
                              "enum": [
                                "gauge"
                              ]
                            },
                            "id": {
                              "type": "string",
                              "maxLength": 48
                            },
                            "attribute": {
                              "type": "string",
                              "maxLength": 255
                            },
                            "aggregation": {
                              "type": "string",
                              "enum": [
                                "FIRST",
                                "LAST",
                                "COUNT",
                                "MAX",
                                "MIN",
                                "MEDIAN",
                                "MEAN",
                                "SUM",
                                "STD_DEV",
                                "NONE"
                              ]
                            },
                            "deviceIds": {
                              "type": "array",
                              "maxItems": 100,
                              "items": {
                                "type": "string",
                                "maxLength": 255
                              }
                            },
                            "deviceTags": {
                              "type": "array",
                              "maxItems": 100,
                              "items": {
                                "type": "object",
                                "properties": {
                                  "key": {
                                    "type": "string",
                                    "maxLength": 255
                                  },
                                  "value": {
                                    "type": "string",
                                    "maxLength": 255
                                  },
                                  "fromCtx": {
                                    "type": "string",
                                    "maxLength": 255
                                  }
                                },
                                "additionalProperties": false
                              }
                            },
                            "duration": {
                              "type": "integer",
                              "minimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "queryType": {
                              "type": "string",
                              "enum": [
                                "data-table"
                              ]
                            },
                            "id": {
                              "type": "string",
                              "maxLength": 48
                            },
                            "dataTableId": {
                              "type": "string",
                              "pattern": "^[A-Fa-f\\d]{24}$"
                            },
                            "query": {
                              "type": "string",
                              "maxLength": 32767
                            },
                            "queryMode": {
                              "type": "string",
                              "enum": [
                                "$or",
                                "$and",
                                "advanced"
                              ]
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "dashboard-list"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "filter": {
                    "type": "string",
                    "maxLength": 255
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "data-table"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "dataTableId": {
                    "type": "string",
                    "pattern": "^[A-Fa-f\\d]{24}$"
                  },
                  "defaultSortColumn": {
                    "type": "string",
                    "maxLength": 255
                  },
                  "defaultSortDirection": {
                    "type": "string",
                    "enum": [
                      "asc",
                      "desc",
                      "ASC",
                      "DESC",
                      ""
                    ]
                  },
                  "query": {
                    "type": "string",
                    "maxLength": 32767
                  },
                  "queryMode": {
                    "type": "string",
                    "enum": [
                      "$or",
                      "$and",
                      "advanced"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "device-list"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "deviceLinkNewWindow": {
                    "type": "boolean"
                  },
                  "deviceLinkType": {
                    "type": "string",
                    "enum": [
                      "custom",
                      "default"
                    ]
                  },
                  "deviceLinkUrl": {
                    "type": "string",
                    "maxLength": 2048
                  },
                  "match": {
                    "type": "string",
                    "enum": [
                      "unfiltered",
                      "all",
                      "any"
                    ]
                  },
                  "showPublicFilter": {
                    "type": "boolean"
                  },
                  "filter": {
                    "oneOf": [
                      {
                        "type": "string",
                        "maxLength": 255
                      },
                      {
                        "type": "object",
                        "properties": {
                          "ids": {
                            "type": "array",
                            "maxItems": 100,
                            "items": {
                              "type": "string",
                              "maxLength": 255
                            }
                          },
                          "tags": {
                            "type": "array",
                            "maxItems": 100,
                            "items": {
                              "type": "object",
                              "properties": {
                                "key": {
                                  "type": "string",
                                  "maxLength": 255
                                },
                                "value": {
                                  "type": "string",
                                  "maxLength": 255
                                },
                                "fromCtx": {
                                  "type": "string",
                                  "maxLength": 255
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "searchParam": {
                            "type": "string",
                            "maxLength": 255
                          }
                        },
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "device-log"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "deviceIds": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "string",
                      "maxLength": 255
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "device-state-table"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "attributes": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                          "type": "string",
                          "maxLength": 255
                        }
                      }
                    ]
                  },
                  "deviceIds": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "string",
                      "maxLength": 255
                    }
                  },
                  "deviceTags": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "value": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "fromCtx": {
                          "type": "string",
                          "maxLength": 255
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "duration": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "sortDirection": {
                    "type": "integer",
                    "minimum": -1,
                    "maximum": 1
                  },
                  "sortIndex": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "columns": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "headerTemplate": {
                          "type": "string",
                          "maxLength": 1024
                        },
                        "id": {
                          "type": "string",
                          "maxLength": 48
                        },
                        "rowTemplate": {
                          "type": "string",
                          "maxLength": 32767
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "deviceTags",
                            "deviceId",
                            "deviceName",
                            "timestamp",
                            "attribute"
                          ]
                        },
                        "attribute": {
                          "type": "string",
                          "maxLength": 255
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 255
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "event-list"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "allowUpdates": {
                    "type": "boolean"
                  },
                  "query": {
                    "type": "string",
                    "maxLength": 32767
                  },
                  "sortDirection": {
                    "type": "string",
                    "enum": [
                      "asc",
                      "desc",
                      "ASC",
                      "DESC",
                      ""
                    ]
                  },
                  "sortField": {
                    "type": "string",
                    "maxLength": 255
                  },
                  "filter": {
                    "type": "string",
                    "maxLength": 255
                  },
                  "eventState": {
                    "oneOf": [
                      {
                        "type": "string",
                        "maxLength": 255
                      },
                      {
                        "type": "null"
                      },
                      {
                        "type": "object",
                        "additionalProperties": false
                      }
                    ]
                  },
                  "columnErrors": {
                    "type": "object",
                    "additionalProperties": false
                  },
                  "columns": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "maxLength": 48
                        },
                        "selectedTag": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "level",
                            "subject",
                            "subjectWithMessage",
                            "creationDate",
                            "creationDateWithSource",
                            "lastUpdatedDate",
                            "lastUpdatedDateWithSource",
                            "id",
                            "state",
                            "tag",
                            "deviceName",
                            "sourceId"
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "gauge"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "realTime": {
                    "type": "boolean"
                  },
                  "displayAsPercentage": {
                    "type": "boolean"
                  },
                  "duration": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "gaugeMax": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 64
                      }
                    ]
                  },
                  "gaugeMin": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 64
                      }
                    ]
                  },
                  "gaugeType": {
                    "type": "string",
                    "enum": [
                      "battery",
                      "dial",
                      "number",
                      "tank",
                      "thermometer"
                    ]
                  },
                  "precision": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 64
                      }
                    ]
                  },
                  "precisionType": {
                    "type": "string",
                    "enum": [
                      "floating",
                      "significant"
                    ]
                  },
                  "segment": {
                    "type": "object",
                    "properties": {
                      "attribute": {
                        "type": "string",
                        "maxLength": 255
                      },
                      "aggregation": {
                        "type": "string",
                        "enum": [
                          "FIRST",
                          "LAST",
                          "COUNT",
                          "MAX",
                          "MIN",
                          "MEDIAN",
                          "MEAN",
                          "SUM",
                          "STD_DEV",
                          "NONE"
                        ]
                      },
                      "color": {
                        "type": "string",
                        "maxLength": 64
                      },
                      "deviceIds": {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                          "type": "string",
                          "maxLength": 255
                        }
                      },
                      "deviceTags": {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string",
                              "maxLength": 255
                            },
                            "value": {
                              "type": "string",
                              "maxLength": 255
                            },
                            "fromCtx": {
                              "type": "string",
                              "maxLength": 255
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 255
                      },
                      "yAxisLabel": {
                        "type": "string",
                        "maxLength": 255
                      },
                      "lineWeight": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 5
                      },
                      "detectDataGaps": {
                        "type": "boolean"
                      },
                      "graphType": {
                        "type": "string",
                        "maxLength": 255
                      }
                    },
                    "additionalProperties": false
                  },
                  "conditions": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "color": {
                          "type": "string",
                          "maxLength": 64
                        },
                        "id": {
                          "type": "string",
                          "maxLength": 48
                        },
                        "label": {
                          "type": "string",
                          "maxLength": 32767
                        },
                        "condition": {
                          "type": "string",
                          "maxLength": 2048
                        },
                        "imageUrl": {
                          "type": "string",
                          "maxLength": 32767
                        },
                        "shape": {
                          "type": "string",
                          "enum": [
                            "circle",
                            "square",
                            "triangle-down",
                            "triangle-up",
                            "octagon"
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "graph"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "realTime": {
                    "type": "boolean"
                  },
                  "duration": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "resolution": {
                    "oneOf": [
                      {
                        "type": "integer",
                        "minimum": 0
                      },
                      {
                        "type": "null"
                      },
                      {
                        "type": "string",
                        "maxLength": 255
                      }
                    ]
                  },
                  "recharts": {
                    "type": "boolean"
                  },
                  "displayType": {
                    "type": "string",
                    "enum": [
                      "stick",
                      "line"
                    ]
                  },
                  "segments": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "attribute": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "aggregation": {
                          "type": "string",
                          "enum": [
                            "FIRST",
                            "LAST",
                            "COUNT",
                            "MAX",
                            "MIN",
                            "MEDIAN",
                            "MEAN",
                            "SUM",
                            "STD_DEV",
                            "NONE"
                          ]
                        },
                        "color": {
                          "type": "string",
                          "maxLength": 64
                        },
                        "cumulative": {
                          "type": "boolean"
                        },
                        "detectDataGaps": {
                          "type": "boolean"
                        },
                        "graphType": {
                          "type": "string",
                          "enum": [
                            "area",
                            "bar",
                            "line"
                          ]
                        },
                        "label": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "yAxisFormat": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "yAxisLabel": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "yAxisMax": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "maxLength": 64
                            }
                          ]
                        },
                        "yAxisMin": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string",
                              "maxLength": 64
                            }
                          ]
                        },
                        "lineType": {
                          "type": "string",
                          "enum": [
                            "monotone",
                            "step",
                            "stepAfter",
                            "linear",
                            "stepBefore"
                          ]
                        },
                        "lineWeight": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 5
                        },
                        "dotWeight": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 5
                        },
                        "deviceIds": {
                          "type": "array",
                          "maxItems": 100,
                          "items": {
                            "type": "string",
                            "maxLength": 255
                          }
                        },
                        "deviceTags": {
                          "type": "array",
                          "maxItems": 100,
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "maxLength": 255
                              },
                              "value": {
                                "type": "string",
                                "maxLength": 255
                              },
                              "fromCtx": {
                                "type": "string",
                                "maxLength": 255
                              }
                            },
                            "additionalProperties": false
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "heatmap"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "additionalAttributes": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                          "type": "string",
                          "maxLength": 255
                        }
                      }
                    ]
                  },
                  "attribute": {
                    "type": "string",
                    "maxLength": 255
                  },
                  "defaultBearing": {
                    "type": "number"
                  },
                  "defaultCenter": {
                    "type": "string",
                    "maxLength": 255
                  },
                  "defaultPitch": {
                    "type": "number"
                  },
                  "defaultZoom": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 64
                      }
                    ]
                  },
                  "deviceIds": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "string",
                      "maxLength": 255
                    }
                  },
                  "deviceTags": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "value": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "fromCtx": {
                          "type": "string",
                          "maxLength": 255
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "duration": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "mapStyle": {
                    "type": "string",
                    "enum": [
                      "normal",
                      "satellite"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "iframe"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "maxLength": 2048
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "image"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "bgColor": {
                    "type": "string",
                    "maxLength": 64
                  },
                  "imageLinkNewWindow": {
                    "type": "boolean"
                  },
                  "imageLinkUrl": {
                    "type": "string",
                    "maxLength": 2048
                  },
                  "imageUrl": {
                    "type": "string",
                    "maxLength": 32767
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "blockType",
              "startX",
              "startY",
              "width",
              "height"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 48
              },
              "title": {
                "type": "string",
                "maxLength": 255
              },
              "description": {
                "type": "string",
                "maxLength": 32767
              },
              "applicationId": {
                "type": "string",
                "pattern": "^[A-Fa-f\\d]{24}$"
              },
              "startX": {
                "type": "number"
              },
              "startY": {
                "type": "number"
              },
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "blockType": {
                "type": "string",
                "enum": [
                  "image-overlay"
                ]
              },
              "config": {
                "type": "object",
                "properties": {
                  "imageUrl": {
                    "type": "string",
                    "maxLength": 32767
                  },
                  "backgroundColor": {
                    "type": "string",
                    "maxLength": 64
                  },
                  "defaultZoom": {
                    "type": "number"
                  },
                  "segments": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "queryType": {