Update personal message flags
POST https://phylodynamics.zulip.engr.uconn.edu/api/v1/messages/flags
Add or remove personal message flags like read and starred
on a collection of message IDs.
See also the endpoint for updating flags on a range of
messages within a narrow.
Usage examples
#!/usr/bin/env python3
import zulip
# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")
# Add the "read" flag to the messages with IDs in "message_ids"
request = {
    "messages": message_ids,
    "op": "add",
    "flag": "read",
}
result = client.update_message_flags(request)
# Remove the "starred" flag from the messages with IDs in "message_ids"
request = {
    "messages": message_ids,
    "op": "remove",
    "flag": "starred",
}
result = client.update_message_flags(request)
print(result)
 
More examples and documentation can be found here.
const zulipInit = require("zulip-js");
// Pass the path to your zuliprc file here.
const config = { zuliprc: "zuliprc" };
(async () => {
    const client = await zulipInit(config);
    // Add the "read" flag to the messages with IDs in "message_ids"
    const addflag = {
        messages: message_ids,
        flag: "read",
    };
    console.log(await client.messages.flags.add(addflag));
    // Remove the "starred" flag from the messages with IDs in "message_ids"
    const removeflag = {
        messages: message_ids,
        flag: "starred",
    };
    console.log(await client.messages.flags.remove(removeflag));
})();
 
curl -sSX POST https://phylodynamics.zulip.engr.uconn.edu/api/v1/messages/flags \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode 'messages=[4, 8, 15]' \
    --data-urlencode op=add \
    --data-urlencode flag=read
 
 
 
Parameters
    messages (integer)[] required  
    
        Example: [4, 8, 15]
    
    An array containing the IDs of the target messages.
 
    op string required  
    
        Example: "add"
    
    Whether to add the flag or remove it.
Must be one of: "add", "remove". 
 
    flag string required  
    
        Example: "read"
    
    The flag that should be added/removed.
 
Available flags
    
        
            
                | Flag | Purpose | 
        
        
            
                | read | Whether the user has read the message.  Messages
                    start out unread (except for messages the user
                    themself sent using a non-API client) and can
                    later be marked as read. | 
            
                | starred | Whether the user has starred this message. | 
            
                | collapsed | Whether the user has collapsed this message. | 
            
                | mentioned | Whether the current user
                    was mentioned
                    by this message, either directly or via a user
                    group. Cannot be changed by the user directly, but
                    can change if the message is edited to add/remove
                    a mention of the current user. | 
            
                | wildcard_mentioned | Whether this message contained either a
                    stream wildcard mention
                    like @**all** or a topic wildcard mention (@**topic**). Cannot be changed
                    by the user directly, but can change if the message is edited to add/remove
                    a stream or/and topic wildcard mention.
                    **Changes**: In Zulip 8.0 (feature level 224), the `wildcard_mentioned` flag
                    was deprecated in favor of the `stream_wildcard_mentioned` and `topic_wildcard_mentioned`
                    flags. The `wildcard_mentioned` flag exists for backwards compatibility with
                    older clients and equals `stream_wildcard_mentioned` || `topic_wildcard_mentioned`.
                    Clients interacting with older servers should treat this field as an old name
                    for `stream_wildcard_mentioned`. @topic mentions were not available prior to
                    this feature level. | 
            
                | stream_wildcard_mentioned | Whether this message contained a
                    stream wildcard mention
                    like @**all**. Cannot be changed by the user directly, but
                    can change if the message is edited to add/remove
                    a stream wildcard mention.
                    **Changes**: New in Zulip 8.0 (feature level 224). | 
            
                | topic_wildcard_mentioned | Whether this message contained a topic wildcard mention (@**topic**).
                    Cannot be changed by the user directly, but can change if
                    the message is edited to add/remove a topic wildcard mention.
                    **Changes**: New in Zulip 8.0 (feature level 224). | 
                | has_alert_word | Whether the message contains any of the current user's
                    configured alert words.
                    Cannot be changed by the user directly, but
                    can change if the message is edited to add/remove
                    one of the current user's alert words. | 
            
                | historical | Is `true` for messages that the user did not receive
                    at the time they were sent but later was added to
                    the user's history (E.g. because they starred or
                    reacted to a message sent to a public stream
                    before they subscribed to that stream). Cannot be
                    changed by the user directly. | 
        
    
 
Response
Return values
Example response(s)
Changes: As of Zulip 7.0 (feature level 167), if any
parameters sent in the request are not supported by this
endpoint, a successful JSON response will include an
ignored_parameters_unsupported array.
A typical successful JSON response may look like:
{
    "messages": [
        4,
        18,
        15
    ],
    "msg": "",
    "result": "success"
}