> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # DeviceRecoveryEvent > Event emitted when the SDK auto-switches a device. Event emitted when the SDK auto-switches a device. ## **Properties** **`kind`** `audioinput | audiooutput | videoinput` — required The kind of device that was switched. --- **`newDevice`** `MediaDeviceInfo | null` — required The device that was selected as a replacement (null if none available). See [`MediaDeviceInfo`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo). --- **`previousDevice`** `MediaDeviceInfo | null` — required The device that was previously selected (null if none). See [`MediaDeviceInfo`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo). --- **`reason`** `device_disconnected | device_reconnected | session_restored | fallback_to_default | default_changed | ambiguous_match` — required The reason for the device switch. --- > Event emitted when the SDK auto-switches a device.