> For the complete documentation index, see [llms.txt](https://docs.movesdk.com/move-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.movesdk.com/move-platform/sdk/models/movedevice/movedevicestate.md).

# MoveDeviceState

When a device is registered, it is synchronized with the backend so that it will persist across installations. If the device has a malformed identifier it may be rejected by the backend. The device property *state* will reflect this status and the app will be notified via the [deviceStateListener](/move-platform/sdk/models/listeners-callbacks.md#movedevice-state-listener-callback).

{% tabs %}
{% tab title="Android" %}

```kotlin
enum class MoveDeviceState {
    OK,
    NOT_SYNCHRONIZED,
}
```

{% endtab %}

{% tab title="iOS" %}

```swift
public enum MoveDeviceState {
	case ok
	case notSynchronized
}
```

{% endtab %}

{% tab title="React Native" %}

```typescript
export type MoveSdkDeviceState = 'OK' | 'NOT_SYNCHRONIZED';
```

{% endtab %}

{% tab title="Flutter" %}

```kotlin
enum MoveDeviceState {
  ok,
  notSynchronized,
}
```

{% endtab %}
{% endtabs %}

<table data-header-hidden><thead><tr><th width="270.55859375">MoveDevice</th><th></th></tr></thead><tbody><tr><td><strong>MoveDevice</strong></td><td></td></tr><tr><td>ok</td><td>No error.</td></tr><tr><td>notSynchronized</td><td>There was an error and the device was not accepted by the backend, possibly due to malformed id.</td></tr></tbody></table>
