zulip/templates/zerver/api/update-message-flags.md

3.7 KiB

Update a message's flags

Add or remove flags in a list of messages.

POST {{ api_url }}/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

{start_tabs} {tab|python}

{generate_code_example(python)|/messages/flags:post|example}

{tab|js}

More examples and documentation can be found here.

const zulip = require('zulip-js');

// Pass the path to your zuliprc file here.
const config = {
    zuliprc: 'zuliprc',
};

const flagParams = {
    messages: [4, 8, 15],
    flag: 'read',
};

zulip(config).then((client) => {
    // Add the "read" flag to messages with IDs 4, 8 and 15
    client.messages.flags.add(flagParams)
    .then(console.log)

    // Remove the "read" flag from said messages
    client.messages.flags.remove(flagParams)
    .then(console.log);
});

{tab|curl}

curl -X POST {{ api_url }}/v1/messages/flags \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    -d "messages=[4,8,15]" \
    -d "op=add" \
    -d "flag=starred"

{end_tabs}

Arguments

{generate_api_arguments_table|zulip.yaml|/messages/flags:post}

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](/help/star-a-message).
`collapsed` Whether the user has [collapsed this message](/help/collapse-a-message).
`mentioned` Whether the current user [was mentioned](/help/mention-a-user-or-group) by this message, either directly or via a user group. Not editable.
`wildcard_mentioned` Whether this message contained [wildcard mention](/help/mention-a-user-or-group#mention-everyone-on-a-stream) like @**all**. Not editable.
`mentioned` Whether the message contains any of the current user's [configured alert words](/help/add-an-alert-word). Not editable.
`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). Not editable.

Response

Return values

  • messages: An array with the IDs of the modified messages.

Example response

A typical successful JSON response may look like:

{generate_code_example|/messages/flags:post|fixture(200)}