---
title: Device Setup Entity  (v3)
slug: develop/device-setup-entity-v3
docTags: 
createdAt: 2025-03-11T07:03:28.938Z
---

The Device Setup entity contains the following required properties:

- `version` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: This value should be "3.0.0"
- `_id` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: The id of the device Setup object. This is only required for a “PUT” call (not “POST”).
- `bDeploy` <font color="#704ae0">object</font> <font color="#01a0af">required</font>: A [Ownership Info Entity (v3)](docId\:T4FiE7rScbtPG11t1-GKF)&#x20;
- `setupType` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: The player Setup type which is one of "legacyLfn", "localToBsn", "lfn", "sfn", "partnerApplication", "standalone", or "bsn"
- `bsnDeviceRegistrationTokenEntity`  <font color="#704ae0">object</font> <font color="#01a0af">required</font>: A [Token Entity (v3)](docId\:xFtPKROWdWpe6DqhYNwfE).
- `timeZone` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: The time zone (for example, "PST"). See [this page](docId\:HWR0ZojGTZxXnUHDLHlf9) for the available time zone options.
- `bsnGroupName` <font color="#704ae0">string</font> <font color="#01a0af">required</font>: If the setup type is BSN, this is required. The name of the BSN.Cloud group to which provisioned devices will be assigned. This value defaults to the "Default" group if the value is not provided.
- `network` <font color="#704ae0">object</font> <font color="#01a0af">required</font>: The [Network Entity (v3)](docId\:q84eMT6M9gGAJ8SmUtPQ7). This will contain default values unless the user specifies parameters.

These optional properties can also be used: 

- `firmwareUpdatesByFamily` <font color="#704ae0">object</font> <font color="#01a0af">optional</font>: The [FirmwareUpdatebyFamily Entity (v3)](docId\:l_o6PCKIcsYHTu7MGQh1N). If a firmware update is required with your setup, this field is required.
- `firmwareUpdateType` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The firmware update type which is one of "different", "newer", "save", and "standard". The default type is “standard”. See `firmwareUpdateDifferentTargetFileName`, `firmwareUpdateNewerTargetFileName`, `firmwareUpdateSaveTargetFileName`, and  `firmwareUpdateStandardTargetFileName` in [FirmwareUpdatebyFamily Entity (v3)](docId\:l_o6PCKIcsYHTu7MGQh1N) for more information about these types and usage examples. If a firmware update is required with your setup, this field is required.
- `enableSerialDebugging` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, serial debugging is enabled.
- `enableSystemLogDebugging` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, system log debugging is enabled.
- `remoteDwsEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, the remote DWS is enabled on the player and can be accessed remotely.
- `dwsEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, the DWS is enabled on local network of the player.
- `dwsPassword` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The DWS password (this can be an empty string). Although this is not required, you should add this password for security purposes. The default password is the player serial number.
- `lwsEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, the LWS is enabled.
- `lwsUserName` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The user name of the LWS server (this can be an empty string)
- `lwsPassword` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The password for the LWS server (this can be an empty string)
- `lwsEnableUpdateNotifications` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, update notifications are enabled on the LWS.
- `bsnCloudEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: The default, true, indicates that BSN.Cloud is enabled.
- `deviceName` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The user-defined device name for devices that are provisioned with the Device Setup package. This can be an empty string.
- `deviceDescription` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The user-defined description give to devices that are provisioned with the Device Setup package. This can be an empty string.
- `unitNamingMethod` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: Either "appendUnitIDToUnitName" or "unitNameOnly", which determines whether or not to append the serial number to the device name.
- `timeBetweenNetConnects` <font color="#704ae0">int</font> <font color="#01a0af">optional</font>: How often the autorun checks for content (in seconds). The default is 300 seconds (5 minutes).
- `timeBetweenHeartbeats` <font color="#704ae0">int</font> <font color="#01a0af">optional</font>: How often the player reports health to BSN (in seconds). The default is 900 seconds (15 minutes).
- `sfnWebFolderUrl` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: This is only required if the setup type is SFN. The URL address for the web-accessible folder that contains the simple file networking presentation. This can be an empty string.
- `sfnEnableBasicAuthentication` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: If this is true, the password and username are required. False is the default.
  - `sfnUserName` <font color="#704ae0">string</font>: The username for the SFN file server, which is only required if the SFN server is password protected. This string can be empty.
  - `sfnPassword` <font color="#704ae0">string</font>: The password for the SFN server. This string can be empty.
- `playbackLoggingEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, playback logging is enabled.
- `eventLoggingEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, event logging is enabled.
- `diagnosticLoggingEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, diagnostic logging is enabled.
- `stateLoggingEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, state logging is enabled.
- `variableLoggingEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, variable logging is enabled.
- `uploadLogFilesAtBoot` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, log files will be uploaded at player startup.
- `uploadLogFilesAtSpecificTime` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, log files will be uploaded at a specific time.
  - `uploadLogFilesTime` <font color="#704ae0">int</font>: The time that log files will be uploaded, if any, in minutes. This is required if `uploadLogFilesAtSpecificTime` is enabled.
- `logHandlerUrl` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The custom log handler URL to which the logs are uploaded. This is only enabled for simple file networking (otherwise it will be an empty string).
- `enableRemoteSnapshot` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, remote snapshot is enabled. The following parameters are required if you enable this boolean:
  - `remoteSnapshotInterval` <font color="#704ae0">int</font>: The number of minutes to wait between capturing each snapshot. Zero is the default, but this value should be set if `enableRemoteSnapshot` is true.
  - `remoteSnapshotMaxImages` <font color="#704ae0">int</font>: The maximum number of snapshot images to save. Possible values are 1 to 100.
  - `remoteSnapshotJpegQualityLevel` <font color="#704ae0">int</font>: The JPEG quality level for the remote snapshot, on a scale from 1 to 100
  - `remoteSnapshotScreenOrientation` <font color="#704ae0">string</font>: The screen orientation ("Landscape", "PortraitBottomRight", or "PortraitBottomLeft")
  - `remoteSnapshotHandlerUrl` <font color="#704ae0">string</font>: The URL for the remote snapshot handler
- `idleScreenColor` <font color="#704ae0">object</font> <font color="#01a0af">optional</font>: An object with RGBA properties. The default color is black.
- `networkDiagnosticsEnabled` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, network diagnostics are enabled. This must be enabled in order to enable  `testEthernetEnabled`, `testWirelessEnabled`, or `testInternetEnabled`:
  - `testEthernetEnabled` <font color="#704ae0">bool</font>: False is the default. If true, ethernet testing during setup is enabled.
  - `testWirelessEnabled` <font color="#704ae0">bool</font>: False is the default. If true, wireless testing during setup is enabled.
  - `testInternetEnabled` <font color="#704ae0">bool</font>: False is the default. If true, internet testing during setup is enabled.
- `useCustomSplashScreen` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, a custom splash screen will be used.
- `BrightWallName`  <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The name of the BrightWall settings
- `BrightWallScreenNumber` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The BrightWall display number
- `contentDownloadsRestricted` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>: False is the default. If true, content downloads are restricted for SFN and BSN. If the value is true, the following fields are required:
  - `contentDownloadRangeStart` <font color="#704ae0">int</font>: The start time when content can be downloaded, from 00:00 to 23:59 (in minutes)
  - `contentDownloadRangeEnd` <font color="#704ae0">int</font>: The end time when content can be downloaded, from 00:00 to 23:59 (in minutes)
- `usbUpdatePassword` <font color="#704ae0">string</font> <font color="#01a0af">optional</font>: The password for the USB update feature
- `inheritNetworkProperties` <font color="#704ae0">bool</font> <font color="#01a0af">optional</font>:  False is the default (it will use the network properties from the device setup file). If true, the setup will use the current network configuration settings of the player.
- `internalCaArtifacts` <font color="#704ae0">internalCaArtifacts[]</font> <font color="#01a0af">optional</font>: A list of certificate objects. Each object has a name and an asset (the certificate file object). This can be an empty object.

### Example

The [FirmwareUpdatebyFamily Entity (v3)](docId\:l_o6PCKIcsYHTu7MGQh1N) entity is not included this example since it is only required for firmware updates.

```json
{
   "version":"3.0.0",
   "_id":"",
   "bDeploy":{
      "username":"anon@brightsign.biz",
      "networkName":"admin",
      "packageName":"test2023"
   },
   "firmwareUpdateType":"standard",
   "setupType":"standalone",
   "bsnDeviceRegistrationTokenEntity":{
      "token":"{{token}}",
      "scope":"cert",
      "validFrom":"2023-01-26T23:21:48.000Z",
      "validTo":"2025-01-25T23:21:48.000Z"
   },
   "enableSerialDebugging":false,
   "enableSystemLogDebugging":false,
   "remoteDwsEnabled":true,
   "dwsEnabled":false,
   "dwsPassword":"",
   "lwsEnabled":true,
   "lwsUserName":"",
   "lwsPassword":"",
   "lwsEnableUpdateNotifications":true,
   "bsnCloudEnabled":true,
   "deviceName":"",
   "deviceDescription":"",
   "unitNamingMethod":"appendUnitIDToUnitName",
   "timeZone":"PST",
   "bsnGroupName":"Default",
   "timeBetweenNetConnects":300,
   "timeBetweenHeartbeats":900,
   "sfnWebFolderUrl":"",
   "sfnUserName":"",
   "sfnPassword":"",
   "sfnEnableBasicAuthentication":false,
   "playbackLoggingEnabled":false,
   "eventLoggingEnabled":false,
   "diagnosticLoggingEnabled":false,
   "stateLoggingEnabled":false,
   "variableLoggingEnabled":false,
   "uploadLogFilesAtBoot":false,
   "uploadLogFilesAtSpecificTime":false,
   "uploadLogFilesTime":0,
   "logHandlerUrl":"",
   "enableRemoteSnapshot":false,
   "remoteSnapshotInterval":15,
   "remoteSnapshotMaxImages":5,
   "remoteSnapshotJpegQualityLevel":50,
   "remoteSnapshotScreenOrientation":"Landscape",
   "remoteSnapshotHandlerUrl":"",
   "idleScreenColor":{
      "r":0,
      "g":0,
      "b":0,
      "a":1
   },
   "networkDiagnosticsEnabled":false,
   "testEthernetEnabled":false,
   "testWirelessEnabled":false,
   "testInternetEnabled":false,
   "useCustomSplashScreen":false,
   "BrightWallName":"",
   "BrightWallScreenNumber":"",
   "contentDownloadsRestricted":false,
   "contentDownloadRangeStart":0,
   "contentDownloadRangeEnd":0,
   "heartbeatsRestricted":false,
   "heartbeatsRangeStart":0,
   "heartbeatsRangeEnd":0,
   "usbUpdatePassword":"",
   "inheritNetworkProperties":false,
   "internalCaArtifacts":[
   ],
   "network":{
      "timeServers":[
         "http://time.brightsignnetwork.com"
      ],
      "hostname":null,
      "dns":null,
      "proxyServer":null,
      "proxyBypass":null,
      "interfaces":[
         {
            "id":"wired_eth0",
            "name":"eth0",
            "type":"Ethernet",
            "proto":"DHCPv4",
            "ip":[
            ],
            "gateway":null,
            "dns":[
            ],
            "rateLimitDuringInitialDownloads":0,
            "rateLimitInsideContentDownloadWindow":0,
            "rateLimitOutsideContentDownloadWindow":null,
            "contentDownloadEnabled":true,
            "textFeedsDownloadEnabled":true,
            "mediaFeedsDownloadEnabled":true,
            "healthReportingEnabled":true,
            "logsUploadEnabled":true,
            "wpaSettings":{
               "enableWPAEnterpriseAuthentication":false,
               "wpaEnterpriseVariant":"WPAEnterpriseEapTls",
               "eapCertificateType":"WPAEapTlsPKCS",
               "eapCertificateFile":null,
               "eapCertificatePassphrase":"",
               "eapPemOrDerKeyFile":null,
               "peapUsername":"",
               "peapPassphrase":"",
               "caCertificateFile":null
            }
         },
         {
            "id":"wireless_wlan0",
            "name":"wlan0",
            "type":"WiFi",
            "proto":"DHCPv4",
            "ip":[
            ],
            "gateway":null,
            "dns":[
            ],
            "rateLimitDuringInitialDownloads":null,
            "rateLimitInsideContentDownloadWindow":null,
            "rateLimitOutsideContentDownloadWindow":null,
            "contentDownloadEnabled":true,
            "textFeedsDownloadEnabled":true,
            "mediaFeedsDownloadEnabled":true,
            "healthReportingEnabled":true,
            "logsUploadEnabled":true,
            "ssid":"dadmom",
            "passphrase":"",
            "security":{
               "authentication":{
                  "mode":"Shared",
                  "passphrase":"{{passphrase}}"
               },
               "encryption":{
                  "mode":"TKIP, CCMP"
               }
            },
            "wpaSettings":{
               "enableWPAEnterpriseAuthentication":false,
               "wpaEnterpriseVariant":"WPAEnterpriseEapTls",
               "eapCertificateType":"WPAEapTlsPKCS",
               "eapCertificateFile":null,
               "eapCertificatePassphrase":"",
               "eapPemOrDerKeyFile":null,
               "peapUsername":"",
               "peapPassphrase":"",
               "caCertificateFile":null
            }
         }
      ]
   }
}

```

