Activates, deactivates, suspends, or restores the lines of service for one or more devices. You can specify a list of individual devices, or work with all devices in an account or device group. You can select the devices that you want to change by using service plan or custom field filters.
The required and optional parameters are different for each state change request, so they are documented separately:
The list below shows the valid service states for a device.
There is also a "pending" state for each of the above states that is in effect as a device transitions from one service state to another. For example, when you send a request to activate service for a device, that device will appear as "pending active" until the request completes. During that time, any other state change request will fail, because a device is not allowed to go from one pending state to another.
Only certain state-to-state transitions are allowed, as shown in this table:
It's a good idea to call GetDeviceInformation to verify a device's current state before calling ChangeDeviceState.