bulk_update_flags
Apply or remove IMAP flags (e.g. \Seen, \Flagged) to multiple messages at once using explicit IDs or search criteria. Handles skipped flags per message.
Instructions
Add or remove IMAP flags on multiple messages simultaneously. Prefer update_message_flags for a single message when you need per-flag server verification. Use when the same flag change (e.g. \Seen, \Flagged) should apply to several messages. Accepts emailIds[] OR match+folder (XOR). Returns notApplied[] per message for flags the server silently dropped. \Seen/\Flagged/\Deleted are gated the same as mark_email_read/star_email/bulk_delete: each requires the matching action in PROTONMAIL_ALLOWED_ACTIONS, and setting \Deleted also requires confirmed:true when PROTONMAIL_CONFIRM_DESTRUCTIVE is enabled.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| match | No | Search criteria. XOR with emailIds. | |
| dryRun | No | ||
| folder | No | Source folder (required with match). | |
| emailIds | No | Explicit email IDs. XOR with match. | |
| confirmed | No | Pass true to confirm setting \\Deleted. Required when PROTONMAIL_CONFIRM_DESTRUCTIVE is enabled. | |
| flagsToAdd | No | IMAP flags to set, e.g. ["\\Seen", "\\Flagged"]. | |
| maxBatchSize | No | Maximum number of messages to process. Defaults to 500. Use to prevent runaway operations. | |
| flagsToRemove | No | IMAP flags to clear. |