Arduino · Schema
Arduino IoT Cloud API Schemas
JSON Schema definitions extracted from the Arduino IoT Cloud API OpenAPI specification
IoTElectronicsOpen SourceDevicesDashboardsTime SeriesCloud
JSON Schema
{
"$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"
# --- truncated at 32 KB (201 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arduino/refs/heads/main/json-schema/arduino-iot-cloud-schemas.json