---
title: rDWS Control Endpoints
slug: develop/rdws-control-endpoints
docTags: 
createdAt: 2025-03-11T07:03:32.132Z
---

Base URL for these endpoints:  ***https\://ws.bsn.cloud/rest/v1/***

*\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_*

## PUT /control/reboot/ 

Reboots the player. The player will not send a response to a reboot request.

**Request Body**

- `crash_report` <font color="#704ae0">bool</font>: Setting to `true` reboots the player and save a crash-report file to the brightsign-dumps folder. You should use this only when directed by BrightSign customer service, which may need the crash report when helping you troubleshoot a player.
- `factory_reset` <font color="#704ae0">bool</font>: Setting to `true` resets the player to the factory defaults, erasing all persistent registry settings for networking, security, and other applications.
- `autorun` <font color="#704ae0">string</font>: Setting to `disable` disables the current autorun script (this is helpful for debugging).

**Request Example (Simple Reboot)**

This request has no body.

```text
PUT /rest/v1/control/reboot/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Request Example (Crash Report)**

```none
PUT /rest/v1/control/reboot/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 56
```

This is the example request body:

```json
{
    "data": {
        "crash_report": true
    }
}
```

**Request Example (Factory Reset)**

```text
PUT /rest/v1/control/reboot/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 57
```

This is the example request body:

```json
{
    "data": {
        "factory_reset": true
    }
}
```

**Request Example (Disable Autorun)**

```text
PUT /rest/v1/control/reboot/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 56
```

This is the example request body:

```json
{
    "data": {
        "autorun": "disable"
    }
}
```

**Response Body**

The server will return a success or error message. A successful response will almost always cause a reboot which will be indicated in the response.

- `result` <font color="#704ae0">object</font>: The response object
  - `success` <font color="#704ae0">bool</font>: Whether or not the operation was successful
  - `reboot` <font color="#704ae0">bool</font>: Whether or not the player is rebooting

**Response Examples**

**Crash Report**

```json
{
    "data": {
        "result": {
            "success": true,
            "message": "A reboot has been initiated (with crash report)"
        }
    },
    "route": "/v1/control/reboot",
    "method": "PUT"
}
```

**Factory Reset**

```json
{
    "data": {
        "result": {
            "success": true,
            "message": "A reboot has been initiated (with factory reset)"
        }
    },
    "route": "/v1/control/reboot",
    "method": "PUT"
}
```

**Disable Autorun**

```json
{
    "data": {
        "result": {
            "success": true,
            "message": "A reboot has been initiated"
        }
    },
    "route": "/v1/control/reboot",
    "method": "PUT"
}
```

## GET /control/dws-password/ 

Retrieves information about the current password of the local DWS (but not the password itself) such as whether the password is blank or invalid

**Request Example**

```text
GET /rest/v1/control/dws-password/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Response Body**

- `success` <font color="#704ae0">bool</font>: A flag indicating whether the password was successfully read
- `password` <font color="#704ae0">Password{ }</font>: A Password object that describes the DWS password. The following are possible values:
  - `isResultValid` <font color="#704ae0">bool</font>: A flag indicating whether the DWS password is valid
  - `isBlank` <font color="#704ae0">bool</font>: A flag indicating whether the DWS password is blank (i.e. no password is required)

**Response Example**

```json
{
    "route": "/v1/control/dws-password",
    "method": "GET",
    "data": {
        "result": {
            "success": true,
            "password": {
                "isResultValid": true,
                "isBlank": true
            }
        }
    }
}
```

## PUT /control/dws-password/ 

Sets a new password for the local DWS (or removes the password requirement on older BOS versions).

**Request Body**

- `password` <font color="#704ae0">string</font>: The new local DWS password for the player.  <font color="#4d4d4d">As of BOS 9.0.128 and BOS 9.1.75, this API enforces strong password requirements, so passing in an empty string will cause an error.</font> <font color="#4d4d4d">In older BOS versions, t</font><font color="#4d4d4d">he absence of this parameter (or a blank string) removes the password requirement for the DWS.</font>
- `previous_password` <font color="#704ae0">string</font>: The previous DWS password. This parameter must be included. This value can be an empty string to indicate that the previous password was blank.

**Request Example**

```text
PUT /rest/v1/control/dws-password/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 106
```

This is the example request body:

```json
{
	"data": {
		"password": "newpassword",
		"previous_password": "oldpassword"
	}
}
```

**Response Body**

- `success` <font color="#704ae0">bool</font>: A flag indicating whether the password was successfully set
- `reboot` <font color="#704ae0">bool</font>: A flag indicating whether the player will reboot to set the password

**Response Example**

```json
{
    "data": {
        "result": {
            "success": true,
            "reboot": false
        }
    },
    "route": "/v1/control/dws-password",
    "method": "PUT"
}
```

##

## GET /control/local-dws/ 

Retrieves the current state of the local DWS

**Request Example**

```text
GET /rest/v1/control/local-dws/?destinationType=player&destinationName=27D33C000051 HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
```

**Response Body**

- `success` <font color="#704ae0">bool</font>: A flag indicating whether the local DWS is enabled or disabled

**Response Example**

```json
{
    "route": "/v1/control/local-dws",
    "method": "GET",
    "data": {
        "result": {
            "success": true,
            "value": true
        }
    }
}
```

****

## PUT /control/local-dws/ 

Enables or disables the local DWS

**Request Body**

- `enable` <font color="#704ae0">bool</font>: A flag indicating whether the local DWS should be enabled or disabled

**Request Example**

```text
PUT /rest/v1/control/local-dws/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 50
```

This is the example request body:

```json
{
    "data": {
        "enable": true
    }
}
```

**Response Body**

- `success` <font color="#704ae0">bool</font>: A flag indicating whether the local DWS was successfully enabled or disabled
- `reboot` <font color="#704ae0">bool</font>: A flag indicating whether the player will reboot to enable/disable the local DWS

**Response Example**

```json
{
    "data": {
        "result": {
            "success": true,
            "reboot": true
        }
    },
    "route": "/v1/control/local-dws",
    "method": "PUT"
}
```

****

## PUT /control/ssh-host-keys/reset/

Resets the SSH host keys by regenerating new host key pairs. This is useful for security purposes or when host keys have been compromised. The system will automatically determine if a reboot is required, unless overriden by the reboot parameter.

**Request Example**

```text
PUT /rest/v1/control/ssh-host-keys/reset/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 56
```

**Request Body**

This is the optional example request body:

```json
{
    "data": {
        "reboot": "true"
    }
}
```

**Response Example**

```json
{
    "data": {
        "result": {
            "success": true,
            "value": true
        }
    }
}
```

##

## PUT /control/dws-default-certs/reset/

Resets the DWS default certificates by regenerating new certificate pairs. This is useful for security purposes or when certificates have been compromised. The system will reboot to activate new certificates, unless overriden by the reboot parameter.

**Request Example**

```text
PUT /rest/v1/control/dws-default-certs/reset/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 56
```

**Request Body**

This is the optional example request body:

```json
{
    "data": {
        "reboot": "true"
    }
}
```

**Response Example**

```json
{
    "data": {
        "result": {
            "success": true,
            "value": true
        }
    }
}
```



