Update personal message flags
Add or remove personal message flags like read
and starred
on a collection of message IDs.
POST https://main.zulip.pr.business/api/v1/messages/flags
For updating the read
flag on common collections of messages, see also
the
special endpoints for marking message as read in bulk.
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://main.zulip.pr.business/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
wildcard mention
like @**all**. Cannot be changed by the user directly, but
can change if the message is edited to add/remove
a wildcard mention.
|
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 |
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
A typical successful JSON response may look like:
{
"messages": [
4,
18,
15
],
"msg": "",
"result": "success"
}