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:

Service State Definitions

The list below shows the valid service states for a device.

Device has been added to an account but not yet activated.
Able to communicate; has an MDN.
Not currently able to use carrier network; MDN retained.
In neither Active nor Suspend state. Applied only to previously Active devices.

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.

Allowed State Changes

Only certain state-to-state transitions are allowed, as shown in this table:

Current State Activate Deactivate Suspend Restore
Pre-Active Y N N N
Active N Y Y N
Deactive Y N N Y
Suspend N Y N Y

It's a good idea to call GetDeviceInformation to verify a device's current state before calling ChangeDeviceState.