{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Arduino IoT Cloud API Schemas",
  "description": "JSON Schema definitions extracted from the Arduino IoT Cloud API OpenAPI specification",
  "definitions": {
    "ArduinoAction": {
      "description": "ArduinoAction media type (default view)",
      "properties": {
        "created_by": {
          "description": "Id of the user who created the action",
          "format": "uuid",
          "type": "string"
        },
        "description": {
          "description": "The description of the action",
          "type": "string"
        },
        "email": {
          "$ref": "#/components/schemas/email_action"
        },
        "id": {
          "description": "The id of the action",
          "format": "uuid",
          "type": "string"
        },
        "kind": {
          "description": "The kind of the action",
          "enum": [
            "NOTIFY-EMAIL",
            "NOTIFY-PUSH"
          ],
          "example": "NOTIFY-EMAIL",
          "type": "string"
        },
        "name": {
          "description": "The name of the action",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the trigger belongs to",
          "format": "uuid",
          "type": "string"
        },
        "push_notification": {
          "$ref": "#/components/schemas/push_action"
        },
        "trigger_id": {
          "description": "Id of the trigger the action is associated to",
          "format": "uuid",
          "type": "string"
        }
      },
      "title": "Mediatype identifier: application/vnd.arduino.action+json; view=default",
      "type": "object"
    },
    "ArduinoActionCollection": {
      "description": "ArduinoActionCollection is the media type for an array of ArduinoAction (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoAction"
      },
      "title": "Mediatype identifier: application/vnd.arduino.action+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoAction_template": {
      "description": "ArduinoAction_template media type (default view)",
      "properties": {
        "description": {
          "description": "The description of the action",
          "type": "string"
        },
        "email": {
          "$ref": "#/components/schemas/email_action"
        },
        "kind": {
          "description": "The kind of the action",
          "enum": [
            "NOTIFY-EMAIL",
            "NOTIFY-PUSH"
          ],
          "example": "NOTIFY-EMAIL",
          "type": "string"
        },
        "name": {
          "description": "The name of the action",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the trigger belongs to",
          "format": "uuid",
          "type": "string"
        },
        "push_notification": {
          "$ref": "#/components/schemas/push_action"
        }
      },
      "title": "Mediatype identifier: application/vnd.arduino.action_template+json; view=default",
      "type": "object"
    },
    "ArduinoArduinoconnectionsV1": {
      "description": "ArduinoArduinoconnectionsV1 media type (default view)",
      "properties": {
        "catm1": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        },
        "cellular": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        },
        "eth": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        },
        "gsm": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        },
        "lora": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        },
        "nb": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        },
        "wifi": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        },
        "wifiandsecret": {
          "$ref": "#/components/schemas/ArduinoCredentialsv1Collection"
        }
      },
      "title": "Mediatype identifier: application/vnd.arduino.arduinoconnections.v1+json; view=default",
      "type": "object"
    },
    "ArduinoBinary": {
      "description": "ArduinoBinary media type (default view)",
      "properties": {
        "bin": {
          "description": "The BASE64 encoded binary file",
          "type": "string"
        },
        "filename": {
          "description": "The binary filename",
          "type": "string"
        },
        "fqbn": {
          "description": "The FQBN of the board the binary run to",
          "type": "string"
        },
        "name": {
          "description": "The sketch name",
          "type": "string"
        },
        "sha256": {
          "description": "The md5 hash of the binary file",
          "type": "string"
        }
      },
      "required": [
        "name",
        "filename",
        "bin",
        "fqbn",
        "sha256"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.binary+json; view=default",
      "type": "object"
    },
    "ArduinoClient": {
      "description": "ArduinoClient media type (default view)",
      "properties": {
        "created_at": {
          "description": "Creation time",
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "description": "The client_id of the client",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the client",
          "type": "string"
        },
        "secret": {
          "description": "The client_secret of the client",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "secret",
        "created_at"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.client+json; view=default",
      "type": "object"
    },
    "ArduinoClientCollection": {
      "description": "ArduinoClientCollection is the media type for an array of ArduinoClient (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoClient"
      },
      "title": "Mediatype identifier: application/vnd.arduino.client+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoCompact_dashboard_v2": {
      "description": "Dashboard is a collection of widgets (default view)",
      "properties": {
        "cover_image": {
          "description": "The cover image of the dashboard",
          "maxLength": 1024,
          "type": "string"
        },
        "created_at": {
          "description": "Creation date",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Delete date",
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "description": "The friendly name of the dashboard",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the dashboard",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the dashboard belongs to",
          "format": "uuid",
          "type": "string"
        },
        "pages": {
          "$ref": "#/components/schemas/ArduinoPageCollection"
        },
        "shared_by": {
          "$ref": "#/components/schemas/ArduinoDashboardshare"
        },
        "shared_with": {
          "$ref": "#/components/schemas/ArduinoDashboardshareCollection"
        },
        "updated_at": {
          "description": "Last update date",
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "description": "The user id of the owner",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "user_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.compact_dashboard_v2+json; view=default",
      "type": "object"
    },
    "ArduinoCompact_dashboard_v2Collection": {
      "description": "ArduinoCompact_dashboard_v2Collection is the media type for an array of ArduinoCompact_dashboard_v2 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoCompact_dashboard_v2"
      },
      "title": "Mediatype identifier: application/vnd.arduino.compact_dashboard_v2+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoCompact_device_v2": {
      "description": "ArduinoCompact_device_v2 media type (default view)",
      "properties": {
        "ble_mac": {
          "maxLength": 17,
          "minLength": 17,
          "pattern": "^(?:[0-9A-Fa-f]{2}[:]){5}(?:[0-9A-Fa-f]{2})",
          "type": "string"
        },
        "connection_type": {
          "description": "The type of the connections selected by the user when multiple connections are available",
          "enum": [
            "wifi",
            "eth",
            "wifiandsecret",
            "gsm",
            "nb",
            "lora",
            "catm1",
            "cellular"
          ],
          "type": "string"
        },
        "created_at": {
          "description": "Creation date of the device",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Deletion date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "device_status": {
          "description": "The connection status of the device",
          "enum": [
            "ONLINE",
            "OFFLINE",
            "UNKNOWN"
          ],
          "type": "string"
        },
        "fqbn": {
          "description": "The fully qualified board name",
          "type": "string"
        },
        "href": {
          "description": "The api reference of this device",
          "type": "string"
        },
        "id": {
          "description": "The arn of the device",
          "format": "uuid",
          "type": "string"
        },
        "issuer_ca": {
          "type": "string"
        },
        "label": {
          "description": "The label of the device",
          "type": "string"
        },
        "lib_version": {
          "type": "string"
        },
        "locked": {
          "description": "True if the device is locked and can't be claimed by another user",
          "type": "boolean"
        },
        "metadata": {
          "additionalProperties": true,
          "description": "The metadata of the device",
          "type": "object"
        },
        "name": {
          "description": "The friendly name of the device",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the device belongs to",
          "format": "uuid",
          "type": "string"
        },
        "serial": {
          "description": "The serial uuid of the device",
          "type": "string"
        },
        "tags": {
          "additionalProperties": true,
          "description": "Tags belonging to the device",
          "type": "object"
        },
        "thing_id": {
          "description": "The id of the attached thing",
          "format": "uuid",
          "type": "string"
        },
        "type": {
          "description": "The type of the device",
          "type": "string"
        },
        "unique_hardware_id": {
          "maxLength": 64,
          "minLength": 64,
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "description": "The id of the user",
          "format": "uuid",
          "type": "string"
        },
        "wifi_fw_version": {
          "description": "The version of the NINA/WIFI101 firmware running on the device",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "type",
        "label",
        "user_id",
        "href",
        "serial"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.compact_device_v2+json; view=default",
      "type": "object"
    },
    "ArduinoCompact_device_v2Collection": {
      "description": "ArduinoCompact_device_v2Collection is the media type for an array of ArduinoCompact_device_v2 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoCompact_device_v2"
      },
      "title": "Mediatype identifier: application/vnd.arduino.compact_device_v2+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoCompact_thing": {
      "description": "ArduinoCompact_thing media type (default view)",
      "properties": {
        "assistant": {
          "description": "The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE",
          "enum": [
            "ALEXA",
            "GOOGLE",
            "NONE"
          ],
          "type": "string"
        },
        "created_at": {
          "description": "Creation date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Delete date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "description": "The id of the device",
          "format": "uuid",
          "type": "string"
        },
        "href": {
          "description": "The api reference of this thing",
          "type": "string"
        },
        "id": {
          "description": "The id of the thing",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the thing",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the thing belongs to",
          "format": "uuid",
          "type": "string"
        },
        "sketch_id": {
          "description": "The id of the attached sketch",
          "format": "uuid",
          "type": "string"
        },
        "tags": {
          "additionalProperties": true,
          "description": "Tags of the thing",
          "type": "object"
        },
        "timezone": {
          "description": "Time zone of the thing",
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "description": "The user id of the owner",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "id",
        "user_id",
        "name",
        "href",
        "timezone"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.compact_thing+json; view=default",
      "type": "object"
    },
    "ArduinoCompact_thingCollection": {
      "description": "ArduinoCompact_thingCollection is the media type for an array of ArduinoCompact_thing (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoCompact_thing"
      },
      "title": "Mediatype identifier: application/vnd.arduino.compact_thing+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoCompact_trigger": {
      "description": "ArduinoCompact_trigger media type (default view)",
      "properties": {
        "actions": {
          "description": "A list of actions associated with the trigger",
          "items": {
            "$ref": "#/components/schemas/ArduinoAction"
          },
          "type": "array"
        },
        "active": {
          "description": "Is true if the trigger is enabled",
          "type": "boolean"
        },
        "created_at": {
          "description": "Creation date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Deletion date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "description": "The description of the trigger",
          "type": "string"
        },
        "device_status_source": {
          "$ref": "#/components/schemas/device_status_source"
        },
        "id": {
          "description": "The id of the trigger",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the trigger",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the trigger belongs to",
          "format": "uuid",
          "type": "string"
        },
        "property_id": {
          "description": "Id of the property the trigger is associated to (mutually exclusive with 'device_status_source')",
          "format": "uuid",
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "description": "Id of the user who created the trigger",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.compact_trigger+json; view=default",
      "type": "object"
    },
    "ArduinoCompact_triggerCollection": {
      "description": "ArduinoCompact_triggerCollection is the media type for an array of ArduinoCompact_trigger (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoCompact_trigger"
      },
      "title": "Mediatype identifier: application/vnd.arduino.compact_trigger+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoCompressedv2": {
      "description": "compressed contains the info from which to generate the certificate (default view)",
      "properties": {
        "authority_key_identifier": {
          "description": "The Authority Key Identifier of the certificate",
          "type": "string"
        },
        "not_after": {
          "description": "The ending date of the certificate",
          "format": "date-time",
          "type": "string"
        },
        "not_before": {
          "description": "The starting date of the certificate",
          "format": "date-time",
          "type": "string"
        },
        "serial": {
          "description": "The serial number of the certificate",
          "type": "string"
        },
        "signature": {
          "description": "The signature of the certificate",
          "type": "string"
        },
        "signature_asn1_x": {
          "description": "The ASN1 X component of certificate signature",
          "type": "string"
        },
        "signature_asn1_y": {
          "description": "The ASN1 Y component of certificate signature",
          "type": "string"
        }
      },
      "required": [
        "serial",
        "not_before",
        "not_after",
        "signature",
        "signature_asn1_x",
        "signature_asn1_y"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.compressedv2; view=default",
      "type": "object"
    },
    "ArduinoCredentialsv1": {
      "description": "ArduinoCredentialsv1 media type (default view)",
      "properties": {
        "friendly_name": {
          "description": "Friendly name",
          "type": "string"
        },
        "max_length": {
          "description": "Max length of the field expressed in bytes",
          "format": "int64",
          "type": "integer"
        },
        "required": {
          "description": "Tell if the parameter is required or not",
          "type": "boolean"
        },
        "secret_name": {
          "description": "The secret parameter name",
          "type": "string"
        },
        "sensitive": {
          "description": "Tell if the field is sensitive",
          "type": "boolean"
        }
      },
      "required": [
        "secret_name",
        "required",
        "friendly_name",
        "sensitive",
        "max_length"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.credentialsv1+json; view=default",
      "type": "object"
    },
    "ArduinoCredentialsv1Collection": {
      "description": "ArduinoCredentialsv1Collection is the media type for an array of ArduinoCredentialsv1 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoCredentialsv1"
      },
      "title": "Mediatype identifier: application/vnd.arduino.credentialsv1+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDashboardowner": {
      "description": "ArduinoDashboardowner media type (default view)",
      "properties": {
        "user_id": {
          "description": "The userID of the user who created the dashboard",
          "format": "uuid",
          "type": "string"
        },
        "username": {
          "description": "The username of the user who created the dashboard",
          "type": "string"
        }
      },
      "required": [
        "user_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.dashboardowner+json; view=default",
      "type": "object"
    },
    "ArduinoDashboardshare": {
      "description": "ArduinoDashboardshare media type (default view)",
      "properties": {
        "user_id": {
          "description": "The userID of the user you want to share the dashboard with",
          "format": "uuid",
          "type": "string"
        },
        "username": {
          "description": "The username of the user you want to share the dashboard with",
          "type": "string"
        }
      },
      "required": [
        "user_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.dashboardshare+json; view=default",
      "type": "object"
    },
    "ArduinoDashboardshareCollection": {
      "description": "ArduinoDashboardshareCollection is the media type for an array of ArduinoDashboardshare (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDashboardshare"
      },
      "title": "Mediatype identifier: application/vnd.arduino.dashboardshare+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDashboardv2": {
      "description": "Dashboard is a collection of widgets (default view)",
      "properties": {
        "cover_image": {
          "description": "The cover image of the dashboard",
          "maxLength": 1024,
          "type": "string"
        },
        "created_by": {
          "$ref": "#/components/schemas/ArduinoDashboardowner"
        },
        "id": {
          "description": "The friendly name of the dashboard",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the dashboard",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the dashboard belongs to",
          "format": "uuid",
          "type": "string"
        },
        "shared_by": {
          "$ref": "#/components/schemas/ArduinoDashboardshare"
        },
        "shared_with": {
          "$ref": "#/components/schemas/ArduinoDashboardshareCollection"
        },
        "updated_at": {
          "description": "Last update date",
          "format": "date-time",
          "type": "string"
        },
        "widgets": {
          "$ref": "#/components/schemas/ArduinoWidgetv2Collection"
        }
      },
      "required": [
        "id",
        "name",
        "updated_at"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.dashboardv2+json; view=default",
      "type": "object"
    },
    "ArduinoDashboardv2Collection": {
      "description": "ArduinoDashboardv2Collection is the media type for an array of ArduinoDashboardv2 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDashboardv2"
      },
      "title": "Mediatype identifier: application/vnd.arduino.dashboardv2+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDashboardv2template": {
      "description": "ArduinoDashboardv2template media type (default view)",
      "properties": {
        "cover_image": {
          "description": "The cover image of the dashboard",
          "type": "string"
        },
        "id": {
          "description": "The friendly ID of the dashboard",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the dashboard",
          "type": "string"
        },
        "widgets": {
          "$ref": "#/components/schemas/ArduinoWidgetv2templateCollection"
        }
      },
      "required": [
        "name"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.dashboardv2template+json; view=default",
      "type": "object"
    },
    "ArduinoDashboardv3": {
      "description": "Dashboard is a collection of widgets (default view)",
      "properties": {
        "cover_image": {
          "description": "The cover image of the dashboard",
          "maxLength": 1024,
          "type": "string"
        },
        "created_by": {
          "$ref": "#/components/schemas/ArduinoDashboardowner"
        },
        "id": {
          "description": "The friendly name of the dashboard",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the dashboard",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the dashboard belongs to",
          "format": "uuid",
          "type": "string"
        },
        "pages": {
          "$ref": "#/components/schemas/ArduinoPagevariableCollection"
        },
        "shared_by": {
          "$ref": "#/components/schemas/ArduinoDashboardshare"
        },
        "shared_with": {
          "$ref": "#/components/schemas/ArduinoDashboardshareCollection"
        },
        "updated_at": {
          "description": "Last update date",
          "format": "date-time",
          "type": "string"
        },
        "widgets": {
          "$ref": "#/components/schemas/ArduinoWidgetv3Collection"
        }
      },
      "required": [
        "id",
        "name",
        "updated_at"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.dashboardv3+json; view=default",
      "type": "object"
    },
    "ArduinoDashboardv3Collection": {
      "description": "ArduinoDashboardv3Collection is the media type for an array of ArduinoDashboardv3 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDashboardv3"
      },
      "title": "Mediatype identifier: application/vnd.arduino.dashboardv3+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDashboardv3template": {
      "description": "ArduinoDashboardv3template media type (default view)",
      "properties": {
        "cover_image": {
          "description": "The cover image of the dashboard",
          "type": "string"
        },
        "id": {
          "description": "The friendly ID of the dashboard",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the dashboard",
          "type": "string"
        },
        "pages": {
          "$ref": "#/components/schemas/ArduinoPagevariableCollection"
        },
        "widgets": {
          "$ref": "#/components/schemas/ArduinoWidgetv3templateCollection"
        }
      },
      "required": [
        "name"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.dashboardv3template+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2": {
      "description": "ArduinoDevicev2 media type (default view)",
      "properties": {
        "ble_mac": {
          "maxLength": 17,
          "minLength": 17,
          "pattern": "^(?:[0-9A-Fa-f]{2}[:]){5}(?:[0-9A-Fa-f]{2})",
          "type": "string"
        },
        "connection_type": {
          "description": "The type of the connections selected by the user when multiple connections are available",
          "enum": [
            "wifi",
            "eth",
            "wifiandsecret",
            "gsm",
            "nb",
            "lora",
            "catm1",
            "cellular"
          ],
          "type": "string"
        },
        "created_at": {
          "description": "Creation date of the device",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Deletion date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "device_status": {
          "description": "The connection status of the device",
          "enum": [
            "ONLINE",
            "OFFLINE",
            "UNKNOWN"
          ],
          "type": "string"
        },
        "events": {
          "$ref": "#/components/schemas/ArduinoDevicev2SimplePropertiesCollection"
        },
        "fqbn": {
          "description": "The fully qualified board name",
          "type": "string"
        },
        "href": {
          "description": "The api reference of this device",
          "type": "string"
        },
        "id": {
          "description": "The arn of the device",
          "format": "uuid",
          "type": "string"
        },
        "issuer_ca": {
          "type": "string"
        },
        "label": {
          "description": "The label of the device",
          "type": "string"
        },
        "last_activity_at": {
          "description": "Last activity date",
          "format": "date-time",
          "type": "string"
        },
        "latest_wifi_fw_version": {
          "description": "The latest version of the NINA/WIFI101 firmware available for this device",
          "type": "string"
        },
        "lib_version": {
          "type": "string"
        },
        "locked": {
          "description": "True if the device is locked and can't be claimed by another user",
          "type": "boolean"
        },
        "metadata": {
          "additionalProperties": true,
          "description": "The metadata of the device",
          "type": "object"
        },
        "name": {
          "description": "The friendly name of the device",
          "type": "string"
        },
        "no_sketch": {
          "description": "True if the device type can not have an associated sketch",
          "type": "boolean"
        },
        "organization_id": {
          "description": "Id of the organization the device belongs to",
          "format": "uuid",
          "type": "string"
        },
        "ota_available": {
          "description": "True if the device type is ready to receive OTA updated",
          "type": "boolean"
        },
        "ota_compatible": {
          "description": "True if the device type is OTA compatible",
          "type": "boolean"
        },
        "required_wifi_fw_version": {
          "description": "The required version of the NINA/WIFI101 firmware needed by IoT Cloud",
          "type": "string"
        },
        "serial": {
          "description": "The serial uuid of the device",
          "type": "string"
        },
        "tags": {
          "additionalProperties": true,
          "description": "Tags belonging to the device",
          "type": "object"
        },
        "thing": {
          "$ref": "#/components/schemas/ArduinoThing"
        },
        "type": {
          "description": "The type of the device",
          "type": "string"
        },
        "unique_hardware_id": {
          "description": "The unique hardware id of the device",
          "maxLength": 64,
          "minLength": 64,
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "description": "The id of the user",
          "format": "uuid",
          "type": "string"
        },
        "webhooks": {
          "$ref": "#/components/schemas/ArduinoDevicev2WebhookCollection"
        },
        "wifi_fw_version": {
          "description": "The version of the NINA/WIFI101 firmware running on the device",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "type",
        "label",
        "user_id",
        "href",
        "serial"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2Cert": {
      "description": "DeviceCertV2 describes a certificate associated to the device (default view)",
      "properties": {
        "ca": {
          "description": "The Certification Authority used to sign the certificate",
          "type": "string"
        },
        "compressed": {
          "$ref": "#/components/schemas/ArduinoCompressedv2"
        },
        "der": {
          "description": "The certificate in DER format",
          "type": "string"
        },
        "device_id": {
          "description": "The unique identifier of the device",
          "format": "uuid",
          "type": "string"
        },
        "enabled": {
          "default": true,
          "description": "Whether the certificate is enabled",
          "type": "boolean"
        },
        "href": {
          "description": "The api reference of this cert",
          "type": "string"
        },
        "id": {
          "description": "The unique identifier of the key",
          "format": "uuid",
          "type": "string"
        },
        "pem": {
          "description": "The certificate in pem format",
          "example": "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n\t\t\t3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n\t\t\t7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\n\t\t\tj+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\n\t\t\tOrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n\t\t\t5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\n\t\t\tFQIDAQAB\n\t\t\t-----END CERTIFICATE-----",
          "maxLength": 512,
          "type": "string"
        }
      },
      "required": [
        "id",
        "device_id",
        "enabled",
        "pem",
        "der",
        "compressed",
        "href"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.cert+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2CertCollection": {
      "description": "ArduinoDevicev2CertCollection is the media type for an array of ArduinoDevicev2Cert (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDevicev2Cert"
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.cert+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDevicev2Collection": {
      "description": "ArduinoDevicev2Collection is the media type for an array of ArduinoDevicev2 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDevicev2"
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDevicev2EventProperties": {
      "description": "ArduinoDevicev2EventProperties media type (default view)",
      "properties": {
        "events": {
          "$ref": "#/components/schemas/ArduinoDevicev2SimplePropertiesCollection"
        },
        "id": {
          "description": "The device of the property",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "id",
        "events"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.event.properties+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2Otaupload": {
      "description": "ArduinoDevicev2Otaupload media type (default view)",
      "properties": {
        "file_sha": {
          "description": "SHA256 of the uploaded file",
          "type": "string"
        },
        "ota_id": {
          "description": "OTA request id (only available from OTA version 2 and above)",
          "type": "string"
        },
        "ota_version": {
          "description": "OTA version",
          "format": "int64",
          "type": "integer"
        },
        "status": {
          "description": "OTA request status (only available from OTA version 2 and above)",
          "type": "string"
        }
      },
      "required": [
        "ota_version"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.otaupload+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2Pass": {
      "description": "DeviceCertV2 describes a password associated to a device (default view)",
      "properties": {
        "set": {
          "description": "Whether the password is set or not",
          "type": "boolean"
        },
        "suggested_password": {
          "description": "A random suggested password",
          "type": "string"
        }
      },
      "required": [
        "set"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.pass+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2Pubkey": {
      "description": "DevicePubkeyV2 describes a public key associated to the device (default view)",
      "properties": {
        "device_id": {
          "description": "The unique identifier of the device",
          "format": "uuid",
          "type": "string"
        },
        "enabled": {
          "default": true,
          "description": "Whether the public key is enabled",
          "type": "boolean"
        },
        "expire": {
          "description": "When the public key will expire",
          "format": "date-time",
          "type": "string"
        },
        "href": {
          "description": "The api reference of this pubkey",
          "type": "string"
        },
        "id": {
          "description": "The unique identifier of the key",
          "format": "uuid",
          "type": "string"
        },
        "pem": {
          "description": "The public key in pem format",
          "example": "-----BEGIN PUBLIC KEY-----\n\t\t\tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n\t\t\t3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n\t\t\t7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\n\t\t\tj+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\n\t\t\tOrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n\t\t\t5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\n\t\t\tFQIDAQAB\n\t\t\t-----END PUBLIC KEY-----",
          "maxLength": 512,
          "type": "string"
        }
      },
      "required": [
        "id",
        "device_id",
        "enabled",
        "expire",
        "pem",
        "href"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.pubkey+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2PubkeyCollection": {
      "description": "ArduinoDevicev2PubkeyCollection is the media type for an array of ArduinoDevicev2Pubkey (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDevicev2Pubkey"
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.pubkey+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDevicev2SimpleProperties": {
      "description": "ArduinoDevicev2SimpleProperties media type (default view)",
      "properties": {
        "name": {
          "description": "The name of the property",
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the property",
          "format": "date-time",
          "type": "string"
        },
        "value": {
          "description": "Value of the property"
        }
      },
      "required": [
        "name",
        "value",
        "updated_at"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2SimplePropertiesCollection": {
      "description": "ArduinoDevicev2SimplePropertiesCollection is the media type for an array of ArduinoDevicev2SimpleProperties (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDevicev2SimpleProperties"
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDevicev2StatusEvent": {
      "description": "ArduinoDevicev2StatusEvent media type (default view)",
      "properties": {
        "updated_at": {
          "description": "Update timestamp of the status event",
          "format": "date-time",
          "type": "string"
        },
        "value": {
          "description": "The status event of the device",
          "enum": [
            "CONNECTED",
            "DISCONNECTED"
          ],
          "type": "string"
        }
      },
      "required": [
        "value",
        "updated_at"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2StatusEventCollection": {
      "description": "ArduinoDevicev2StatusEventCollection is the media type for an array of ArduinoDevicev2StatusEvent (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDevicev2StatusEvent"
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDevicev2StatusEvents": {
      "description": "ArduinoDevicev2StatusEvents media type (default view)",
      "properties": {
        "events": {
          "$ref": "#/components/schemas/ArduinoDevicev2StatusEventCollection"
        },
        "id": {
          "description": "The id of the device",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "id",
        "events"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.status.events+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2Webhook": {
      "description": "DeviceWebhookV2 describes a webhook associated to the device (default view)",
      "properties": {
        "active": {
          "default": true,
          "description": "Whether the webhook is active",
          "type": "boolean"
        },
        "id": {
          "description": "The uuid of the webhook",
          "format": "uuid",
          "type": "string"
        },
        "uri": {
          "description": "The uri of the webhook",
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "id",
        "uri"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2WebhookCollection": {
      "description": "ArduinoDevicev2WebhookCollection is the media type for an array of ArduinoDevicev2Webhook (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDevicev2Webhook"
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDevicev2properties": {
      "description": "ArduinoDevicev2properties media type (default view)",
      "properties": {
        "data_retention_days": {
          "description": "How many days the data will be kept",
          "format": "double",
          "type": "number"
        },
        "deviceId": {
          "description": "The device of the property",
          "format": "uuid",
          "type": "string"
        },
        "properties": {
          "$ref": "#/components/schemas/ArduinoPropertyCollection"
        },
        "user_id": {
          "description": "The user id of the owner",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "deviceId",
        "user_id",
        "data_retention_days",
        "properties"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2properties+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2propertyvalue": {
      "description": "ArduinoDevicev2propertyvalue media type (default view)",
      "properties": {
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "value": {
          "properties": {
            "payload": {
              "type": "string"
            },
            "seqno": {
              "format": "int64",
              "type": "integer"
            },
            "statistics": {
              "properties": {
                "adr": {
                  "format": "double",
                  "type": "number"
                },
                "channel": {
                  "format": "double",
                  "type": "number"
                },
                "duplicate": {
                  "format": "double",
                  "type": "number"
                },
                "freq": {
                  "format": "double",
                  "type": "number"
                },
                "modBW": {
                  "format": "double",
                  "type": "number"
                },
                "rssi": {
                  "format": "double",
                  "type": "number"
                },
                "seqno": {
                  "format": "double",
                  "type": "number"
                },
                "sf": {
                  "format": "double",
                  "type": "number"
                },
                "snr": {
                  "format": "double",
                  "type": "number"
                },
                "time": {
                  "format": "double",
                  "type": "number"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2propertyvalueCollection": {
      "description": "ArduinoDevicev2propertyvalueCollection is the media type for an array of ArduinoDevicev2propertyvalue (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoDevicev2propertyvalue"
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoDevicev2propertyvalues": {
      "description": "ArduinoDevicev2propertyvalues media type (default view)",
      "properties": {
        "id": {
          "type": "string"
        },
        "last_evaluated_key": {
          "properties": {
            "created_at": {
              "format": "date-time",
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "values": {
          "$ref": "#/components/schemas/ArduinoDevicev2propertyvalueCollection"
        }
      },
      "required": [
        "id",
        "last_evaluated_key",
        "name",
        "values"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.devicev2propertyvalues+json; view=default",
      "type": "object"
    },
    "ArduinoDevicev2templatedevice": {
      "description": "ArduinoDevicev2templatedevice media type (default view)",
      "properties": {
        "fqbn": {
          "description": "The device fqbn",
          "type": "string"
        },
        "name": {
          "description": "The device type name",
          "type": "string"
        }
      },
      "title": "Mediatype identifier: application/vnd.arduino.devicev2templatedevice+json; view=default",
      "type": "object"
    },
    "ArduinoLinked_device": {
      "description": "ArduinoLinked_device media type (default view)",
      "properties": {
        "device": {
          "$ref": "#/components/schemas/ArduinoDevicev2"
        },
        "status": {
          "description": "The status of the linked device",
          "enum": [
            "OK",
            "DELETED"
          ],
          "example": "OK",
          "type": "string"
        }
      },
      "required": [
        "status",
        "device"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.linked_device+json; view=default",
      "type": "object"
    },
    "ArduinoLinked_device_template": {
      "description": "ArduinoLinked_device_template media type (default view)",
      "properties": {
        "thing_id": {
          "description": "The thing the device is associated to",
          "type": "string"
        }
      },
      "required": [
        "thing_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.linked_device_template+json; view=default",
      "type": "object"
    },
    "ArduinoLinked_property": {
      "description": "ArduinoLinked_property media type (default view)",
      "properties": {
        "property": {
          "$ref": "#/components/schemas/ArduinoProperty"
        },
        "status": {
          "description": "The status of the linked property",
          "enum": [
            "OK",
            "WRONG_TYPE",
            "DELETED"
          ],
          "example": "OK",
          "type": "string"
        }
      },
      "required": [
        "status",
        "property"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.linked_property+json; view=default",
      "type": "object"
    },
    "ArduinoLinked_property_template": {
      "description": "ArduinoLinked_property_template media type (default view)",
      "properties": {
        "property_id": {
          "description": "The property the trigger is associated to",
          "type": "string"
        },
        "thing_id": {
          "description": "The thing the trigger is associated to",
          "type": "string"
        }
      },
      "required": [
        "thing_id",
        "property_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.linked_property_template+json; view=default",
      "type": "object"
    },
    "ArduinoLinkedvariable": {
      "description": "ArduinoLinkedvariable media type (default view)",
      "properties": {
        "id": {
          "description": "The id of the linked variable",
          "format": "uuid",
          "type": "string"
        },
        "last_value": {
          "description": "Last value of the linked property"
        },
        "last_value_updated_at": {
          "description": "Update date of the last value",
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "description": "The name of the variable",
          "type": "string"
        },
        "permission": {
          "description": "The permission of the linked variable",
          "type": "string"
        },
        "thing_id": {
          "description": "The id of the related thing",
          "format": "uuid",
          "type": "string"
        },
        "thing_name": {
          "description": "The name of the related thing",
          "type": "string"
        },
        "thing_timezone": {
          "$ref": "#/components/schemas/ArduinoTimezone"
        },
        "type": {
          "description": "The type of the variable",
          "type": "string"
        },
        "variable_name": {
          "description": "The name of the variable in the code",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "variable_name",
        "thing_id",
        "thing_name",
        "type",
        "permission"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.linkedvariable+json; view=default",
      "type": "object"
    },
    "ArduinoLinkedvariableCollection": {
      "description": "ArduinoLinkedvariableCollection is the media type for an array of ArduinoLinkedvariable (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoLinkedvariable"
      },
      "title": "Mediatype identifier: application/vnd.arduino.linkedvariable+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoLoraappsv1": {
      "description": "ArduinoLoraappsv1 media type (default view)",
      "properties": {
        "apps": {
          "description": "The list of apps",
          "items": {
            "$ref": "#/components/schemas/ArduinoLoraappv1"
          },
          "type": "array"
        }
      },
      "required": [
        "apps"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.loraappsv1+json; view=default",
      "type": "object"
    },
    "ArduinoLoraappv1": {
      "description": "ArduinoLoraappv1 media type (default view)",
      "properties": {
        "app_eui": {
          "default": "",
          "description": "The eui of the app",
          "type": "string"
        },
        "name": {
          "description": "The name of the app",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.loraappv1+json; view=default",
      "type": "object"
    },
    "ArduinoLoradevicev1": {
      "description": "ArduinoLoradevicev1 media type (default view)",
      "properties": {
        "app_eui": {
          "description": "The eui of the app",
          "type": "string"
        },
        "app_key": {
          "description": "The key of the device",
          "type": "string"
        },
        "device_id": {
          "description": "The id of the device",
          "format": "uuid",
          "type": "string"
        },
        "eui": {
          "description": "The eui of the lora device",
          "example": "71619230301",
          "type": "string"
        }
      },
      "required": [
        "eui",
        "device_id",
        "app_eui",
        "app_key"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.loradevicev1+json; view=default",
      "type": "object"
    },
    "ArduinoLorafreqplansv1": {
      "description": "ArduinoLorafreqplansv1 media type (default view)",
      "properties": {
        "frequency_plans": {
          "description": "The list of frequency plans",
          "items": {
            "$ref": "#/components/schemas/ArduinoLorafreqplanv1"
          },
          "type": "array"
        }
      },
      "title": "Mediatype identifier: application/vnd.arduino.lorafreqplansv1+json; view=default",
      "type": "object"
    },
    "ArduinoLorafreqplanv1": {
      "description": "ArduinoLorafreqplanv1 media type (default view)",
      "properties": {
        "advanced": {
          "description": "Frequency plan only for advanced users",
          "type": "boolean"
        },
        "id": {
          "description": "The ID of the frequency paln",
          "type": "string"
        },
        "name": {
          "description": "The name of the frequency plan",
          "type": "string"
        }
      },
      "required": [
        "name",
        "id",
        "advanced"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.lorafreqplanv1+json; view=default",
      "type": "object"
    },
    "ArduinoLoragwv1": {
      "description": "ArduinoLoragwv1 media type (default view)",
      "properties": {
        "aws_id": {
          "description": "The id of the aws thing",
          "type": "string"
        },
        "id": {
          "description": "The id of the lora gateway. It's calculated from the mac using magic",
          "example": "71619230301",
          "type": "string"
        },
        "mac": {
          "description": "The mac/serial_number/device_code of the lora gateway. It is printed on the box, and used to connect to tts.",
          "type": "string"
        },
        "pub": {
          "description": "The public key of the lora gateway",
          "example": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\nj+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\nOrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\nFQIDAQAB\n-----END PUBLIC KEY-----",
          "type": "string"
        },
        "reachable": {
          "description": "True if the gateway is connected false if cannot be reachable",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "pub",
        "mac",
        "aws_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.loragwv1+json; view=default",
      "type": "object"
    },
    "ArduinoPage": {
      "description": "Page describes a dashboard page (default view)",
      "properties": {
        "icon": {
          "description": "The icon of the Page",
          "type": "string"
        },
        "id": {
          "description": "The id of the Page",
          "type": "string"
        },
        "name": {
          "description": "The name of the Page",
          "type": "string"
        },
        "position": {
          "description": "The position of the Page",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "name",
        "position"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.page+json; view=default",
      "type": "object"
    },
    "ArduinoPageCollection": {
      "description": "ArduinoPageCollection is the media type for an array of ArduinoPage (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoPage"
      },
      "title": "Mediatype identifier: application/vnd.arduino.page+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoPagevariable": {
      "description": "ArduinoPagevariable media type (default view)",
      "properties": {
        "icon": {
          "description": "The icon of the Page",
          "type": "string"
        },
        "id": {
          "description": "The id of the Page",
          "type": "string"
        },
        "name": {
          "description": "The name of the Page",
          "type": "string"
        },
        "position": {
          "description": "The position of the Page",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "name",
        "position"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.pagevariable+json; view=default",
      "type": "object"
    },
    "ArduinoPagevariableCollection": {
      "description": "ArduinoPagevariableCollection is the media type for an array of ArduinoPagevariable (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoPagevariable"
      },
      "title": "Mediatype identifier: application/vnd.arduino.pagevariable+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoProperty": {
      "description": "ArduinoProperty media type (default view)",
      "properties": {
        "created_at": {
          "description": "Creation date of the property",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Delete date of the property",
          "format": "date-time",
          "type": "string"
        },
        "href": {
          "description": "The api reference of this property",
          "type": "string"
        },
        "id": {
          "description": "The id of the property",
          "format": "uuid",
          "type": "string"
        },
        "last_value": {
          "description": "Last value of this property"
        },
        "linked_to_trigger": {
          "description": "Indicates if the property is involved in the activation of at least a trigger",
          "type": "boolean"
        },
        "max_value": {
          "description": "Maximum value of this property",
          "format": "double",
          "type": "number"
        },
        "min_value": {
          "description": "Minimum value of this property",
          "format": "double",
          "type": "number"
        },
        "name": {
          "description": "The friendly name of the property",
          "type": "string"
        },
        "permission": {
          "description": "The permission of the property",
          "type": "string"
        },
        "persist": {
          "description": "If true, data will persist into a timeseries database",
          "type": "boolean"
        },
        "sync_id": {
          "description": "The id of the sync pool",
          "format": "uuid",
          "type": "string"
        },
        "tag": {
          "description": "The integer id of the property",
          "format": "int64",
          "type": "integer"
        },
        "thing_id": {
          "description": "The id of the thing",
          "format": "uuid",
          "type": "string"
        },
        "thing_name": {
          "description": "The name of the associated thing",
          "type": "string"
        },
        "type": {
          "description": "The type of the property",
          "type": "string"
        },
        "update_parameter": {
          "description": "The update frequency in seconds, or the amount of the property has to change in order to trigger an update",
          "format": "double",
          "type": "number"
        },
        "update_strategy": {
          "description": "The update strategy for the property value",
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the property",
          "format": "date-time",
          "type": "string"
        },
        "value_updated_at": {
          "description": "Last update timestamp of this property",
          "format": "date-time",
          "type": "string"
        },
        "variable_name": {
          "description": "The sketch variable name of the property",
          "type": "string"
        }
      },
      "required": [
        "id",
        "thing_id",
        "name",
        "type",
        "permission",
        "update_strategy",
        "href"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.property+json; view=default",
      "type": "object"
    },
    "ArduinoPropertyCollection": {
      "description": "ArduinoPropertyCollection is the media type for an array of ArduinoProperty (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoProperty"
      },
      "title": "Mediatype identifier: application/vnd.arduino.property+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoPropertytype": {
      "description": "ArduinoPropertytype media type (default view)",
      "properties": {
        "assistants": {
          "description": "The voice assistants available for this type",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "declaration": {
          "description": "The c++ type we are using for this variable type",
          "type": "string"
        },
        "deprecated": {
          "description": "Tell if this type is deprecated",
          "type": "boolean"
        },
        "example": {
          "description": "Example of use",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the property type",
          "type": "string"
        },
        "rw": {
          "description": "Tell if the type allow a R/W permission",
          "type": "boolean"
        },
        "supersededBy": {
          "description": "The type of property to use if it's deprecated",
          "type": "string"
        },
        "tags": {
          "description": "The tags related to the type",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "type": {
          "description": "The api reference of this type",
          "enum": [
            "ENERGY",
            "FORCE",
            "TEMPERATURE",
            "POWER",
            "ELECTRIC_CURRENT",
            "ELECTRIC_POTENTIAL",
            "ELECTRICAL_RESISTANCE",
            "CAPACITANCE",
            "TIME",
            "FREQUENCY",
            "DATA_RATE",
            "HEART_BEATS",
            "COUNT",
            "ACCELERATION",
            "AREA",
            "LENGTH",
            "VELOCITY",
            "LOCATION",
            "MASS",
            "VOLUME",
            "FLOW_RATE",
            "ANGLE",
            "ILLUMINANCE",
            "LUMINOUS_FLUX",
            "LUMINANCE",
            "LUMINOUS_INTENSITY",
            "COLOR_HSB",
            "LOGARITHMIC_QUANTITY",
            "PRESSURE",
            "INFORMATION_CONTENT",
            "PERCENTAGE",
            "PERCENTAGE_RELATIVE_HUMIDITY",
            "GENERIC_COMPLEX_PROPERTY",
            "HOME_LIGHT",
            "HOME_DIMMED_LIGHT",
            "HOME_COLORED_LIGHT",
            "HOME_CONTACT_SENSOR",
            "HOME_SMART_PLUG",
            "HOME_SWITCH",
            "HOME_MOTION_SENSOR",
            "HOME_TEMPERATURE_C",
            "HOME_TEMPERATURE_F",
            "HOME_TELEVISION",
            "SCHEDULE",
            "CHARSTRING",
            "FLOAT",
            "INT",
            "STATUS",
            "AMPERE",
            "BECQUEREL",
            "BEL",
            "BIT",
            "BIT_PER_SECOND",
            "CANDELA",
            "CANDELA_PER_SQUARE_METER",
            "COULOMB",
            "CUBIC_METER",
            "CUBIC_METER_PER_SECOND",
            "DECIBEL",
            "DECIBEL_1W",
            "DEGREES_LATITUDE",
            "DEGREES_LONGITUDE",
            "EVENT_RATE_MINUTE",
            "EVENT_RATE_SECOND",
            "FARAD",
            "GRAM",
            "GRAY",
            "HEART_RATE",
            "HENRY",
            "HERTZ",
            "JOULE",
            "KATAL",
            "KELVIN",
            "KILOGRAM",
            "LENGHT_C",
            "LENGHT_I",
            "LENGHT_M",
            "LITER",
            "LITER_PER_SECOND",
            "LUMEN",
            "LUX",
            "METER_PER_SECOND",
            "METER_PER_SQUARE_SECOND",
            "MOLE",
            "NEWTON",
            "OHM",
            "PASCAL",
            "PERCENTAGE_BATTERY_LEVEL",
            "PH_VALUE",
            "RADIAN",
            "RATIO_DIV",
            "SECONDS_BATTERY_LEVEL",
            "SIEMENS",
            "SIEMENS_PER_METER",
            "SIEVERT",
            "SQUARE_METER",
            "STERADIAN",
            "TEMPERATURE_C",
            "TEMPERATURE_F",
            "TESLA",
            "VOLT",
            "WATT",
            "WATT_PER_SQUARE_METER",
            "WEBER"
          ],
          "type": "string"
        },
        "units": {
          "description": "The measure units available for this type",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "deprecated",
        "rw",
        "type",
        "declaration"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.propertytype+json; view=default",
      "type": "object"
    },
    "ArduinoPropertytypeCollection": {
      "description": "ArduinoPropertytypeCollection is the media type for an array of ArduinoPropertytype (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoPropertytype"
      },
      "title": "Mediatype identifier: application/vnd.arduino.propertytype+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoRequired_action": {
      "description": "ArduinoRequired_action media type (default view)",
      "properties": {
        "required_action": {
          "description": "The kind of action required, it can be RELOAD_SKETCH | NONE",
          "enum": [
            "RELOAD_SKETCH",
            "NONE"
          ],
          "type": "string"
        }
      },
      "required": [
        "required_action"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.required_action+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesBatch": {
      "description": "ArduinoSeriesBatch media type (default view)",
      "properties": {
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        },
        "responses": {
          "description": "Responses of the request",
          "items": {
            "$ref": "#/components/schemas/ArduinoSeriesResponse"
          },
          "type": "array"
        }
      },
      "required": [
        "responses",
        "resp_version"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.batch+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesBatchSampled": {
      "description": "ArduinoSeriesBatchSampled media type (default view)",
      "properties": {
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        },
        "responses": {
          "description": "Responses of the request",
          "items": {
            "$ref": "#/components/schemas/ArduinoSeriesSampledResponse"
          },
          "type": "array"
        }
      },
      "required": [
        "responses",
        "resp_version"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.batch.sampled+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesRawBatch": {
      "description": "ArduinoSeriesRawBatch media type (default view)",
      "properties": {
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        },
        "responses": {
          "description": "Responses of the request",
          "items": {
            "$ref": "#/components/schemas/ArduinoSeriesRawResponse"
          },
          "type": "array"
        }
      },
      "required": [
        "responses",
        "resp_version"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.raw.batch+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesRawBatchLastvalue": {
      "description": "ArduinoSeriesRawBatchLastvalue media type (default view)",
      "properties": {
        "responses": {
          "description": "Responses of the request",
          "items": {
            "$ref": "#/components/schemas/ArduinoSeriesRawLastValueResponse"
          },
          "type": "array"
        },
        "status": {
          "description": "Status of the response",
          "type": "string"
        }
      },
      "required": [
        "status",
        "responses"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.raw.batch.lastvalue+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesRawLastValueResponse": {
      "description": "ArduinoSeriesRawLastValueResponse media type (default view)",
      "properties": {
        "count_values": {
          "description": "Total number of values in the array 'values'",
          "format": "int64",
          "type": "integer"
        },
        "property_id": {
          "description": "Property id",
          "format": "uuid",
          "type": "string"
        },
        "thing_id": {
          "description": "Thing id",
          "format": "uuid",
          "type": "string"
        },
        "times": {
          "description": "Timestamp in RFC3339",
          "items": {
            "format": "date-time",
            "type": "string"
          },
          "type": "array"
        },
        "values": {
          "description": "Values can be in Float, String, Bool, Object",
          "items": {},
          "type": "array"
        }
      },
      "required": [
        "thing_id",
        "property_id",
        "count_values",
        "values",
        "times"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.raw.last.value.response+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesRawResponse": {
      "description": "ArduinoSeriesRawResponse media type (default view)",
      "properties": {
        "count_values": {
          "description": "Total number of values in the array 'values'",
          "format": "int64",
          "type": "integer"
        },
        "from_date": {
          "description": "From date",
          "format": "date-time",
          "type": "string"
        },
        "message": {
          "default": "",
          "description": "If the response is different than 'ok'",
          "type": "string"
        },
        "property_id": {
          "description": "Property id",
          "format": "uuid",
          "type": "string"
        },
        "property_name": {
          "description": "Property name",
          "type": "string"
        },
        "property_type": {
          "description": "Property type",
          "type": "string"
        },
        "query": {
          "description": "Query of for the data",
          "type": "string"
        },
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        },
        "series": {
          "$ref": "#/components/schemas/BatchQueryRawResponseSeriesMediaV1"
        },
        "series_limit": {
          "description": "Max of values",
          "format": "int64",
          "type": "integer"
        },
        "sort": {
          "description": "Sorting",
          "enum": [
            "ASC",
            "DESC"
          ],
          "type": "string"
        },
        "status": {
          "description": "Status of the response",
          "type": "string"
        },
        "thing_id": {
          "description": "Thing id",
          "format": "uuid",
          "type": "string"
        },
        "times": {
          "description": "Timestamp in RFC3339",
          "items": {
            "format": "date-time",
            "type": "string"
          },
          "type": "array"
        },
        "to_date": {
          "description": "To date",
          "format": "date-time",
          "type": "string"
        },
        "values": {
          "description": "Values can be in Float, String, Bool, Object",
          "items": {},
          "type": "array"
        }
      },
      "required": [
        "status",
        "resp_version",
        "series",
        "query",
        "from_date",
        "to_date",
        "sort",
        "times",
        "values",
        "count_values"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.raw.response+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesResponse": {
      "description": "ArduinoSeriesResponse media type (default view)",
      "properties": {
        "aggregation": {
          "description": "Aggregation statistic function.\nFor numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile).\nFor boolean, BOOL_OR statistic is used as default.",
          "enum": [
            "AVG",
            "MIN",
            "MAX",
            "SUM",
            "COUNT",
            "PCT_99",
            "PCT_95",
            "PCT_90",
            "PCT_75",
            "PCT_50",
            "PCT_15",
            "PCT_5",
            "BOOL_OR",
            "BOOL_AND"
          ],
          "example": "AVG",
          "type": "string"
        },
        "count_values": {
          "description": "Total number of values in the array 'values'",
          "format": "int64",
          "type": "integer"
        },
        "from_date": {
          "description": "From date",
          "format": "date-time",
          "type": "string"
        },
        "interval": {
          "description": "Resolution in seconds",
          "format": "int64",
          "type": "integer"
        },
        "message": {
          "default": "",
          "description": "If the response is different than 'ok'",
          "type": "string"
        },
        "property_id": {
          "description": "Property id",
          "format": "uuid",
          "type": "string"
        },
        "property_name": {
          "description": "Property name",
          "type": "string"
        },
        "property_type": {
          "description": "Property type",
          "type": "string"
        },
        "query": {
          "description": "Query of for the data",
          "type": "string"
        },
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        },
        "series_limit": {
          "description": "Maximum number of values returned after data aggregation, if any",
          "format": "int64",
          "type": "integer"
        },
        "status": {
          "description": "Status of the response",
          "type": "string"
        },
        "thing_id": {
          "description": "Thing id",
          "format": "uuid",
          "type": "string"
        },
        "times": {
          "description": "Timestamp in RFC3339",
          "items": {
            "format": "date-time",
            "type": "string"
          },
          "type": "array"
        },
        "to_date": {
          "description": "To date",
          "format": "date-time",
          "type": "string"
        },
        "values": {
          "description": "Values in Float",
          "items": {
            "format": "double",
            "type": "number"
          },
          "type": "array"
        }
      },
      "required": [
        "status",
        "resp_version",
        "query",
        "from_date",
        "to_date",
        "interval",
        "times",
        "values",
        "count_values"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.response+json; view=default",
      "type": "object"
    },
    "ArduinoSeriesSampledResponse": {
      "description": "ArduinoSeriesSampledResponse media type (default view)",
      "properties": {
        "count_values": {
          "description": "Total number of values in the array 'values'",
          "format": "int64",
          "type": "integer"
        },
        "from_date": {
          "description": "From date",
          "format": "date-time",
          "type": "string"
        },
        "interval": {
          "description": "Resolution in seconds",
          "format": "int64",
          "type": "integer"
        },
        "message": {
          "default": "",
          "description": "If the response is different than 'ok'",
          "type": "string"
        },
        "property_id": {
          "description": "Property id",
          "format": "uuid",
          "type": "string"
        },
        "property_name": {
          "description": "Property name",
          "type": "string"
        },
        "property_type": {
          "description": "Property type",
          "type": "string"
        },
        "query": {
          "description": "Query of for the data",
          "type": "string"
        },
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        },
        "series_limit": {
          "description": "Maximum number of values returned after data aggregation, if any",
          "format": "int64",
          "type": "integer"
        },
        "status": {
          "description": "Status of the response",
          "type": "string"
        },
        "thing_id": {
          "description": "Thing id",
          "format": "uuid",
          "type": "string"
        },
        "times": {
          "description": "Timestamp in RFC3339",
          "items": {
            "format": "date-time",
            "type": "string"
          },
          "type": "array"
        },
        "to_date": {
          "description": "To date",
          "format": "date-time",
          "type": "string"
        },
        "values": {
          "description": "Values in Float",
          "items": {},
          "type": "array"
        }
      },
      "required": [
        "status",
        "resp_version",
        "query",
        "from_date",
        "to_date",
        "interval",
        "times",
        "values",
        "count_values"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.series.sampled.response+json; view=default",
      "type": "object"
    },
    "ArduinoSupporteddevicev1": {
      "description": "ArduinoSupporteddevicev1 media type (default view)",
      "properties": {
        "fqbn": {
          "description": "The Fully Qualified Board Name",
          "example": "arduino:mbed:nano33ble",
          "type": "string"
        },
        "label": {
          "description": "The descriptive label of the device",
          "example": "Arduino MKR WiFi 1010",
          "type": "string"
        },
        "min_provisioning_sketch_version": {
          "description": "The minimum sketch version to be compatible with the provisioning method",
          "example": "1.0.0",
          "type": "string"
        },
        "min_provisioning_wifi_version": {
          "description": "The minimum wifi fw version to be compatible with the provisioning method",
          "example": "1.0.0",
          "type": "string"
        },
        "ota_available": {
          "description": "Whether the device supports OTA updates",
          "example": true,
          "type": "boolean"
        },
        "provisioning": {
          "description": "The provisioning method",
          "enum": [
            "v1",
            "v2"
          ],
          "example": "v2",
          "type": "string"
        },
        "tags": {
          "description": "The tags this device belongs to",
          "example": [
            "lora"
          ],
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "type": {
          "description": "The type that should be use in api requests",
          "example": "mkrwifi1010",
          "type": "string"
        },
        "vendor": {
          "description": "The vendor of the device",
          "example": "ARDUINO",
          "type": "string"
        }
      },
      "required": [
        "type",
        "label",
        "tags",
        "vendor"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.supporteddevicev1+json; view=default",
      "type": "object"
    },
    "ArduinoSupporteddevicev1Collection": {
      "description": "ArduinoSupporteddevicev1Collection is the media type for an array of ArduinoSupporteddevicev1 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoSupporteddevicev1"
      },
      "title": "Mediatype identifier: application/vnd.arduino.supporteddevicev1+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoSync": {
      "description": "ArduinoSync media type (default view)",
      "properties": {
        "id": {
          "description": "The id of the property",
          "format": "uuid",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the sync belongs to",
          "format": "uuid",
          "type": "string"
        },
        "properties": {
          "description": "The properties in sync",
          "items": {
            "$ref": "#/components/schemas/ArduinoProperty"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of the property",
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "properties"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.sync+json; view=default",
      "type": "object"
    },
    "ArduinoSyncCollection": {
      "description": "ArduinoSyncCollection is the media type for an array of ArduinoSync (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoSync"
      },
      "title": "Mediatype identifier: application/vnd.arduino.sync+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoTags": {
      "description": "ArduinoTags media type (default view)",
      "properties": {
        "tags": {
          "items": {
            "$ref": "#/components/schemas/tag"
          },
          "type": "array"
        }
      },
      "required": [
        "tags"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.tags+json; view=default",
      "type": "object"
    },
    "ArduinoTemplate": {
      "description": "ArduinoTemplate media type (default view)",
      "properties": {
        "dashboards": {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        "things": {
          "$ref": "#/components/schemas/ArduinoThingresultCollection"
        },
        "triggers": {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "things"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.template+json; view=default",
      "type": "object"
    },
    "ArduinoTemplateproperty": {
      "description": "ArduinoTemplateproperty media type (default view)",
      "properties": {
        "id": {
          "description": "The friendly id of the property",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the property",
          "type": "string"
        },
        "permission": {
          "description": "The permission of the property",
          "type": "string"
        },
        "type": {
          "description": "The type of the property",
          "type": "string"
        },
        "update_parameter": {
          "description": "The update frequency in seconds, or the amount of the property has to change in order to trigger an update",
          "format": "double",
          "type": "number"
        },
        "update_strategy": {
          "description": "The update strategy for the property value",
          "type": "string"
        },
        "variable_name": {
          "description": "The sketch variable name of the property",
          "type": "string"
        }
      },
      "required": [
        "name",
        "type",
        "permission",
        "update_strategy"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.templateproperty+json; view=default",
      "type": "object"
    },
    "ArduinoTemplatepropertyCollection": {
      "description": "ArduinoTemplatepropertyCollection is the media type for an array of ArduinoTemplateproperty (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoTemplateproperty"
      },
      "title": "Mediatype identifier: application/vnd.arduino.templateproperty+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoTemplatevariable": {
      "description": "ArduinoTemplatevariable media type (default view)",
      "properties": {
        "name": {
          "description": "The name of the variable",
          "type": "string"
        },
        "permission": {
          "description": "The permission of the linked variable",
          "type": "string"
        },
        "thing_id": {
          "description": "The name of the related thing",
          "type": "string"
        },
        "thing_timezone": {
          "$ref": "#/components/schemas/ArduinoTimezone"
        },
        "type": {
          "description": "The type of the variable",
          "type": "string"
        },
        "variable_id": {
          "description": "The name of the variable in the code",
          "type": "string"
        }
      },
      "required": [
        "name",
        "variable_id",
        "thing_id",
        "type",
        "permission"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.templatevariable+json; view=default",
      "type": "object"
    },
    "ArduinoTemplatevariableCollection": {
      "description": "ArduinoTemplatevariableCollection is the media type for an array of ArduinoTemplatevariable (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoTemplatevariable"
      },
      "title": "Mediatype identifier: application/vnd.arduino.templatevariable+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoThing": {
      "description": "ArduinoThing media type (default view)",
      "properties": {
        "assistant": {
          "description": "The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE",
          "enum": [
            "ALEXA",
            "GOOGLE",
            "NONE"
          ],
          "type": "string"
        },
        "created_at": {
          "description": "Creation date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Delete date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "device_fqbn": {
          "description": "The fqbn of the attached device, if any",
          "type": "string"
        },
        "device_id": {
          "description": "The id of the device",
          "format": "uuid",
          "type": "string"
        },
        "device_name": {
          "description": "The name of the attached device, if any",
          "type": "string"
        },
        "device_type": {
          "description": "The type of the attached device, if any",
          "type": "string"
        },
        "href": {
          "description": "The api reference of this thing",
          "type": "string"
        },
        "id": {
          "description": "The id of the thing",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the thing",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the thing belongs to",
          "format": "uuid",
          "type": "string"
        },
        "properties": {
          "$ref": "#/components/schemas/ArduinoPropertyCollection"
        },
        "properties_count": {
          "description": "The number of properties of the thing",
          "format": "int64",
          "type": "integer"
        },
        "sketch_id": {
          "description": "The id of the attached sketch",
          "format": "uuid",
          "type": "string"
        },
        "source_template": {
          "description": "The id of the template used to create the thing",
          "format": "uuid",
          "type": "string"
        },
        "tags": {
          "additionalProperties": true,
          "description": "Tags of the thing",
          "type": "object"
        },
        "timezone": {
          "description": "Time zone of the thing",
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "description": "The user id of the owner",
          "format": "uuid",
          "type": "string"
        },
        "webhook_active": {
          "description": "Webhook uri",
          "type": "boolean"
        },
        "webhook_uri": {
          "description": "Webhook uri",
          "type": "string"
        }
      },
      "required": [
        "id",
        "user_id",
        "name",
        "href",
        "timezone"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.thing+json; view=default",
      "type": "object"
    },
    "ArduinoThingCollection": {
      "description": "ArduinoThingCollection is the media type for an array of ArduinoThing (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoThing"
      },
      "title": "Mediatype identifier: application/vnd.arduino.thing+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoThinglayout": {
      "description": "ArduinoThinglayout media type (default view)",
      "properties": {
        "assistant": {
          "description": "The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE",
          "enum": [
            "ALEXA",
            "GOOGLE",
            "NONE"
          ],
          "type": "string"
        },
        "created_at": {
          "description": "Creation date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "deleted_at": {
          "description": "Delete date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "device_fqbn": {
          "description": "The fqbn of the device",
          "type": "string"
        },
        "device_id": {
          "description": "The arn of the device",
          "format": "uuid",
          "type": "string"
        },
        "device_type": {
          "description": "The type of the device",
          "type": "string"
        },
        "href": {
          "description": "The api reference of this thing",
          "type": "string"
        },
        "id": {
          "description": "The id of the thing",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the thing",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the thing belongs to",
          "format": "uuid",
          "type": "string"
        },
        "properties": {
          "$ref": "#/components/schemas/ArduinoPropertyCollection"
        },
        "properties_count": {
          "description": "The number of properties of the thing",
          "format": "double",
          "type": "number"
        },
        "shared_with": {
          "description": "The list of users the dashboard is shared with",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        "sketch_id": {
          "description": "The id of the attached sketch",
          "format": "uuid",
          "type": "string"
        },
        "tags": {
          "additionalProperties": true,
          "description": "Tags of the thing",
          "type": "object"
        },
        "timezone": {
          "$ref": "#/components/schemas/ArduinoTimezone"
        },
        "updated_at": {
          "description": "Update date of the thing",
          "format": "date-time",
          "type": "string"
        },
        "user_id": {
          "description": "The user id of the owner",
          "format": "uuid",
          "type": "string"
        },
        "webhook_active": {
          "description": "Webhook uri",
          "type": "boolean"
        },
        "webhook_uri": {
          "description": "Webhook uri",
          "type": "string"
        }
      },
      "required": [
        "id",
        "user_id",
        "name",
        "href",
        "timezone"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.thinglayout+json; view=default",
      "type": "object"
    },
    "ArduinoThingresult": {
      "description": "ArduinoThingresult media type (default view)",
      "properties": {
        "device_id": {
          "description": "UUID of the attached device",
          "format": "uuid",
          "type": "string"
        },
        "id": {
          "description": "UUID of the created Thing",
          "format": "uuid",
          "type": "string"
        },
        "sketch_id": {
          "description": "UUID of the created Sketch",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "id",
        "sketch_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.thingresult+json; view=default",
      "type": "object"
    },
    "ArduinoThingresultCollection": {
      "description": "ArduinoThingresultCollection is the media type for an array of ArduinoThingresult (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoThingresult"
      },
      "title": "Mediatype identifier: application/vnd.arduino.thingresult+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoThingtemplate": {
      "description": "ArduinoThingtemplate media type (default view)",
      "properties": {
        "device_metadata": {
          "$ref": "#/components/schemas/ArduinoDevicev2templatedevice"
        },
        "id": {
          "description": "The friendly id of the thing",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the thing",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the thing belongs to",
          "format": "uuid",
          "type": "string"
        },
        "sketch_template": {
          "description": "The ID of the template's sketch",
          "type": "string"
        },
        "tags": {
          "description": "Tags of the thing",
          "items": {
            "$ref": "#/components/schemas/tag"
          },
          "type": "array"
        },
        "timezone": {
          "description": "Time zone of the thing",
          "type": "string"
        },
        "variables": {
          "$ref": "#/components/schemas/ArduinoTemplatepropertyCollection"
        },
        "webhook_uri": {
          "description": "Webhook uri",
          "type": "string"
        }
      },
      "required": [
        "name",
        "timezone"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.thingtemplate+json; view=default",
      "type": "object"
    },
    "ArduinoTimeseriesmedia": {
      "description": "ArduinoTimeseriesmedia media type (default view)",
      "properties": {
        "data": {
          "items": {
            "$ref": "#/components/schemas/TimeseriesDataPoint"
          },
          "type": "array"
        }
      },
      "required": [
        "data"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.timeseriesmedia+json; view=default",
      "type": "object"
    },
    "ArduinoTimezone": {
      "description": "ArduinoTimezone media type (default view)",
      "properties": {
        "name": {
          "description": "Name of the time zone.",
          "type": "string"
        },
        "offset": {
          "description": "Current UTC DST offset in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "until": {
          "description": "Date until the offset is valid.",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "name",
        "offset",
        "until"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.timezone+json; view=default",
      "type": "object"
    },
    "ArduinoTimezoneCollection": {
      "description": "ArduinoTimezoneCollection is the media type for an array of ArduinoTimezone (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoTimezone"
      },
      "title": "Mediatype identifier: application/vnd.arduino.timezone+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoTimezones": {
      "description": "ArduinoTimezones media type (default view)",
      "properties": {
        "timezones": {
          "$ref": "#/components/schemas/ArduinoTimezoneCollection"
        }
      },
      "required": [
        "timezones"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.timezones+json; view=default",
      "type": "object"
    },
    "ArduinoToken": {
      "description": "ArduinoToken media type (default view)",
      "properties": {
        "access_token": {
          "description": "The access_token",
          "type": "string"
        },
        "expires_in": {
          "description": "The number of seconds the token will be valid",
          "format": "int64",
          "type": "integer"
        },
        "token_type": {
          "description": "The Type of token",
          "type": "string"
        }
      },
      "required": [
        "access_token",
        "token_type",
        "expires_in"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.token+json; view=default",
      "type": "object"
    },
    "ArduinoTrigger": {
      "description": "ArduinoTrigger media type (default view)",
      "properties": {
        "actions": {
          "description": "A list of actions associated with the trigger",
          "items": {
            "$ref": "#/components/schemas/ArduinoAction"
          },
          "type": "array"
        },
        "active": {
          "description": "Is true if the trigger is enabled",
          "type": "boolean"
        },
        "created_at": {
          "description": "Creation date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "created_by": {
          "description": "Id of the user who last updated the trigger",
          "format": "uuid",
          "type": "string"
        },
        "deleted_at": {
          "description": "Deletion date of the trigger",
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "description": "The description of the trigger",
          "type": "string"
        },
        "device_status_source": {
          "$ref": "#/components/schemas/device_status_source"
        },
        "id": {
          "description": "The id of the trigger",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the trigger",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the trigger belongs to",
          "format": "uuid",
          "type": "string"
        },
        "property_id": {
          "description": "Id of the property the trigger is associated to (mutually exclusive with 'device_status_source')",
          "format": "uuid",
          "type": "string"
        },
        "updated_at": {
          "description": "Update date of the trigger",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.trigger+json; view=default",
      "type": "object"
    },
    "ArduinoTriggerCollection": {
      "description": "ArduinoTriggerCollection is the media type for an array of ArduinoTrigger (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoTrigger"
      },
      "title": "Mediatype identifier: application/vnd.arduino.trigger+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoTrigger_template": {
      "description": "ArduinoTrigger_template media type (default view)",
      "properties": {
        "actions": {
          "description": "A list of actions associated with the trigger",
          "items": {
            "$ref": "#/components/schemas/ArduinoAction_template"
          },
          "type": "array"
        },
        "active": {
          "description": "Is true if the trigger is enabled",
          "type": "boolean"
        },
        "criteria": {
          "description": "The criteria of the trigger, could be INCLUDE or EXCLUDE",
          "type": "string"
        },
        "description": {
          "description": "The description of the trigger",
          "type": "string"
        },
        "grace_period_offline": {
          "description": "The amount of seconds the trigger will wait before considering a matching device as offline",
          "format": "int64",
          "type": "integer"
        },
        "grace_period_online": {
          "description": "The amount of seconds the trigger will wait before considering a matching device as online",
          "format": "int64",
          "type": "integer"
        },
        "id": {
          "description": "The id of the trigger",
          "type": "string"
        },
        "linked_devices": {
          "description": "A list of devices the trigger is associated to",
          "items": {
            "$ref": "#/components/schemas/ArduinoLinked_device_template"
          },
          "type": "array"
        },
        "linked_property": {
          "$ref": "#/components/schemas/ArduinoLinked_property_template"
        },
        "name": {
          "description": "The name of the trigger",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the trigger belongs to",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.trigger_template+json; view=default",
      "type": "object"
    },
    "ArduinoTrigger_with_linked_entities": {
      "description": "ArduinoTrigger_with_linked_entities media type (default view)",
      "properties": {
        "actions": {
          "description": "A list of actions associated with the trigger",
          "items": {
            "$ref": "#/components/schemas/ArduinoAction"
          },
          "type": "array"
        },
        "active": {
          "description": "Is true if the trigger is enabled",
          "type": "boolean"
        },
        "created_by": {
          "description": "Id of the user who last updated the trigger",
          "format": "uuid",
          "type": "string"
        },
        "description": {
          "description": "The description of the trigger",
          "type": "string"
        },
        "device_status_source": {
          "$ref": "#/components/schemas/Device_status_source_with_linked_devices"
        },
        "id": {
          "description": "The id of the trigger",
          "format": "uuid",
          "type": "string"
        },
        "linked_property": {
          "$ref": "#/components/schemas/ArduinoLinked_property"
        },
        "name": {
          "description": "The name of the trigger",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the trigger belongs to",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.trigger_with_linked_entities+json; view=default",
      "type": "object"
    },
    "ArduinoUsageDaily": {
      "description": "Daily message-consumption series (default view)",
      "properties": {
        "from": {
          "description": "Start of the returned range (inclusive, UTC)",
          "format": "date-time",
          "type": "string"
        },
        "owner_id": {
          "description": "ID of the owner: user_id for scope=user, org_id for scope=org",
          "format": "uuid",
          "type": "string"
        },
        "scope": {
          "description": "Scope of the series: `user` or `org`",
          "enum": [
            "user",
            "org"
          ],
          "type": "string"
        },
        "series": {
          "description": "One entry per calendar day in the requested range (days with zero messages are omitted)",
          "items": {
            "$ref": "#/components/schemas/UsageDailyPoint"
          },
          "type": "array"
        },
        "to": {
          "description": "End of the returned range (inclusive, UTC)",
          "format": "date-time",
          "type": "string"
        },
        "total": {
          "description": "Sum of `count` over the full returned range",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "scope",
        "owner_id",
        "from",
        "to",
        "total",
        "series"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.usage.daily+json; view=default",
      "type": "object"
    },
    "ArduinoUsageMonthly": {
      "description": "Monthly message-consumption series (default view)",
      "properties": {
        "from": {
          "description": "Start of the returned range (inclusive, UTC, truncated to month start)",
          "format": "date-time",
          "type": "string"
        },
        "owner_id": {
          "description": "ID of the owner: user_id for scope=user, org_id for scope=org",
          "format": "uuid",
          "type": "string"
        },
        "scope": {
          "description": "Scope of the series: `user` or `org`",
          "enum": [
            "user",
            "org"
          ],
          "type": "string"
        },
        "series": {
          "description": "One entry per calendar month in the requested range (months with zero messages are omitted)",
          "items": {
            "$ref": "#/components/schemas/UsageMonthlyPoint"
          },
          "type": "array"
        },
        "to": {
          "description": "End of the returned range (inclusive, UTC, month end)",
          "format": "date-time",
          "type": "string"
        },
        "total": {
          "description": "Sum of `count` over the full returned range",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "scope",
        "owner_id",
        "from",
        "to",
        "total",
        "series"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.usage.monthly+json; view=default",
      "type": "object"
    },
    "ArduinoUsageThingsDaily": {
      "description": "Per-thing daily message-consumption series (default view)",
      "properties": {
        "from": {
          "description": "Start of the returned range (inclusive, UTC)",
          "format": "date-time",
          "type": "string"
        },
        "owner_id": {
          "description": "ID of the owner: user_id for scope=user, org_id for scope=org",
          "format": "uuid",
          "type": "string"
        },
        "scope": {
          "description": "Scope of the series: `user` or `org`",
          "enum": [
            "user",
            "org"
          ],
          "type": "string"
        },
        "things": {
          "description": "One entry per thing with at least one message in the range",
          "items": {
            "$ref": "#/components/schemas/UsageThingDailySeries"
          },
          "type": "array"
        },
        "to": {
          "description": "End of the returned range (inclusive, UTC)",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "scope",
        "owner_id",
        "from",
        "to",
        "things"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.usage.things.daily+json; view=default",
      "type": "object"
    },
    "ArduinoUsageThingsMonthly": {
      "description": "Per-thing monthly message-consumption series (default view)",
      "properties": {
        "from": {
          "description": "Start of the returned range (inclusive, UTC, truncated to month start)",
          "format": "date-time",
          "type": "string"
        },
        "owner_id": {
          "description": "ID of the owner: user_id for scope=user, org_id for scope=org",
          "format": "uuid",
          "type": "string"
        },
        "scope": {
          "description": "Scope of the series: `user` or `org`",
          "enum": [
            "user",
            "org"
          ],
          "type": "string"
        },
        "things": {
          "description": "One entry per thing with at least one message in the range",
          "items": {
            "$ref": "#/components/schemas/UsageThingMonthlySeries"
          },
          "type": "array"
        },
        "to": {
          "description": "End of the returned range (inclusive, UTC, month end)",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "scope",
        "owner_id",
        "from",
        "to",
        "things"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.usage.things.monthly+json; view=default",
      "type": "object"
    },
    "ArduinoUser": {
      "description": "ArduinoUser media type (default view)",
      "properties": {
        "id": {
          "description": "The ID of the user",
          "format": "uuid",
          "type": "string"
        },
        "username": {
          "description": "The username of the user",
          "type": "string"
        }
      },
      "required": [
        "id",
        "username"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.user+json; view=default",
      "type": "object"
    },
    "ArduinoVariableslinks": {
      "description": "ArduinoVariableslinks media type (default view)",
      "properties": {
        "variables": {
          "description": "The ids of the linked variables",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "variables"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.variableslinks+json; view=default",
      "type": "object"
    },
    "ArduinoWidgetv2": {
      "description": "ArduinoWidgetv2 media type (default view)",
      "properties": {
        "has_permission_incompatibility": {
          "description": "True if the linked variables permissions are incompatible with the widget",
          "type": "boolean"
        },
        "has_type_incompatibility": {
          "description": "True if the linked variables types are incompatible with the widget",
          "type": "boolean"
        },
        "has_unlinked_variable": {
          "description": "If it's true the widget is linked to a soft-deleted variable",
          "type": "boolean"
        },
        "height": {
          "description": "Widget current height for desktop",
          "format": "int64",
          "type": "integer"
        },
        "height_mobile": {
          "description": "Widget current height for mobile",
          "format": "int64",
          "type": "integer"
        },
        "id": {
          "description": "The UUID of the widget, set by client",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the widget",
          "type": "string"
        },
        "options": {
          "additionalProperties": true,
          "description": "Widget options",
          "type": "object"
        },
        "type": {
          "description": "The type of the widget",
          "type": "string"
        },
        "variables": {
          "$ref": "#/components/schemas/ArduinoLinkedvariableCollection"
        },
        "width": {
          "description": "Widget current width for desktop",
          "format": "int64",
          "type": "integer"
        },
        "width_mobile": {
          "description": "Widget current width for mobile",
          "format": "int64",
          "type": "integer"
        },
        "x": {
          "description": "Widget x position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "x_mobile": {
          "description": "Widget x position for mobile",
          "format": "int64",
          "type": "integer"
        },
        "y": {
          "description": "Widget y position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "y_mobile": {
          "description": "Widget y position for mobile",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "type",
        "width",
        "height",
        "x",
        "y",
        "options"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.widgetv2+json; view=default",
      "type": "object"
    },
    "ArduinoWidgetv2Collection": {
      "description": "ArduinoWidgetv2Collection is the media type for an array of ArduinoWidgetv2 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoWidgetv2"
      },
      "title": "Mediatype identifier: application/vnd.arduino.widgetv2+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoWidgetv2template": {
      "description": "ArduinoWidgetv2template media type (default view)",
      "properties": {
        "height": {
          "description": "Widget current height for desktop",
          "format": "int64",
          "type": "integer"
        },
        "height_mobile": {
          "description": "Widget current height for mobile",
          "format": "int64",
          "type": "integer"
        },
        "name": {
          "description": "The name of the widget",
          "type": "string"
        },
        "options": {
          "additionalProperties": true,
          "description": "Widget options",
          "type": "object"
        },
        "type": {
          "description": "The type of the widget",
          "type": "string"
        },
        "variables": {
          "$ref": "#/components/schemas/ArduinoTemplatevariableCollection"
        },
        "width": {
          "description": "Widget current width for desktop",
          "format": "int64",
          "type": "integer"
        },
        "width_mobile": {
          "description": "Widget current width for mobile",
          "format": "int64",
          "type": "integer"
        },
        "x": {
          "description": "Widget x position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "x_mobile": {
          "description": "Widget x position for mobile",
          "format": "int64",
          "type": "integer"
        },
        "y": {
          "description": "Widget y position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "y_mobile": {
          "description": "Widget y position for mobile",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "type",
        "width",
        "height",
        "x",
        "y",
        "options"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.widgetv2template+json; view=default",
      "type": "object"
    },
    "ArduinoWidgetv2templateCollection": {
      "description": "ArduinoWidgetv2templateCollection is the media type for an array of ArduinoWidgetv2template (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoWidgetv2template"
      },
      "title": "Mediatype identifier: application/vnd.arduino.widgetv2template+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoWidgetv3": {
      "description": "ArduinoWidgetv3 media type (default view)",
      "properties": {
        "has_permission_incompatibility": {
          "description": "True if the linked variables permissions are incompatible with the widget",
          "type": "boolean"
        },
        "has_type_incompatibility": {
          "description": "True if the linked variables types are incompatible with the widget",
          "type": "boolean"
        },
        "has_unlinked_variable": {
          "description": "If it's true the widget is linked to a soft-deleted variable",
          "type": "boolean"
        },
        "height": {
          "description": "Widget current height for desktop",
          "format": "int64",
          "type": "integer"
        },
        "height_mobile": {
          "description": "Widget current height for mobile",
          "format": "int64",
          "type": "integer"
        },
        "id": {
          "description": "The UUID of the widget, set by client",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the widget",
          "type": "string"
        },
        "options": {
          "additionalProperties": true,
          "description": "Widget options",
          "type": "object"
        },
        "page_id": {
          "description": "The ID of the page the widget belongs to, \"0\" if it's in the main page",
          "type": "string"
        },
        "type": {
          "description": "The type of the widget",
          "type": "string"
        },
        "variables": {
          "$ref": "#/components/schemas/ArduinoLinkedvariableCollection"
        },
        "width": {
          "description": "Widget current width for desktop",
          "format": "int64",
          "type": "integer"
        },
        "width_mobile": {
          "description": "Widget current width for mobile",
          "format": "int64",
          "type": "integer"
        },
        "x": {
          "description": "Widget x position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "x_mobile": {
          "description": "Widget x position for mobile",
          "format": "int64",
          "type": "integer"
        },
        "y": {
          "description": "Widget y position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "y_mobile": {
          "description": "Widget y position for mobile",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "type",
        "width",
        "height",
        "x",
        "y",
        "options",
        "page_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.widgetv3+json; view=default",
      "type": "object"
    },
    "ArduinoWidgetv3Collection": {
      "description": "ArduinoWidgetv3Collection is the media type for an array of ArduinoWidgetv3 (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoWidgetv3"
      },
      "title": "Mediatype identifier: application/vnd.arduino.widgetv3+json; type=collection; view=default",
      "type": "array"
    },
    "ArduinoWidgetv3template": {
      "description": "ArduinoWidgetv3template media type (default view)",
      "properties": {
        "height": {
          "description": "Widget current height for desktop",
          "format": "int64",
          "type": "integer"
        },
        "height_mobile": {
          "description": "Widget current height for mobile",
          "format": "int64",
          "type": "integer"
        },
        "name": {
          "description": "The name of the widget",
          "type": "string"
        },
        "options": {
          "additionalProperties": true,
          "description": "Widget options",
          "type": "object"
        },
        "page_id": {
          "description": "The ID of the page the widget belongs to, \"0\" if it's in the main page",
          "type": "string"
        },
        "type": {
          "description": "The type of the widget",
          "type": "string"
        },
        "variables": {
          "$ref": "#/components/schemas/ArduinoTemplatevariableCollection"
        },
        "width": {
          "description": "Widget current width for desktop",
          "format": "int64",
          "type": "integer"
        },
        "width_mobile": {
          "description": "Widget current width for mobile",
          "format": "int64",
          "type": "integer"
        },
        "x": {
          "description": "Widget x position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "x_mobile": {
          "description": "Widget x position for mobile",
          "format": "int64",
          "type": "integer"
        },
        "y": {
          "description": "Widget y position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "y_mobile": {
          "description": "Widget y position for mobile",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "type",
        "width",
        "height",
        "x",
        "y",
        "options",
        "page_id"
      ],
      "title": "Mediatype identifier: application/vnd.arduino.widgetv3template+json; view=default",
      "type": "object"
    },
    "ArduinoWidgetv3templateCollection": {
      "description": "ArduinoWidgetv3templateCollection is the media type for an array of ArduinoWidgetv3template (default view)",
      "items": {
        "$ref": "#/components/schemas/ArduinoWidgetv3template"
      },
      "title": "Mediatype identifier: application/vnd.arduino.widgetv3template+json; type=collection; view=default",
      "type": "array"
    },
    "BatchLastValueRequestsMediaV1": {
      "properties": {
        "requests": {
          "description": "Requests",
          "items": {
            "$ref": "#/components/schemas/BatchQueryRawLastValueRequestMediaV1"
          },
          "type": "array"
        }
      },
      "required": [
        "requests"
      ],
      "title": "BatchLastValueRequestsMediaV1",
      "type": "object"
    },
    "BatchQueryRawLastValueRequestMediaV1": {
      "properties": {
        "property_id": {
          "description": "Property id",
          "format": "uuid",
          "type": "string"
        },
        "thing_id": {
          "description": "Thing id",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "thing_id",
        "property_id"
      ],
      "title": "BatchQueryRawLastValueRequestMediaV1",
      "type": "object"
    },
    "BatchQueryRawRequestMediaV1": {
      "properties": {
        "from": {
          "description": "From timestamp",
          "format": "date-time",
          "type": "string"
        },
        "q": {
          "description": "Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 or thing.95717675-4786-4ffc-afcc-799777755391)",
          "type": "string"
        },
        "series_limit": {
          "description": "Maximum number of values returned, if any (default/limit: 1000, 10000 in case of thing query)",
          "format": "int64",
          "type": "integer"
        },
        "sort": {
          "default": "DESC",
          "description": "Sorting",
          "enum": [
            "ASC",
            "DESC"
          ],
          "type": "string"
        },
        "to": {
          "description": "To timestamp",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "q"
      ],
      "title": "BatchQueryRawRequestMediaV1",
      "type": "object"
    },
    "BatchQueryRawRequestsMediaV1": {
      "properties": {
        "requests": {
          "description": "Requests",
          "items": {
            "$ref": "#/components/schemas/BatchQueryRawRequestMediaV1"
          },
          "type": "array"
        },
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "requests",
        "resp_version"
      ],
      "title": "BatchQueryRawRequestsMediaV1",
      "type": "object"
    },
    "BatchQueryRawResponseSeriesMediaV1": {
      "properties": {
        "metric": {
          "description": "Metric name",
          "type": "string"
        }
      },
      "required": [
        "metric"
      ],
      "title": "BatchQueryRawResponseSeriesMediaV1",
      "type": "object"
    },
    "BatchQueryRequestMediaV1": {
      "properties": {
        "aggregation": {
          "description": "Aggregation statistic function.\nFor numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile).\nFor boolean, BOOL_OR statistic is used as default.",
          "enum": [
            "AVG",
            "MIN",
            "MAX",
            "SUM",
            "COUNT",
            "PCT_99",
            "PCT_95",
            "PCT_90",
            "PCT_75",
            "PCT_50",
            "PCT_15",
            "PCT_5",
            "BOOL_OR",
            "BOOL_AND"
          ],
          "example": "AVG",
          "type": "string"
        },
        "from": {
          "description": "From timestamp",
          "format": "date-time",
          "type": "string"
        },
        "interval": {
          "description": "Resolution in seconds (max allowed: 86400)",
          "format": "int64",
          "type": "integer"
        },
        "q": {
          "description": "Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 or thing.95717675-4786-4ffc-afcc-799777755391)",
          "type": "string"
        },
        "series_limit": {
          "description": "Maximum number of values returned after data aggregation, if any (default: 300, limit: 1000 - 10000 in case of thing query)",
          "format": "int64",
          "type": "integer"
        },
        "to": {
          "description": "To timestamp",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "q",
        "from",
        "to"
      ],
      "title": "BatchQueryRequestMediaV1",
      "type": "object"
    },
    "BatchQueryRequestsMediaV1": {
      "properties": {
        "requests": {
          "description": "Requests",
          "items": {
            "$ref": "#/components/schemas/BatchQueryRequestMediaV1"
          },
          "type": "array"
        },
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "requests",
        "resp_version"
      ],
      "title": "BatchQueryRequestsMediaV1",
      "type": "object"
    },
    "BatchQuerySampledRequestMediaV1": {
      "properties": {
        "from": {
          "description": "From timestamp (default: now UTC - 24h)",
          "format": "date-time",
          "type": "string"
        },
        "interval": {
          "default": 300,
          "description": "Resolution in seconds (allowed min:60, max:86400)",
          "maximum": 86400,
          "minimum": 60,
          "type": "integer"
        },
        "q": {
          "description": "Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5)",
          "type": "string"
        },
        "series_limit": {
          "description": "Maximum number of values returned after data aggregation, if any (default: 300, limit: 1000)",
          "format": "int64",
          "type": "integer"
        },
        "to": {
          "description": "To timestamp (default: now UTC)",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "q"
      ],
      "title": "BatchQuerySampledRequestMediaV1",
      "type": "object"
    },
    "BatchQuerySampledRequestsMediaV1": {
      "properties": {
        "requests": {
          "description": "Requests",
          "items": {
            "$ref": "#/components/schemas/BatchQuerySampledRequestMediaV1"
          },
          "type": "array"
        },
        "resp_version": {
          "description": "Response version",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "requests",
        "resp_version"
      ],
      "title": "BatchQuerySampledRequestsMediaV1",
      "type": "object"
    },
    "CheckDevicesV2CertsPayload": {
      "description": "A PEM certificate",
      "properties": {
        "pem": {
          "description": "The certificate in pem format",
          "example": "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n\t\t\t3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n\t\t\t7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\n\t\t\tj+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\n\t\t\tOrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n\t\t\t5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\n\t\t\tFQIDAQAB\n\t\t\t-----END CERTIFICATE-----",
          "maxLength": 512,
          "type": "string"
        }
      },
      "required": [
        "pem"
      ],
      "title": "CheckDevicesV2CertsPayload",
      "type": "object"
    },
    "CheckDevicesV2PassPayload": {
      "properties": {
        "password": {
          "description": "The password for the device",
          "type": "string"
        }
      },
      "required": [
        "password"
      ],
      "title": "CheckDevicesV2PassPayload",
      "type": "object"
    },
    "ClaimLoraGwV1Payload": {
      "properties": {
        "user_id": {
          "description": "The user id. Could be a uuid, or the string 'me'",
          "type": "string"
        }
      },
      "required": [
        "user_id"
      ],
      "title": "ClaimLoraGwV1Payload",
      "type": "object"
    },
    "CreateClaimedDevicesV2Payload": {
      "description": "DeviceV2 describes a device.",
      "properties": {
        "ID": {
          "description": "The id of the device",
          "format": "uuid",
          "type": "string"
        },
        "ble_mac": {
          "maxLength": 17,
          "minLength": 17,
          "pattern": "^(?:[0-9A-Fa-f]{2}[:]){5}(?:[0-9A-Fa-f]{2})",
          "type": "string"
        },
        "connection_type": {
          "description": "The type of the connections selected by the user when multiple connections are available",
          "enum": [
            "wifi",
            "eth",
            "wifiandsecret",
            "gsm",
            "nb",
            "lora",
            "catm1",
            "cellular"
          ],
          "type": "string"
        },
        "fqbn": {
          "description": "The fully qualified board name",
          "type": "string"
        },
        "locked": {
          "description": "True if the device is locked and can't be claimed by another user",
          "type": "boolean"
        },
        "name": {
          "description": "The friendly name of the device",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "serial": {
          "description": "The serial uuid of the device",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "type": {
          "description": "The type of the device",
          "enum": [
            "mkrwifi1010",
            "mkr1000",
            "nano_33_iot",
            "mkrgsm1400",
            "mkrnb1500",
            "login_and_secretkey_wifi",
            "envie_m7",
            "nanorp2040connect",
            "nicla_vision",
            "phone",
            "portenta_x8",
            "opta",
            "giga",
            "generic_device_secretkey",
            "portenta_c33",
            "unor4wifi",
            "nano_nora",
            "unoq"
          ],
          "type": "string"
        },
        "unique_hardware_id": {
          "description": "The unique hardware id of the device",
          "maxLength": 64,
          "minLength": 64,
          "type": "string"
        },
        "user_id": {
          "description": "The user_id associated to the device. If absent it will be inferred from the authentication header",
          "format": "uuid",
          "type": "string"
        },
        "wifi_fw_version": {
          "description": "The version of the NINA/WIFI101 firmware running on the device",
          "maxLength": 10,
          "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
          "type": "string"
        }
      },
      "required": [
        "user_id",
        "unique_hardware_id",
        "type"
      ],
      "title": "CreateClaimedDevicesV2Payload",
      "type": "object"
    },
    "CreateDevicesV2CertsPayload": {
      "properties": {
        "ca": {
          "description": "The Certification Authority you want to use",
          "type": "string"
        },
        "csr": {
          "description": "The certificate request in pem format",
          "example": "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl\n\t\t\tMQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL\n\t\t\tEwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA\n\t\t\tZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I\n\t\t\t+v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP\n\t\t\tupd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w\n\t\t\tbGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8\n\t\t\toiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ=\n\t\t\t-----END CERTIFICATE-----\n\t\t\t",
          "maxLength": 1024,
          "type": "string"
        },
        "enabled": {
          "description": "Whether the certificate is enabled",
          "type": "boolean"
        }
      },
      "required": [
        "enabled",
        "csr"
      ],
      "title": "CreateDevicesV2CertsPayload",
      "type": "object"
    },
    "CreateDevicesV2Payload": {
      "description": "DeviceV2 describes a device.",
      "properties": {
        "ble_mac": {
          "maxLength": 17,
          "minLength": 17,
          "pattern": "^(?:[0-9A-Fa-f]{2}[:]){5}(?:[0-9A-Fa-f]{2})",
          "type": "string"
        },
        "connection_type": {
          "description": "The type of the connections selected by the user when multiple connections are available",
          "enum": [
            "wifi",
            "eth",
            "wifiandsecret",
            "gsm",
            "nb",
            "lora",
            "catm1",
            "cellular"
          ],
          "type": "string"
        },
        "fqbn": {
          "description": "The fully qualified board name",
          "type": "string"
        },
        "locked": {
          "description": "True if the device is locked and can't be claimed by another user",
          "type": "boolean"
        },
        "name": {
          "description": "The friendly name of the device",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "serial": {
          "description": "The serial uuid of the device",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "soft_deleted": {
          "default": false,
          "description": "If false, restore the thing from the soft deletion",
          "type": "boolean"
        },
        "type": {
          "description": "The type of the device",
          "enum": [
            "mkrwifi1010",
            "mkr1000",
            "nano_33_iot",
            "mkrgsm1400",
            "mkrnb1500",
            "login_and_secretkey_wifi",
            "envie_m7",
            "nanorp2040connect",
            "nicla_vision",
            "phone",
            "portenta_x8",
            "opta",
            "giga",
            "generic_device_secretkey",
            "portenta_c33",
            "unor4wifi",
            "nano_nora",
            "unoq"
          ],
          "type": "string"
        },
        "unique_hardware_id": {
          "maxLength": 64,
          "minLength": 64,
          "type": "string"
        },
        "user_id": {
          "description": "The user_id associated to the device. If absent it will be inferred from the authentication header",
          "format": "uuid",
          "type": "string"
        },
        "wifi_fw_version": {
          "description": "The version of the NINA/WIFI101 firmware running on the device",
          "maxLength": 10,
          "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "title": "CreateDevicesV2Payload",
      "type": "object"
    },
    "CreateDevicesV2PubkeysPayload": {
      "properties": {
        "enabled": {
          "description": "Whether the public key is enabled",
          "type": "boolean"
        },
        "expire": {
          "description": "When the public key will expire",
          "format": "date-time",
          "type": "string"
        },
        "pem": {
          "description": "The public key in pem format",
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "expire",
        "pem"
      ],
      "title": "CreateDevicesV2PubkeysPayload",
      "type": "object"
    },
    "CreateLoraAppV1Payload": {
      "properties": {
        "app_eui": {
          "default": "",
          "description": "The eui of the app",
          "type": "string"
        },
        "name": {
          "description": "The name of the app",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "CreateLoraAppV1Payload",
      "type": "object"
    },
    "CreateLoraDevicesV1Payload": {
      "properties": {
        "app": {
          "description": "The app name",
          "type": "string"
        },
        "app_eui": {
          "description": "The app eui of the lora device",
          "pattern": "[0-9a-z]{16}",
          "type": "string"
        },
        "app_key": {
          "description": "The app key of the lora device",
          "pattern": "[0-9a-z]{16}",
          "type": "string"
        },
        "eui": {
          "description": "The eui of the lora device",
          "pattern": "[0-9a-z]{16}",
          "type": "string"
        },
        "frequency_plan": {
          "description": "The frequency plan required by your country ",
          "enum": [
            "EU_863_870_TTN",
            "US_902_928_FSB_2",
            "EU_433",
            "AU_915_928_FSB_2",
            "CN_470_510_FSB_11",
            "AS_920_923",
            "AS_920_923_TTN_AU",
            "AS_923_925",
            "AS_923_925_TTN_AU",
            "KR_920_923_TTN",
            "IN_865_867"
          ],
          "type": "string"
        },
        "name": {
          "description": "A common name for the device",
          "type": "string"
        },
        "serial": {
          "description": "The optional serial number",
          "type": "string"
        },
        "type": {
          "description": "The type of device",
          "enum": [
            "lora-device",
            "mkrwan1300",
            "mkrwan1310"
          ],
          "type": "string"
        },
        "user_id": {
          "description": "The id of the user. Can be the special string 'me'",
          "type": "string"
        }
      },
      "required": [
        "name",
        "eui",
        "frequency_plan",
        "user_id",
        "app",
        "type"
      ],
      "title": "CreateLoraDevicesV1Payload",
      "type": "object"
    },
    "CreateLoraGwV1Payload": {
      "properties": {
        "id": {
          "description": "The id of the lora gateway. It's calculated from the mac using magic",
          "example": "71619230301",
          "type": "string"
        },
        "mac": {
          "description": "The mac/serial_number/device_code of the lora gateway. It is printed on the box, and used to connect to tts.",
          "type": "string"
        },
        "pub": {
          "description": "The public key of the lora gateway",
          "example": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\nj+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\nOrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\nFQIDAQAB\n-----END PUBLIC KEY-----",
          "type": "string"
        }
      },
      "required": [
        "id",
        "pub",
        "mac"
      ],
      "title": "CreateLoraGwV1Payload",
      "type": "object"
    },
    "DeleteLoraAppV1Payload": {
      "properties": {
        "app_eui": {
          "default": "",
          "description": "The eui of the app",
          "type": "string"
        },
        "name": {
          "description": "The name of the app",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "DeleteLoraAppV1Payload",
      "type": "object"
    },
    "Device_status_source_with_linked_devices": {
      "description": "Device_status_source_with_linked_devices media type (default view)",
      "properties": {
        "criteria": {
          "description": "The criteria of the trigger, could be INCLUDE or EXCLUDE",
          "type": "string"
        },
        "grace_period_offline": {
          "description": "The amount of seconds the trigger will wait before considering a matching device as offline",
          "maximum": 1209600,
          "minimum": 0,
          "type": "integer"
        },
        "grace_period_online": {
          "description": "The amount of seconds the trigger will wait before considering a matching device as online",
          "maximum": 1209600,
          "minimum": 0,
          "type": "integer"
        },
        "linked_devices": {
          "description": "A list of devices the trigger is associated to",
          "items": {
            "$ref": "#/components/schemas/ArduinoLinked_device"
          },
          "type": "array"
        }
      },
      "required": [
        "criteria"
      ],
      "title": "Mediatype identifier: application/vnd.device_status_source_with_linked_devices+json; view=default",
      "type": "object"
    },
    "HistoricDataRequest": {
      "properties": {
        "from": {
          "description": "Get data starting from this date",
          "format": "date-time",
          "type": "string"
        },
        "properties": {
          "description": "IDs of properties",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "to": {
          "description": "Get data up to this date",
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "properties",
        "from",
        "to"
      ],
      "title": "HistoricDataRequest",
      "type": "object"
    },
    "ImageDevicesV2Payload": {
      "items": {
        "$ref": "#/components/schemas/configv2"
      },
      "title": "ImageDevicesV2Payload",
      "type": "array"
    },
    "OrgUsageRecord": {
      "description": "One (org, thing, device, date) message counter delta",
      "properties": {
        "count": {
          "description": "Delta number of messages for this (org, thing, device) on this date",
          "minimum": 0,
          "type": "integer"
        },
        "date": {
          "description": "Calendar day these counters refer to (UTC; truncated to day on persist)",
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "description": "Device ID attached to the thing",
          "format": "uuid",
          "type": "string"
        },
        "org_id": {
          "description": "Owning organization",
          "format": "uuid",
          "type": "string"
        },
        "thing_id": {
          "description": "Thing ID",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "org_id",
        "thing_id",
        "device_id",
        "date",
        "count"
      ],
      "title": "OrgUsageRecord",
      "type": "object"
    },
    "PublishBatchPropertiesV2Payload": {
      "items": {
        "$ref": "#/components/schemas/propertyTimedValue"
      },
      "title": "PublishBatchPropertiesV2Payload",
      "type": "array"
    },
    "SetDevicesV2MetadataPayload": {
      "additionalProperties": true,
      "title": "SetDevicesV2MetadataPayload",
      "type": "object"
    },
    "ThingClone": {
      "description": "Payload to clone a new thing from an existing one",
      "properties": {
        "include_tags": {
          "description": "Include tags in clone procedure",
          "type": "boolean"
        },
        "name": {
          "description": "The friendly name of the thing",
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_. -]+$",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "ThingClone",
      "type": "object"
    },
    "ThingCreate": {
      "description": "Payload to create a new thing",
      "properties": {
        "assistant": {
          "description": "The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE",
          "enum": [
            "ALEXA",
            "GOOGLE",
            "NONE"
          ],
          "type": "string"
        },
        "device_id": {
          "description": "The arn of the associated device",
          "format": "uuid",
          "type": "string"
        },
        "id": {
          "description": "The id of the thing",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the thing",
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_. -]+$",
          "type": "string"
        },
        "properties": {
          "description": "The properties of the thing",
          "items": {
            "$ref": "#/components/schemas/property"
          },
          "type": "array"
        },
        "tags": {
          "description": "Optional set of tags",
          "items": {
            "$ref": "#/components/schemas/tag"
          },
          "type": "array"
        },
        "timezone": {
          "default": "America/New_York",
          "description": "A time zone name\nCheck /v2/timezones for a list of valid names.",
          "type": "string"
        },
        "webhook_active": {
          "description": "Webhook uri",
          "type": "boolean"
        },
        "webhook_uri": {
          "description": "Webhook uri",
          "type": "string"
        }
      },
      "title": "ThingCreate",
      "type": "object"
    },
    "TimeseriesDataPoint": {
      "properties": {
        "time": {
          "description": "Binning timestamp",
          "format": "date-time",
          "type": "string"
        },
        "value": {
          "description": "Avg value on the binning interval",
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "time",
        "value"
      ],
      "title": "TimeseriesDataPoint",
      "type": "object"
    },
    "UpdateLoraAppV1Payload": {
      "properties": {
        "app_eui": {
          "default": "",
          "description": "The eui of the app",
          "type": "string"
        },
        "name": {
          "description": "The name of the app",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "UpdateLoraAppV1Payload",
      "type": "object"
    },
    "UpdateLoraAppsV1Payload": {
      "properties": {
        "apps": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "title": "UpdateLoraAppsV1Payload",
      "type": "object"
    },
    "UsageBatchPayload": {
      "description": "Batch of message-consumption counters to upsert",
      "properties": {
        "orgs_usage": {
          "description": "Per-organization counters. Composite key (org_id, thing_id, device_id, date) must be unique within this array.",
          "items": {
            "$ref": "#/components/schemas/OrgUsageRecord"
          },
          "maxItems": 10000,
          "type": "array"
        },
        "users_usage": {
          "description": "Per-user counters. Composite key (user_id, thing_id, device_id, date) must be unique within this array.",
          "items": {
            "$ref": "#/components/schemas/UserUsageRecord"
          },
          "maxItems": 10000,
          "type": "array"
        }
      },
      "title": "UsageBatchPayload",
      "type": "object"
    },
    "UsageDailyPoint": {
      "properties": {
        "count": {
          "description": "Number of messages sent on that day",
          "format": "int64",
          "type": "integer"
        },
        "date": {
          "description": "Calendar day in ISO-8601 (YYYY-MM-DD, UTC)",
          "example": "2026-04-24",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        }
      },
      "required": [
        "date",
        "count"
      ],
      "title": "UsageDailyPoint",
      "type": "object"
    },
    "UsageMonthlyPoint": {
      "properties": {
        "count": {
          "description": "Number of messages sent during that month",
          "format": "int64",
          "type": "integer"
        },
        "month": {
          "description": "Calendar month in ISO-8601 (YYYY-MM, UTC)",
          "example": "2026-04",
          "pattern": "^\\d{4}-\\d{2}$",
          "type": "string"
        }
      },
      "required": [
        "month",
        "count"
      ],
      "title": "UsageMonthlyPoint",
      "type": "object"
    },
    "UsageThingDailySeries": {
      "description": "Daily series of one thing",
      "properties": {
        "series": {
          "description": "One entry per calendar day with a non-zero count (UTC, ascending)",
          "items": {
            "$ref": "#/components/schemas/UsageDailyPoint"
          },
          "type": "array"
        },
        "thing_id": {
          "description": "Thing ID",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "thing_id",
        "series"
      ],
      "title": "UsageThingDailySeries",
      "type": "object"
    },
    "UsageThingMonthlySeries": {
      "description": "Monthly series of one thing",
      "properties": {
        "series": {
          "description": "One entry per calendar month with a non-zero count (UTC, ascending)",
          "items": {
            "$ref": "#/components/schemas/UsageMonthlyPoint"
          },
          "type": "array"
        },
        "thing_id": {
          "description": "Thing ID",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "thing_id",
        "series"
      ],
      "title": "UsageThingMonthlySeries",
      "type": "object"
    },
    "UserUsageRecord": {
      "description": "One (user, thing, device, date) message counter delta",
      "properties": {
        "count": {
          "description": "Delta number of messages for this (user, thing, device) on this date",
          "minimum": 0,
          "type": "integer"
        },
        "date": {
          "description": "Calendar day these counters refer to (UTC; truncated to day on persist)",
          "format": "date-time",
          "type": "string"
        },
        "device_id": {
          "description": "Device ID attached to the thing",
          "format": "uuid",
          "type": "string"
        },
        "thing_id": {
          "description": "Thing ID",
          "format": "uuid",
          "type": "string"
        },
        "user_id": {
          "description": "Owning user",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "user_id",
        "thing_id",
        "device_id",
        "date",
        "count"
      ],
      "title": "UserUsageRecord",
      "type": "object"
    },
    "body_expression": {
      "properties": {
        "expression": {
          "description": "Content of the body of a message, variables are allowed",
          "maxLength": 1000,
          "type": "string"
        },
        "variables": {
          "description": "Variables used by the expression",
          "items": {
            "$ref": "#/components/schemas/variable"
          },
          "type": "array"
        }
      },
      "required": [
        "expression"
      ],
      "title": "body_expression",
      "type": "object"
    },
    "client": {
      "description": "ClientPayload describes an oauth client",
      "properties": {
        "name": {
          "description": "The name of the client",
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_.@-]+$",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "client",
      "type": "object"
    },
    "clone": {
      "properties": {
        "overrides": {
          "description": "The overrides to apply to the cloned dashboard. An override is a tuple of ids: the id of the thing to override and the id of the new thing to link",
          "items": {
            "$ref": "#/components/schemas/override"
          },
          "type": "array"
        }
      },
      "title": "clone",
      "type": "object"
    },
    "configv2": {
      "description": "ConfigPayload describe a tuple name:value",
      "properties": {
        "name": {
          "description": "The name of the configuration",
          "type": "string"
        },
        "value": {
          "description": "The name of the configuration",
          "type": "string"
        }
      },
      "title": "configv2",
      "type": "object"
    },
    "create-action": {
      "properties": {
        "description": {
          "description": "The description of the trigger",
          "type": "string"
        },
        "email": {
          "$ref": "#/components/schemas/email_action"
        },
        "kind": {
          "description": "The kind of the action",
          "enum": [
            "NOTIFY-EMAIL",
            "NOTIFY-PUSH"
          ],
          "example": "NOTIFY-EMAIL",
          "type": "string"
        },
        "name": {
          "description": "The name of the action",
          "type": "string"
        },
        "organization_id": {
          "description": "Id of the organization the trigger belongs to",
          "format": "uuid",
          "type": "string"
        },
        "push_notification": {
          "$ref": "#/components/schemas/push_action"
        },
        "trigger_id": {
          "description": "Id of the trigger the action is associated to",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "name"
      ],
      "title": "create-action",
      "type": "object"
    },
    "dashboardshare": {
      "properties": {
        "user_id": {
          "description": "The userID of the user you want to share the dashboard with",
          "format": "uuid",
          "type": "string"
        },
        "username": {
          "description": "The username of the user you want to share the dashboard with",
          "type": "string"
        },
        "users": {
          "description": "The list of users you want to share the dashboard with",
          "items": {
            "$ref": "#/components/schemas/usershare"
          },
          "type": "array"
        }
      },
      "title": "dashboardshare",
      "type": "object"
    },
    "dashboardv2": {
      "description": "DashboardV2Payload describes a dashboard",
      "properties": {
        "cover_image": {
          "description": "The cover image of the dashboard",
          "maxLength": 1024,
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the dashboard",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "soft_deleted": {
          "default": false,
          "description": "If false, restore the thing from the soft deletion",
          "type": "boolean"
        },
        "widgets": {
          "description": "Widgets attached to this dashboard",
          "items": {
            "$ref": "#/components/schemas/widget"
          },
          "type": "array"
        }
      },
      "title": "dashboardv2",
      "type": "object"
    },
    "dashboardv3": {
      "description": "DashboardV3Payload describes a dashboard",
      "properties": {
        "cover_image": {
          "description": "The cover image of the dashboard",
          "maxLength": 1024,
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the dashboard",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "pages": {
          "description": "List of sub-pages",
          "items": {
            "$ref": "#/components/schemas/pagepayload"
          },
          "maxItems": 30,
          "type": "array"
        },
        "soft_deleted": {
          "default": false,
          "description": "If false, restore the thing from the soft deletion",
          "type": "boolean"
        },
        "widgets": {
          "description": "Widgets attached to this dashboard",
          "items": {
            "$ref": "#/components/schemas/widgetv3"
          },
          "type": "array"
        }
      },
      "title": "dashboardv3",
      "type": "object"
    },
    "device_status_source": {
      "properties": {
        "criteria": {
          "description": "The matching criteria of the trigger, this allows to interpret device_ids as an inclusion or exclusion list",
          "enum": [
            "INCLUDE",
            "EXCLUDE"
          ],
          "type": "string"
        },
        "device_ids": {
          "description": "A list of device IDs to be included in or excluded from the trigger (see criteria). Mutually exclusive with property_id.",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        "grace_period_offline": {
          "description": "Amount of seconds the trigger will wait before the device will be considered disconnected (requires 'device_id')",
          "maximum": 1209600,
          "minimum": 0,
          "type": "integer"
        },
        "grace_period_online": {
          "description": "Amount of seconds the trigger will wait before the device will be considered connected (requires 'device_id')",
          "maximum": 1209600,
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "criteria"
      ],
      "title": "device_status_source",
      "type": "object"
    },
    "devicev2": {
      "description": "DeviceV2 describes a device.",
      "properties": {
        "ble_mac": {
          "maxLength": 17,
          "minLength": 17,
          "pattern": "^(?:[0-9A-Fa-f]{2}[:]){5}(?:[0-9A-Fa-f]{2})",
          "type": "string"
        },
        "connection_type": {
          "description": "The type of the connections selected by the user when multiple connections are available",
          "enum": [
            "wifi",
            "eth",
            "wifiandsecret",
            "gsm",
            "nb",
            "lora",
            "catm1",
            "cellular"
          ],
          "type": "string"
        },
        "fqbn": {
          "description": "The fully qualified board name",
          "type": "string"
        },
        "locked": {
          "description": "True if the device is locked and can't be claimed by another user",
          "type": "boolean"
        },
        "name": {
          "description": "The friendly name of the device",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "serial": {
          "description": "The serial uuid of the device",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "soft_deleted": {
          "default": false,
          "description": "If false, restore the thing from the soft deletion",
          "type": "boolean"
        },
        "type": {
          "description": "The type of the device",
          "enum": [
            "mkrwifi1010",
            "mkr1000",
            "nano_33_iot",
            "mkrgsm1400",
            "mkrnb1500",
            "login_and_secretkey_wifi",
            "envie_m7",
            "nanorp2040connect",
            "nicla_vision",
            "phone",
            "portenta_x8",
            "opta",
            "giga",
            "generic_device_secretkey",
            "portenta_c33",
            "unor4wifi",
            "nano_nora",
            "unoq"
          ],
          "type": "string"
        },
        "unique_hardware_id": {
          "maxLength": 64,
          "minLength": 64,
          "type": "string"
        },
        "user_id": {
          "description": "The user_id associated to the device. If absent it will be inferred from the authentication header",
          "format": "uuid",
          "type": "string"
        },
        "wifi_fw_version": {
          "description": "The version of the NINA/WIFI101 firmware running on the device",
          "maxLength": 10,
          "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
          "type": "string"
        }
      },
      "title": "devicev2",
      "type": "object"
    },
    "devicev2.cert": {
      "properties": {
        "ca": {
          "description": "The Certification Authority you want to use",
          "type": "string"
        },
        "csr": {
          "description": "The certificate request in pem format",
          "example": "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl\n\t\t\tMQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL\n\t\t\tEwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA\n\t\t\tZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I\n\t\t\t+v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP\n\t\t\tupd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w\n\t\t\tbGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8\n\t\t\toiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ=\n\t\t\t-----END CERTIFICATE-----\n\t\t\t",
          "maxLength": 1024,
          "type": "string"
        },
        "enabled": {
          "description": "Whether the certificate is enabled",
          "type": "boolean"
        }
      },
      "title": "devicev2.cert",
      "type": "object"
    },
    "devicev2.otabinaryurl": {
      "properties": {
        "async": {
          "default": true,
          "description": "If false, wait for the full OTA process, until it gets a result from the device",
          "type": "boolean"
        },
        "binary_key": {
          "description": "The object key of the binary",
          "pattern": "^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$",
          "type": "string"
        },
        "expire_in_mins": {
          "default": 10,
          "description": "Binary expire time in minutes, default 10 mins",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "binary_key"
      ],
      "title": "devicev2.otabinaryurl",
      "type": "object"
    },
    "devicev2.otaurlpyalod": {
      "properties": {
        "binary_key": {
          "description": "The object key of the binary",
          "pattern": "^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$",
          "type": "string"
        },
        "sha256": {
          "description": "The sha256 of the binary",
          "pattern": "^[a-fA-F0-9]{64}$",
          "type": "string"
        },
        "user_id": {
          "description": "The id of the user who is requesting the url",
          "format": "uuid",
          "type": "string"
        }
      },
      "title": "devicev2.otaurlpyalod",
      "type": "object"
    },
    "devicev2.pass": {
      "properties": {
        "password": {
          "description": "The password for the device",
          "type": "string"
        }
      },
      "title": "devicev2.pass",
      "type": "object"
    },
    "devicev2.pubkey": {
      "properties": {
        "enabled": {
          "description": "Whether the public key is enabled",
          "type": "boolean"
        },
        "expire": {
          "description": "When the public key will expire",
          "format": "date-time",
          "type": "string"
        },
        "pem": {
          "description": "The public key in pem format",
          "type": "string"
        }
      },
      "title": "devicev2.pubkey",
      "type": "object"
    },
    "devicev2.webhook": {
      "properties": {
        "active": {
          "default": true,
          "description": "Whether the webhook is active",
          "type": "boolean"
        },
        "uri": {
          "description": "The uri of the webhook",
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "uri"
      ],
      "title": "devicev2.webhook",
      "type": "object"
    },
    "email_action": {
      "properties": {
        "body": {
          "$ref": "#/components/schemas/body_expression"
        },
        "delivery": {
          "$ref": "#/components/schemas/email_delivery_opts"
        },
        "subject": {
          "$ref": "#/components/schemas/title_expression"
        }
      },
      "required": [
        "delivery",
        "subject",
        "body"
      ],
      "title": "email_action",
      "type": "object"
    },
    "email_delivery_opts": {
      "properties": {
        "bcc": {
          "description": "The \"bcc:\" field of an e-mail",
          "items": {
            "$ref": "#/components/schemas/user_recipient"
          },
          "type": "array"
        },
        "cc": {
          "description": "The \"cc:\" field of an e-mail",
          "items": {
            "$ref": "#/components/schemas/user_recipient"
          },
          "type": "array"
        },
        "to": {
          "description": "The \"to:\" field of an e-mail",
          "items": {
            "$ref": "#/components/schemas/user_recipient"
          },
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "to"
      ],
      "title": "email_delivery_opts",
      "type": "object"
    },
    "enableclient": {
      "properties": {
        "enabled": {
          "description": "Enable or disable a client",
          "type": "boolean"
        }
      },
      "required": [
        "enabled"
      ],
      "title": "enableclient",
      "type": "object"
    },
    "error": {
      "description": "Error response media type (default view)",
      "properties": {
        "code": {
          "description": "an application-specific error code, expressed as a string value.",
          "example": "invalid_value",
          "type": "string"
        },
        "detail": {
          "description": "a human-readable explanation specific to this occurrence of the problem.",
          "example": "Value of ID must be an integer",
          "type": "string"
        },
        "id": {
          "description": "a unique identifier for this particular occurrence of the problem.",
          "example": "3F1FKVRR",
          "type": "string"
        },
        "meta": {
          "additionalProperties": true,
          "description": "a meta object containing non-standard meta-information about the error.",
          "example": {
            "timestamp": 1458609066
          },
          "type": "object"
        },
        "status": {
          "description": "the HTTP status code applicable to this problem, expressed as a string value.",
          "example": "400",
          "type": "string"
        }
      },
      "title": "Mediatype identifier: application/vnd.goa.error+json; view=default",
      "type": "object"
    },
    "override": {
      "properties": {
        "new_thing_id": {
          "description": "The id of the new thing to link",
          "format": "uuid",
          "type": "string"
        },
        "old_thing_id": {
          "description": "The id of the thing to override",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "old_thing_id",
        "new_thing_id"
      ],
      "title": "override",
      "type": "object"
    },
    "pagepayload": {
      "description": "Page describes a dashboard page",
      "properties": {
        "icon": {
          "description": "The icon of the Page",
          "maxLength": 1024,
          "type": "string"
        },
        "id": {
          "description": "The id of the Page",
          "example": "1d4decea-63eb-4ecd-b5fb-bb21f120d3d9",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the Page",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "position": {
          "description": "The position of the Page",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "name",
        "position"
      ],
      "title": "pagepayload",
      "type": "object"
    },
    "propertiesValue": {
      "properties": {
        "name": {
          "description": "The name of the property",
          "type": "string"
        },
        "type": {
          "default": "infer",
          "description": "The type of the property",
          "enum": [
            "infer",
            "base64",
            "hex",
            "json"
          ],
          "type": "string"
        },
        "value": {
          "description": "The last value of the property"
        }
      },
      "required": [
        "name",
        "value",
        "type"
      ],
      "title": "propertiesValue",
      "type": "object"
    },
    "propertiesValues": {
      "properties": {
        "input": {
          "default": false,
          "description": "If true, send property values to device's input topic.",
          "type": "boolean"
        },
        "properties": {
          "items": {
            "$ref": "#/components/schemas/propertiesValue"
          },
          "type": "array"
        }
      },
      "required": [
        "properties"
      ],
      "title": "propertiesValues",
      "type": "object"
    },
    "property": {
      "description": "PropertyPayload describes a property of a thing. No field is mandatory",
      "properties": {
        "max_value": {
          "description": "Maximum value of this property",
          "format": "double",
          "type": "number"
        },
        "min_value": {
          "description": "Minimum value of this property",
          "format": "double",
          "type": "number"
        },
        "name": {
          "description": "The friendly name of the property",
          "type": "string"
        },
        "permission": {
          "description": "The permission of the property",
          "enum": [
            "READ_ONLY",
            "READ_WRITE"
          ],
          "type": "string"
        },
        "persist": {
          "default": true,
          "description": "If true, data will persist into a timeseries database",
          "type": "boolean"
        },
        "tag": {
          "description": "The integer id of the property",
          "format": "int64",
          "type": "integer"
        },
        "type": {
          "description": "The type of the property",
          "enum": [
            "ANALOG",
            "CHARSTRING",
            "FLOAT",
            "INT",
            "LENGHT_C",
            "LENGHT_I",
            "LENGHT_M",
            "PERCENTAGE",
            "STATUS",
            "TEMPERATURE_C",
            "TEMPERATURE_F",
            "METER",
            "KILOGRAM",
            "GRAM",
            "SECOND",
            "AMPERE",
            "KELVIN",
            "CANDELA",
            "MOLE",
            "HERTZ",
            "RADIAN",
            "STERADIAN",
            "NEWTON",
            "PASCAL",
            "JOULE",
            "WATT",
            "COULOMB",
            "VOLT",
            "FARAD",
            "OHM",
            "SIEMENS",
            "WEBER",
            "TESLA",
            "HENRY",
            "DEGREES_CELSIUS",
            "LUMEN",
            "LUX",
            "BECQUEREL",
            "GRAY",
            "SIEVERT",
            "KATAL",
            "SQUARE_METER",
            "CUBIC_METER",
            "LITER",
            "METER_PER_SECOND",
            "METER_PER_SQUARE_SECOND",
            "CUBIC_METER_PER_SECOND",
            "LITER_PER_SECOND",
            "WATT_PER_SQUARE_METER",
            "CANDELA_PER_SQUARE_METER",
            "BIT",
            "BIT_PER_SECOND",
            "DEGREES_LATITUDE",
            "DEGREES_LONGITUDE",
            "PH_VALUE",
            "DECIBEL",
            "DECIBEL_1W",
            "BEL",
            "COUNT",
            "RATIO_DIV",
            "RATIO_MOD",
            "PERCENTAGE_RELATIVE_HUMIDITY",
            "PERCENTAGE_BATTERY_LEVEL",
            "SECONDS_BATTERY_LEVEL",
            "EVENT_RATE_SECOND",
            "EVENT_RATE_MINUTE",
            "HEART_RATE",
            "HEART_BEATS",
            "SIEMENS_PER_METER",
            "LOCATION",
            "COLOR_HSB",
            "COLOR_RGB",
            "GENERIC_COMPLEX_PROPERTY",
            "HOME_COLORED_LIGHT",
            "HOME_DIMMED_LIGHT",
            "HOME_LIGHT",
            "HOME_CONTACT_SENSOR",
            "HOME_MOTION_SENSOR",
            "HOME_SMART_PLUG",
            "HOME_TEMPERATURE",
            "HOME_TEMPERATURE_C",
            "HOME_TEMPERATURE_F",
            "HOME_SWITCH",
            "HOME_TELEVISION",
            "GOOGLE_HOME_COLORED_LIGHT",
            "GOOGLE_HOME_DIMMED_LIGHT",
            "GOOGLE_HOME_LIGHT",
            "GOOGLE_HOME_CONTACT_SENSOR",
            "GOOGLE_HOME_MOTION_SENSOR",
            "GOOGLE_HOME_SMART_PLUG",
            "GOOGLE_HOME_TEMPERATURE",
            "GOOGLE_HOME_TEMPERATURE_C",
            "GOOGLE_HOME_TEMPERATURE_F",
            "GOOGLE_HOME_SWITCH",
            "SMART_HOME_COLORED_LIGHT",
            "SMART_HOME_DIMMED_LIGHT",
            "SMART_HOME_LIGHT",
            "SMART_HOME_CONTACT_SENSOR",
            "SMART_HOME_MOTION_SENSOR",
            "SMART_HOME_SMART_PLUG",
            "SMART_HOME_TEMPERATURE",
            "SMART_HOME_TEMPERATURE_C",
            "SMART_HOME_TEMPERATURE_F",
            "SMART_HOME_SWITCH",
            "SMART_HOME_TELEVISION",
            "ENERGY",
            "FORCE",
            "TEMPERATURE",
            "POWER",
            "ELECTRIC_CURRENT",
            "ELECTRIC_POTENTIAL",
            "ELECTRICAL_RESISTANCE",
            "CAPACITANCE",
            "TIME",
            "FREQUENCY",
            "DATA_RATE",
            "ACCELERATION",
            "AREA",
            "LENGTH",
            "VELOCITY",
            "MASS",
            "VOLUME",
            "FLOW_RATE",
            "ANGLE",
            "ILLUMINANCE",
            "LUMINOUS_FLUX",
            "LUMINANCE",
            "LUMINOUS_INTENSITY",
            "LOGARITHMIC_QUANTITY",
            "PRESSURE",
            "INFORMATION_CONTENT",
            "SCHEDULE"
          ],
          "type": "string"
        },
        "update_parameter": {
          "description": "The update frequency in seconds, or the amount of the property has to change in order to trigger an update",
          "format": "double",
          "type": "number"
        },
        "update_strategy": {
          "description": "The update strategy for the property value",
          "enum": [
            "ON_CHANGE",
            "TIMED"
          ],
          "type": "string"
        },
        "variable_name": {
          "description": "The  sketch variable name of the property",
          "maxLength": 64,
          "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
          "type": "string"
        }
      },
      "required": [
        "name",
        "type",
        "permission",
        "update_strategy"
      ],
      "title": "property",
      "type": "object"
    },
    "propertyDefinition": {
      "properties": {
        "property": {
          "description": "Property name",
          "type": "string"
        },
        "value": {
          "description": "The property value"
        }
      },
      "required": [
        "property",
        "value"
      ],
      "title": "propertyDefinition",
      "type": "object"
    },
    "propertyTimedValue": {
      "description": "PropertyValuePayload describes a property value",
      "properties": {
        "timestamp": {
          "description": "The timestamp of the property value",
          "format": "date-time",
          "type": "string"
        },
        "value": {
          "description": "The property value"
        }
      },
      "required": [
        "timestamp",
        "value"
      ],
      "title": "propertyTimedValue",
      "type": "object"
    },
    "propertyValue": {
      "description": "PropertyValuePayload describes a property value",
      "properties": {
        "device_id": {
          "description": "The device that sends the property",
          "format": "uuid",
          "type": "string"
        },
        "value": {
          "description": "The property value"
        }
      },
      "required": [
        "value"
      ],
      "title": "propertyValue",
      "type": "object"
    },
    "propertyValues": {
      "properties": {
        "properties": {
          "description": "The set of properties to publish",
          "items": {
            "$ref": "#/components/schemas/propertyDefinition"
          },
          "minItems": 1,
          "type": "array"
        },
        "to_device": {
          "default": false,
          "description": "Handle data direction, simulating data from or to device (default false - data sent by device)",
          "type": "boolean"
        }
      },
      "required": [
        "properties"
      ],
      "title": "propertyValues",
      "type": "object"
    },
    "push_action": {
      "properties": {
        "body": {
          "$ref": "#/components/schemas/body_expression"
        },
        "delivery": {
          "$ref": "#/components/schemas/push_delivery_opts"
        },
        "title": {
          "$ref": "#/components/schemas/title_expression"
        }
      },
      "required": [
        "delivery",
        "title",
        "body"
      ],
      "title": "push_action",
      "type": "object"
    },
    "push_delivery_opts": {
      "properties": {
        "to": {
          "description": "The recipient of a push notification",
          "items": {
            "$ref": "#/components/schemas/user_recipient"
          },
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "to"
      ],
      "title": "push_delivery_opts",
      "type": "object"
    },
    "rawPropertyValues": {
      "description": "PropertyValuePayload describes a property value",
      "properties": {
        "device_id": {
          "description": "The device that sends the property",
          "format": "uuid",
          "type": "string"
        },
        "payload": {
          "description": "The property value in raw format (CBOR) base64 encoded",
          "maxLength": 131072,
          "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
          "type": "string"
        },
        "to_device": {
          "default": false,
          "description": "Handle data direction, simulating data from or to device (default false - data sent by device)",
          "type": "boolean"
        }
      },
      "required": [
        "payload",
        "device_id"
      ],
      "title": "rawPropertyValues",
      "type": "object"
    },
    "recipients_list": {
      "properties": {
        "recipients": {
          "description": "List of recipients to be removed",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "recipients"
      ],
      "title": "recipients_list",
      "type": "object"
    },
    "sharerequest": {
      "properties": {
        "message": {
          "description": "The message the user want to send to the dashboard owner",
          "type": "string"
        }
      },
      "title": "sharerequest",
      "type": "object"
    },
    "sync": {
      "properties": {
        "properties": {
          "description": "The ID of the properties you want to sync",
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        "type": {
          "description": "The ID of the properties you want to sync",
          "enum": [
            "ANALOG",
            "CHARSTRING",
            "FLOAT",
            "INT",
            "LENGHT_C",
            "LENGHT_I",
            "LENGHT_M",
            "PERCENTAGE",
            "STATUS",
            "TEMPERATURE_C",
            "TEMPERATURE_F",
            "METER",
            "KILOGRAM",
            "GRAM",
            "SECOND",
            "AMPERE",
            "KELVIN",
            "CANDELA",
            "MOLE",
            "HERTZ",
            "RADIAN",
            "STERADIAN",
            "NEWTON",
            "PASCAL",
            "JOULE",
            "WATT",
            "COULOMB",
            "VOLT",
            "FARAD",
            "OHM",
            "SIEMENS",
            "WEBER",
            "TESLA",
            "HENRY",
            "DEGREES_CELSIUS",
            "LUMEN",
            "LUX",
            "BECQUEREL",
            "GRAY",
            "SIEVERT",
            "KATAL",
            "SQUARE_METER",
            "CUBIC_METER",
            "LITER",
            "METER_PER_SECOND",
            "METER_PER_SQUARE_SECOND",
            "CUBIC_METER_PER_SECOND",
            "LITER_PER_SECOND",
            "WATT_PER_SQUARE_METER",
            "CANDELA_PER_SQUARE_METER",
            "BIT",
            "BIT_PER_SECOND",
            "DEGREES_LATITUDE",
            "DEGREES_LONGITUDE",
            "PH_VALUE",
            "DECIBEL",
            "DECIBEL_1W",
            "BEL",
            "COUNT",
            "RATIO_DIV",
            "RATIO_MOD",
            "PERCENTAGE_RELATIVE_HUMIDITY",
            "PERCENTAGE_BATTERY_LEVEL",
            "SECONDS_BATTERY_LEVEL",
            "EVENT_RATE_SECOND",
            "EVENT_RATE_MINUTE",
            "HEART_RATE",
            "HEART_BEATS",
            "SIEMENS_PER_METER",
            "LOCATION",
            "COLOR_HSB",
            "COLOR_RGB",
            "GENERIC_COMPLEX_PROPERTY",
            "HOME_COLORED_LIGHT",
            "HOME_DIMMED_LIGHT",
            "HOME_LIGHT",
            "HOME_CONTACT_SENSOR",
            "HOME_MOTION_SENSOR",
            "HOME_SMART_PLUG",
            "HOME_TEMPERATURE",
            "HOME_TEMPERATURE_C",
            "HOME_TEMPERATURE_F",
            "HOME_SWITCH",
            "HOME_TELEVISION",
            "GOOGLE_HOME_COLORED_LIGHT",
            "GOOGLE_HOME_DIMMED_LIGHT",
            "GOOGLE_HOME_LIGHT",
            "GOOGLE_HOME_CONTACT_SENSOR",
            "GOOGLE_HOME_MOTION_SENSOR",
            "GOOGLE_HOME_SMART_PLUG",
            "GOOGLE_HOME_TEMPERATURE",
            "GOOGLE_HOME_TEMPERATURE_C",
            "GOOGLE_HOME_TEMPERATURE_F",
            "GOOGLE_HOME_SWITCH",
            "SMART_HOME_COLORED_LIGHT",
            "SMART_HOME_DIMMED_LIGHT",
            "SMART_HOME_LIGHT",
            "SMART_HOME_CONTACT_SENSOR",
            "SMART_HOME_MOTION_SENSOR",
            "SMART_HOME_SMART_PLUG",
            "SMART_HOME_TEMPERATURE",
            "SMART_HOME_TEMPERATURE_C",
            "SMART_HOME_TEMPERATURE_F",
            "SMART_HOME_SWITCH",
            "SMART_HOME_TELEVISION",
            "ENERGY",
            "FORCE",
            "TEMPERATURE",
            "POWER",
            "ELECTRIC_CURRENT",
            "ELECTRIC_POTENTIAL",
            "ELECTRICAL_RESISTANCE",
            "CAPACITANCE",
            "TIME",
            "FREQUENCY",
            "DATA_RATE",
            "ACCELERATION",
            "AREA",
            "LENGTH",
            "VELOCITY",
            "MASS",
            "VOLUME",
            "FLOW_RATE",
            "ANGLE",
            "ILLUMINANCE",
            "LUMINOUS_FLUX",
            "LUMINANCE",
            "LUMINOUS_INTENSITY",
            "LOGARITHMIC_QUANTITY",
            "PRESSURE",
            "INFORMATION_CONTENT",
            "SCHEDULE"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "properties"
      ],
      "title": "sync",
      "type": "object"
    },
    "tag": {
      "properties": {
        "key": {
          "description": "Key of the tag",
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_.@-]+$",
          "type": "string"
        },
        "value": {
          "description": "Value of the tag",
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_.@-]+$",
          "type": "string"
        }
      },
      "required": [
        "key",
        "value"
      ],
      "title": "tag",
      "type": "object"
    },
    "template": {
      "description": "TemplatePayload describes the needed attribute to apply a template",
      "properties": {
        "custom_template_id": {
          "description": "The name of the directory on S3 bucket containing the user's template",
          "type": "string"
        },
        "prefix_name": {
          "description": "The prefix to apply to the names of the generated resources",
          "maxLength": 45,
          "pattern": "^[a-zA-Z0-9_. -]+$",
          "type": "string"
        },
        "template_name": {
          "description": "The name of the directory on S3 bucket containing the template",
          "example": "remote-controlled-lights",
          "type": "string"
        },
        "things_options": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "required": [
        "template_name"
      ],
      "title": "template",
      "type": "object"
    },
    "thingPropertiesValue": {
      "properties": {
        "created_at": {
          "description": "Then the property was created",
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "description": "The name of the property",
          "type": "string"
        },
        "value": {
          "description": "The last value of the property"
        }
      },
      "required": [
        "name",
        "value",
        "created_at"
      ],
      "title": "thingPropertiesValue",
      "type": "object"
    },
    "thingPropertiesValues": {
      "properties": {
        "properties": {
          "items": {
            "$ref": "#/components/schemas/thingPropertiesValue"
          },
          "type": "array"
        },
        "thing_id": {
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "properties"
      ],
      "title": "thingPropertiesValues",
      "type": "object"
    },
    "thingSketch": {
      "description": "ThingSketchPayload describes a sketch of a thing",
      "properties": {
        "sketch_version": {
          "description": "The autogenerated sketch version",
          "enum": [
            "v1",
            "v2"
          ],
          "type": "string"
        }
      },
      "title": "thingSketch",
      "type": "object"
    },
    "thingUpdate": {
      "description": "Payload to update an existing thing",
      "properties": {
        "assistant": {
          "description": "The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE",
          "enum": [
            "ALEXA",
            "GOOGLE",
            "NONE"
          ],
          "type": "string"
        },
        "device_id": {
          "description": "The arn of the associated device",
          "format": "uuid",
          "type": "string"
        },
        "id": {
          "description": "The id of the thing",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The friendly name of the thing",
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_. -]+$",
          "type": "string"
        },
        "properties": {
          "description": "The properties of the thing",
          "items": {
            "$ref": "#/components/schemas/property"
          },
          "type": "array"
        },
        "soft_deleted": {
          "default": false,
          "description": "If false, restore the thing from the soft deletion",
          "type": "boolean"
        },
        "timezone": {
          "description": "A time zone name.\nCheck /v2/timezones for a list of valid names.",
          "type": "string"
        },
        "webhook_active": {
          "description": "Webhook uri",
          "type": "boolean"
        },
        "webhook_uri": {
          "description": "Webhook uri",
          "type": "string"
        }
      },
      "title": "thingUpdate",
      "type": "object"
    },
    "title_expression": {
      "properties": {
        "expression": {
          "description": "Content of the title (or subject) of a message, variables are allowed",
          "maxLength": 100,
          "type": "string"
        },
        "variables": {
          "description": "Variables used by the expression",
          "items": {
            "$ref": "#/components/schemas/variable"
          },
          "type": "array"
        }
      },
      "required": [
        "expression"
      ],
      "title": "title_expression",
      "type": "object"
    },
    "token": {
      "description": "TokenPayload describes a request to obtain a jwt token",
      "properties": {
        "audience": {
          "description": "The audience. It's always https://api2.arduino.cc/iot",
          "enum": [
            "https://api2.arduino.cc/iot"
          ],
          "type": "string"
        },
        "client_id": {
          "description": "The client_id",
          "maxLength": 32,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "client_secret": {
          "description": "The client_secret",
          "maxLength": 64,
          "pattern": "[a-zA-Z0-9_.@-]+",
          "type": "string"
        },
        "grant_type": {
          "description": "The grant type. It's always client_credentials",
          "enum": [
            "client_credentials"
          ],
          "type": "string"
        },
        "organization_id": {
          "description": "The organization id",
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "grant_type",
        "audience",
        "client_id",
        "client_secret"
      ],
      "title": "token",
      "type": "object"
    },
    "trigger": {
      "properties": {
        "actions": {
          "description": "A list of actions to be associated with the trigger",
          "items": {
            "$ref": "#/components/schemas/create-action"
          },
          "type": "array"
        },
        "active": {
          "description": "Is true if the trigger is enabled",
          "type": "boolean"
        },
        "description": {
          "description": "The description of the trigger",
          "type": "string"
        },
        "device_status_source": {
          "$ref": "#/components/schemas/device_status_source"
        },
        "id": {
          "description": "The id of the trigger",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the trigger",
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        },
        "property_id": {
          "description": "Id of the property the trigger is associated to (mutually exclusive with 'device_status_source')",
          "format": "uuid",
          "type": "string"
        },
        "soft_deleted": {
          "default": false,
          "description": "If false, restore the thing from the soft deletion",
          "type": "boolean"
        }
      },
      "title": "trigger",
      "type": "object"
    },
    "update-action": {
      "properties": {
        "description": {
          "description": "The description of the trigger",
          "type": "string"
        },
        "email": {
          "$ref": "#/components/schemas/email_action"
        },
        "name": {
          "description": "The name of the action",
          "type": "string"
        },
        "push_notification": {
          "$ref": "#/components/schemas/push_action"
        },
        "trigger_id": {
          "description": "Id of the trigger the action is associated to",
          "format": "uuid",
          "type": "string"
        }
      },
      "title": "update-action",
      "type": "object"
    },
    "updateSketch": {
      "properties": {
        "sketch_version": {
          "description": "The autogenerated sketch version",
          "enum": [
            "v1",
            "v2"
          ],
          "type": "string"
        }
      },
      "title": "updateSketch",
      "type": "object"
    },
    "user_recipient": {
      "properties": {
        "email": {
          "description": "The email address of the user",
          "type": "string"
        },
        "id": {
          "description": "The id of the user",
          "format": "uuid",
          "type": "string"
        },
        "username": {
          "description": "The username of the user",
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "title": "user_recipient",
      "type": "object"
    },
    "usershare": {
      "properties": {
        "user_id": {
          "description": "The userID of the user you want to share the dashboard with",
          "format": "uuid",
          "type": "string"
        },
        "username": {
          "description": "The username of the user you want to share the dashboard with",
          "type": "string"
        }
      },
      "title": "usershare",
      "type": "object"
    },
    "variable": {
      "properties": {
        "attribute": {
          "description": "The template expression that extracts the value from the respective entity",
          "enum": [
            "ID",
            "NAME",
            "VALUE",
            "TIMESTAMP",
            "USERNAME",
            "EMAIL",
            "STATUS"
          ],
          "example": "PROPERTY",
          "type": "string"
        },
        "entity": {
          "description": "Type of the entity being referenced",
          "enum": [
            "RECIPIENT",
            "USER",
            "DEVICE",
            "THING",
            "PROPERTY",
            "TRIGGERING_DEVICE"
          ],
          "example": "PROPERTY",
          "type": "string"
        },
        "id": {
          "description": "The ID of the referenced entity",
          "format": "uuid",
          "type": "string"
        },
        "placeholder": {
          "description": "Name of the variable as referenced by the expression",
          "type": "string"
        },
        "property_id": {
          "description": "The ID of the property referenced entity",
          "type": "string"
        },
        "thing_id": {
          "description": "The ID of the thing referenced entity",
          "type": "string"
        }
      },
      "required": [
        "placeholder",
        "entity",
        "attribute"
      ],
      "title": "variable",
      "type": "object"
    },
    "widget": {
      "description": "Widget describes a dashboard widget",
      "properties": {
        "height": {
          "description": "Widget current height for desktop",
          "format": "int64",
          "type": "integer"
        },
        "height_mobile": {
          "description": "Widget current height for mobile",
          "format": "int64",
          "type": "integer"
        },
        "id": {
          "description": "The UUID of the widget, set by client",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the widget",
          "type": "string"
        },
        "options": {
          "additionalProperties": true,
          "description": "Widget options",
          "type": "object"
        },
        "type": {
          "description": "The type of the widget",
          "type": "string"
        },
        "variables": {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        "width": {
          "description": "Widget current width for desktop",
          "format": "int64",
          "type": "integer"
        },
        "width_mobile": {
          "description": "Widget current width for mobile",
          "format": "int64",
          "type": "integer"
        },
        "x": {
          "description": "Widget x position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "x_mobile": {
          "description": "Widget x position for mobile",
          "format": "int64",
          "type": "integer"
        },
        "y": {
          "description": "Widget y position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "y_mobile": {
          "description": "Widget y position for mobile",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "type",
        "width",
        "height",
        "x",
        "y",
        "options"
      ],
      "title": "widget",
      "type": "object"
    },
    "widgetlink": {
      "properties": {
        "variables": {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        }
      },
      "title": "widgetlink",
      "type": "object"
    },
    "widgetv3": {
      "description": "Widget describes a dashboard widget",
      "properties": {
        "height": {
          "description": "Widget current height for desktop",
          "format": "int64",
          "type": "integer"
        },
        "height_mobile": {
          "description": "Widget current height for mobile",
          "format": "int64",
          "type": "integer"
        },
        "id": {
          "description": "The UUID of the widget, set by client",
          "format": "uuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the widget",
          "type": "string"
        },
        "options": {
          "additionalProperties": true,
          "description": "Widget options",
          "type": "object"
        },
        "page_id": {
          "description": "The ID of the page the widget belongs to, \"0\" if it's in the main page",
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$|^0$",
          "type": "string"
        },
        "type": {
          "description": "The type of the widget",
          "type": "string"
        },
        "variables": {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        "width": {
          "description": "Widget current width for desktop",
          "format": "int64",
          "type": "integer"
        },
        "width_mobile": {
          "description": "Widget current width for mobile",
          "format": "int64",
          "type": "integer"
        },
        "x": {
          "description": "Widget x position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "x_mobile": {
          "description": "Widget x position for mobile",
          "format": "int64",
          "type": "integer"
        },
        "y": {
          "description": "Widget y position for desktop",
          "format": "int64",
          "type": "integer"
        },
        "y_mobile": {
          "description": "Widget y position for mobile",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "type",
        "width",
        "height",
        "x",
        "y",
        "options"
      ],
      "title": "widgetv3",
      "type": "object"
    }
  }
}