Apply and remove labels on one thread, or one message of it, to file it in a folder, star it or mark it read or unread - an Outlook mailbox's categories and its own folders are its labels. The ids come from labels_list. Adding STARRED to a thread stars its newest message the person received - on an Outlook mailbox, flags it - as their own mail app does, and removing it unstars every message. Adding SPAM junks it, and taking SPAM off brings it back to the inbox. Adding INBOX brings it back from the archive. In a Gmail connected by Google sign-in adding TRASH bins it too; an Outlook mailbox takes UNREAD, STARRED, SPAM and INBOX beside its categories and its folders, and no other id, and junks a thread's inbox messages alone, filing into one folder a call: adding a folder moves the messages into it from whatever folder each is in, and a folder is left only for another folder added - never Deleted Items, Junk or a folder under either, which threads_trash and SPAM own - or for INBOX, which brings them back; a Gmail mailbox whose provider is imap takes only UNREAD, STARRED, SPAM, INBOX and its own labels, several a call, as Gmail does, each message keeping its id; any other mailbox whose provider is imap takes only UNREAD, STARRED, SPAM, INBOX and its folders' labels, filing into one folder a call: adding a label moves the messages into its folder from whatever folder each is in - so removing one label and adding another moves them from one folder to the other - and removing labels alone moves their messages back to the inbox, each message moved taking a new id, which the answer names. There, and in an Outlook mailbox, a thread's sent mail and drafts, and any message in the provider's own scheduled, snoozed or outgoing folder - in an Outlook mailbox its copies of mail it could not sync too - stay where they are, untouched, each answered with skipped saying which. Outlook and a mailbox whose provider is imap take INBOX added, never removed - threads_archive takes a thread out of the inbox - and move nothing out of the bin, which is threads_untrash's: outside a Gmail, a binned message they would have moved is answered with skipped. With ids in place of id it takes 2 to 100 at once under one call's time, counted as one action: each thread it reached is answered under threads - done; notDone, saying why; or possiblyDone, moved in part or asked with no answer back, which threads_get - or messages_get for a message - reads to check - and each it did not reach, its time spent, its connection lost or the mailbox refusing it whole, is left untouched under notReached, for the same call again.