Update personal message flags
POST https://ermes.axera.it/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 messages, given the messages' IDs.
request = {
    "messages": message_ids,
    "op": "add",
    "flag": "read",
}
result = client.update_message_flags(request)
# Remove the "starred" flag from messages, given the messages' 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://ermes.axera.it/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. | 
            
                | stream_wildcard_mentioned | Whether this message contained a
                    channel wildcard mention
                    (like @**all**). Cannot be changed by the user directly, but
                    can change if the message is edited to add/remove
                    a channel 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 truefor 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 channel
                    before they subscribed to that channel). Cannot be
                    changed by the user directly. | 
            
                | wildcard_mentioned | Whether this message contained either a
                    channel 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 channel and/or topic wildcard
                    mention. 
 Changes: Deprecated in Zulip 8.0 (feature level 224), in favor of
                    the
 stream_wildcard_mentionedandtopic_wildcard_mentionedflags. Thewildcard_mentionedflag exists for backwards compatibility
                    with older clients and equalsstream_wildcard_mentioned || topic_wildcard_mentioned.
                    Clients supporting older server versions should treat this field as a
                    previous name for thestream_wildcard_mentionedflag as
                    topic wildcard mentions were not available prior to this feature level. | 
        
    
 
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"
}