# IMessaging.ChangeStatus()

Description:

The `ChangeStatus` method changes the read status of a message. The status can be `"Read"`, `"Unread"`, `"Replied"`, or `"Forwarded"`.

This is a synchronous method.

Syntax:

    result = so.IMessaging.ChangeStatus(criteria);

Arguments:

- `criteria`:

  This is an object that specifies the message whose status to change and the new status. The following table describes the properties of this object.

Table: Criteria object properties
Property | Description | Type | Value
--- | --- | --- | ---
`criteria.MessageId` | Specifies the unique ID of the message whose status to change. | number |
`criteria.Status` | Specifies the new read status for the message. | string | Possible values: `"Read"` `"Unread"` `"Replied"` `"Forwarded"` `Replied` and `Forwarded` are only valid for email messages. Note: The Messaging Service does not currently support emails.

Return value:

The `ChangeStatus` method returns an object that contains an error code and an error message.

Table: Return value properties for ChangeStatus
Property | Description | Value
--- | --- | ---
`result.ErrorCode` | This is a number that specifies a predefined error code. | See Service API error codes.
`result.ErrorMessage` | This is a text string that describes the error. | See Messaging Service API error messages.

Example code:

For the complete source of a sample widget that demonstrates how to use this Service API, see the full example.