WebExtension API Documentation for Thunderbird 143.0.1
Manifest V2
Introduction
Getting started
Guides Overview
Where to get help and more information
WebExtension API reference
accounts API
Permissions
Functions
get(accountId, [includeSubFolders])
getDefault([includeSubFolders])
getDefaultIdentity(accountId)
list([includeSubFolders])
setDefaultIdentity(accountId, identityId)
Events
onCreated
onDeleted
onUpdated
Types
ExtensionMailAccountType
MailAccount
MailAccountId
NativeMailAccountType
addressBooks API
Permissions
Functions
closeUI()
create(properties)
delete(id)
get(id, [complete])
list([complete])
openUI()
update(id, properties)
Events
onCreated
onDeleted
onUpdated
Types
AddressBookNode
NodeType
addressBooks.provider API
Permissions
Events
onSearchRequest
alarms API
Permissions
Functions
clear([name])
clearAll()
create([name], alarmInfo)
get([name])
getAll()
Events
onAlarm
Types
Alarm
browserAction API
Manifest file properties
Permissions
Functions
disable([tabId])
enable([tabId])
getBadgeBackgroundColor(details)
getBadgeText(details)
getBadgeTextColor(details)
getLabel(details)
getPopup(details)
getTitle(details)
isEnabled(details)
openPopup([options])
setBadgeBackgroundColor(details)
setBadgeText(details)
setBadgeTextColor(details)
setIcon(details)
setLabel(details)
setPopup(details)
setTitle(details)
Events
onClicked
Types
ColorArray
ExtensionFileUrl
ExtensionURL
IconPath
ImageDataDictionary
ImageDataType
OnClickData
ThemeIcons
browserSettings API
Permissions
Types
ColorManagementMode
ContextMenuMouseEvent
ImageAnimationBehavior
Properties
allowPopupsForUserEvents
cacheEnabled
contextMenuShowEvent
ftpProtocolEnabled
imageAnimationBehavior
overrideContentColorScheme
overrideDocumentColors
useDocumentFonts
verticalTabs
webNotificationsDisabled
zoomFullPage
browserSettings.colorManagement API
Permissions
Properties
mode
useNativeSRGB
useWebRenderCompositor
browsingData API
Permissions
Functions
remove(options, dataToRemove)
removeAppcache(options)
removeCache(options)
removeCookies(options)
removeDownloads(options)
removeFileSystems(options)
removeFormData(options)
removeHistory(options)
removeIndexedDB(options)
removeLocalStorage(options)
removePasswords(options)
removePluginData(options)
removeWebSQL(options)
settings()
Types
DataTypeSet
RemovalOptions
clipboard API
Permissions
Functions
setImageData(imageData, imageType)
cloudFile API
Manifest file properties
Permissions
Functions
getAccount(accountId)
getAllAccounts()
updateAccount(accountId, updateProperties)
Events
onAccountAdded
onAccountDeleted
onFileDeleted
onFileRename
onFileUpload
onFileUploadAbort
Types
CloudFile
CloudFileAccount
CloudFileTemplateInfo
RelatedCloudFile
commands API
Manifest file properties
Permissions
Functions
getAll()
openShortcutSettings()
reset(name)
update(detail)
Events
onChanged
onCommand
Types
Command
CommandsShortcut
KeyName
compose API
Permissions
Functions
addAttachment(tabId, attachment)
beginForward(messageId, [forwardType], [details])
beginNew([messageId], [details])
beginReply(messageId, [replyType], [details])
getActiveDictionaries(tabId)
getAttachmentFile(id)
getComposeDetails(tabId)
getComposeState(tabId)
listAttachments(tabId)
removeAttachment(tabId, attachmentId)
saveMessage(tabId, [options])
sendMessage(tabId, [options])
setActiveDictionaries(tabId, activeDictionaries)
setComposeDetails(tabId, details)
updateAttachment(tabId, attachmentId, attachment)
Events
onActiveDictionariesChanged
onAfterSave
onAfterSend
onAttachmentAdded
onAttachmentRemoved
onBeforeSend
onComposeStateChanged
onIdentityChanged
Types
ComposeAttachment
ComposeDetails
ComposeDictionaries
ComposeRecipient
ComposeRecipientList
ComposeState
CustomHeader
EncryptionPropertiesOpenPGP
EncryptionPropertiesSMIME
FileAttachment
composeAction API
Manifest file properties
Permissions
Functions
disable([tabId])
enable([tabId])
getBadgeBackgroundColor(details)
getBadgeText(details)
getBadgeTextColor(details)
getLabel(details)
getPopup(details)
getTitle(details)
isEnabled(details)
openPopup([options])
setBadgeBackgroundColor(details)
setBadgeText(details)
setBadgeTextColor(details)
setIcon(details)
setLabel(details)
setPopup(details)
setTitle(details)
Events
onClicked
Types
ColorArray
ExtensionFileUrl
ExtensionURL
IconPath
ImageDataDictionary
ImageDataType
OnClickData
ThemeIcons
composeScripts API
Permissions
Functions
register(composeScriptOptions)
Types
ExtensionFileOrCode
ExtensionURL
RegisteredComposeScript
RegisteredComposeScriptOptions
contacts API
Permissions
Functions
create(parentId, [id], properties)
delete(id)
get(id)
getPhoto(id)
list(parentId)
quickSearch([parentId], queryInfo)
setPhoto(id, file)
update(id, properties)
Events
onCreated
onDeleted
onUpdated
Types
ContactNode
ContactProperties
PropertyChange
QueryInfo
contentScripts API
Functions
register(contentScriptOptions)
Types
ExecutionWorld
ExtensionFileOrCode
ExtensionURL
MatchPattern
MatchPatternRestricted
MatchPatternUnestricted
RegisteredContentScript
RegisteredContentScriptOptions
RunAt
contextualIdentities API
Permissions
Functions
create(details)
get(cookieStoreId)
move(cookieStoreIds, position)
query(details)
remove(cookieStoreId)
update(cookieStoreId, details)
Events
onCreated
onRemoved
onUpdated
Types
ContextualIdentity
cookies API
Permissions
Functions
get(details)
getAll(details)
getAllCookieStores()
remove(details)
set(details)
Events
onChanged
Types
Cookie
CookieStore
OnChangedCause
PartitionKey
SameSiteStatus
declarativeNetRequest API
Manifest file properties
Permissions
Functions
getAvailableStaticRuleCount()
getDisabledRuleIds(options)
getDynamicRules([filter])
getEnabledRulesets()
getSessionRules([filter])
isRegexSupported(regexOptions)
testMatchOutcome(request, [options])
updateDynamicRules(options)
updateEnabledRulesets(updateRulesetOptions)
updateSessionRules(options)
updateStaticRules(options)
Types
GetRulesFilter
MatchedRule
ResourceType
Rule
UnsupportedRegexReason
URLTransform
Properties
DYNAMIC_RULESET_ID
GUARANTEED_MINIMUM_STATIC_RULES
MAX_NUMBER_OF_DISABLED_STATIC_RULES
MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
MAX_NUMBER_OF_DYNAMIC_RULES
MAX_NUMBER_OF_ENABLED_STATIC_RULESETS
MAX_NUMBER_OF_REGEX_RULES
MAX_NUMBER_OF_SESSION_RULES
MAX_NUMBER_OF_STATIC_RULESETS
SESSION_RULESET_ID
dns API
Permissions
Functions
resolve(hostname, [flags])
Types
DNSRecord
ResolveFlags
downloads API
Permissions
Functions
cancel(downloadId)
download(options)
drag(downloadId)
erase(query)
getFileIcon(downloadId, [options])
open(downloadId)
pause(downloadId)
removeFile(downloadId)
resume(downloadId)
search(query)
show(downloadId)
showDefaultFolder()
Events
onChanged
onCreated
onErased
Types
BooleanDelta
DangerType
DoubleDelta
DownloadItem
DownloadQuery
DownloadTime
FilenameConflictAction
InterruptReason
State
StringDelta
extension API
Functions
getBackgroundPage()
getURL(path)
getViews([fetchProperties])
isAllowedFileSchemeAccess()
isAllowedIncognitoAccess()
Types
ViewType
Properties
inIncognitoContext
lastError
folders API
Permissions
Functions
copy(source, destination)
create(destination, childName)
delete(folder)
get(folderId, [includeSubFolders])
getFolderCapabilities(folder)
getFolderInfo(folder)
getParentFolders(folder, [includeSubFolders])
getSubFolders(folder, [includeSubFolders])
getTagFolder(key)
getUnifiedFolder(type, [includeSubFolders])
markAsRead(folder)
move(source, destination)
query([queryInfo])
rename(folder, newName)
update(folder, updateProperties)
Events
onCopied
onCreated
onDeleted
onFolderInfoChanged
onMoved
onRenamed
onUpdated
Types
MailFolder
MailFolderCapabilities
MailFolderId
MailFolderInfo
MailFolderQuota
MailFolderSpecialUse
QueryDateRange
QueryRange
RegularExpression
Properties
DEFAULT_MOST_RECENT_LIMIT
i18n API
Manifest file properties
Functions
detectLanguage(text)
getAcceptLanguages()
getMessage(messageName, [substitutions])
getPreferredSystemLanguages()
getUILanguage()
Types
LanguageCode
identities API
Permissions
Functions
create(accountId, details)
delete(identityId)
get(identityId)
getDefault(accountId)
list([accountId])
setDefault(accountId, identityId)
update(identityId, details)
Events
onCreated
onDeleted
onUpdated
Types
EncryptionCapabilities
MailIdentity
identity API
Permissions
Functions
getAccounts()
getAuthToken([details])
getProfileUserInfo()
getRedirectURL([path])
launchWebAuthFlow(details)
removeCachedAuthToken(details)
Events
onSignInChanged
Types
AccountInfo
HttpURL
idle API
Permissions
Functions
queryState(detectionIntervalInSeconds)
setDetectionInterval(intervalInSeconds)
Events
onStateChanged
Types
IdleState
mailTabs API
Permissions
Functions
create([createProperties])
get(tabId)
getCurrent()
getListedMessages([tabId])
getSelectedFolders([tabId])
getSelectedMessages([tabId])
query([queryInfo])
setQuickFilter([tabId], properties)
setSelectedMessages([tabId], messageIds)
update([tabId], updateProperties)
Events
onDisplayedFolderChanged
onSelectedMessagesChanged
Types
FolderMode
MailTab
MailTabProperties
QuickFilterTextDetail
mailingLists API
Permissions
Functions
addMember(id, contactId)
create(parentId, properties)
delete(id)
get(id)
list(parentId)
listMembers(id)
removeMember(id, contactId)
update(id, properties)
Events
onCreated
onDeleted
onMemberAdded
onMemberRemoved
onUpdated
Types
MailingListNode
management API
Permissions
Functions
get(id)
getAll()
getSelf()
install(options)
setEnabled(id, enabled)
uninstallSelf([options])
Events
onDisabled
onEnabled
onInstalled
onUninstalled
Types
ExtensionDisabledReason
ExtensionID
ExtensionInfo
ExtensionInstallType
ExtensionType
HttpURL
IconInfo
menus API
Permissions
Functions
create(createProperties, [callback])
getTargetElement(targetElementId)
overrideContext(contextOptions)
refresh()
remove(menuItemId)
removeAll()
update(id, updateProperties)
Events
onClicked
onHidden
onShown
Types
ContextType
ItemType
MenuActionCommand
MenuIconDictionary
MenuIconPath
OnClickData
OnShowData
Properties
ACTION_MENU_TOP_LEVEL_LIMIT
messageDisplay API
Permissions
Functions
getDisplayedMessage([tabId])
getDisplayedMessages([tabId])
open(openProperties)
Events
onMessageDisplayed
onMessagesDisplayed
messageDisplayAction API
Manifest file properties
Permissions
Functions
disable([tabId])
enable([tabId])
getBadgeBackgroundColor(details)
getBadgeText(details)
getBadgeTextColor(details)
getLabel(details)
getPopup(details)
getTitle(details)
isEnabled(details)
openPopup([options])
setBadgeBackgroundColor(details)
setBadgeText(details)
setBadgeTextColor(details)
setIcon(details)
setLabel(details)
setPopup(details)
setTitle(details)
Events
onClicked
Types
ColorArray
ExtensionFileUrl
ExtensionURL
IconPath
ImageDataDictionary
ImageDataType
OnClickData
ThemeIcons
messageDisplayScripts API
Permissions
Functions
register(messageDisplayScriptOptions)
Types
ExtensionFileOrCode
ExtensionURL
RegisteredMessageDisplayScript
RegisteredMessageDisplayScriptOptions
messages API
Permissions
Functions
abortList(messageListId)
archive(messageIds)
continueList(messageListId)
copy(messageIds, destination, [options])
createTag(key, tag, color)
delete(messageIds, [options])
deleteAttachments(messageId, partNames)
deleteTag(key)
get(messageId)
getAttachmentFile(messageId, partName)
getFull(messageId, [options])
getRaw(message, [options])
import(file, destination, [properties])
list(folder)
listAttachments(messageId)
listInlineTextParts(messageId)
listTags()
move(messageIds, destination, [options])
openAttachment(messageId, partName, tabId)
query([queryInfo])
update(messageId, newProperties)
updateTag(key, updateProperties)
Events
onCopied
onDeleted
onMoved
onNewMailReceived
onUpdated
Types
InlineTextPart
MailBoxHeaderString
MessageAttachment
MessageHeader
MessageId
MessageList
MessagePart
MessageProperties
QueryRange
messages.tags API
Permissions
Functions
create([key], tag, color, [callback])
delete(key)
list()
update(key, updateProperties)
Events
onCreated
onDeleted
onUpdated
Types
MessageTag
MessageTagProperties
TagsDetail
messengerSettings API
Permissions
Properties
messageLineLengthLimit
messagePlainTextFlowedOutputEnabled
messengerUtilities API
Functions
convertToPlainText(body, [options])
decodeMimeHeader(headerName, headerValue, [isMailBoxHeader])
encodeMimeHeader(headerName, headerValue, [isMailBoxHeader])
formatFileSize(sizeInBytes)
parseMailboxString(mailboxString, [preserveGroups])
Types
MailboxHeaders
ParsedMailbox
notifications API
Permissions
Functions
clear(notificationId)
create([notificationId], options)
getAll()
getPermissionLevel()
Events
onClicked
onClosed
onPermissionLevelChanged
onShown
onShowSettings
Types
CreateNotificationOptions
NotificationItem
PermissionLevel
TemplateType
UpdateNotificationOptions
permissions API
Functions
contains(permissions)
getAll()
remove(permissions)
request(permissions)
Events
onAdded
onRemoved
Types
AnyPermissions
CommonDataCollectionPermission
MatchPattern
MatchPatternRestricted
MatchPatternUnestricted
OptionalDataCollectionPermission
OptionalOnlyPermission
OptionalPermission
OptionalPermissionNoPrompt
Permission
PermissionNoPrompt
PermissionPrivileged
Permissions
pkcs11 API
Permissions
Functions
getModuleSlots(name)
installModule(name, [flags])
isModuleInstalled(name)
uninstallModule(name)
privacy API
Permissions
privacy.network API
Permissions
Types
HTTPSOnlyModeOption
IPHandlingPolicy
tlsVersionRestrictionConfig
Properties
globalPrivacyControl
httpsOnlyMode
networkPredictionEnabled
peerConnectionEnabled
tlsVersionRestriction
webRTCIPHandlingPolicy
privacy.services API
Permissions
Properties
passwordSavingEnabled
privacy.websites API
Permissions
Types
CookieConfig
TrackingProtectionModeOption
Properties
cookieConfig
firstPartyIsolate
hyperlinkAuditingEnabled
referrersEnabled
resistFingerprinting
trackingProtectionMode
runtime API
Permissions
Functions
connect([extensionId], [connectInfo])
connectNative(application)
getBackgroundPage()
getBrowserInfo()
getContexts(filter)
getFrameId(target)
getManifest()
getPlatformInfo()
getURL(path)
openOptionsPage()
reload()
restart()
sendMessage([extensionId], message, [options])
sendNativeMessage(application, message)
setUninstallURL([url])
Events
onConnect
onConnectExternal
onInstalled
onMessage
onMessageExternal
onPerformanceWarning
onStartup
onSuspend
onSuspendCanceled
onUpdateAvailable
onUserScriptConnect
onUserScriptMessage
Types
BrowserInfo
ContextType
Event
ExtensionContext
MessageSender
OnInstalledReason
OnPerformanceWarningCategory
OnPerformanceWarningSeverity
OnRestartRequiredReason
PlatformArch
PlatformInfo
PlatformOs
Port
RequestUpdateCheckStatus
Properties
id
lastError
scripting API
Permissions
Functions
executeScript(injection)
getRegisteredContentScripts([filter])
insertCSS(injection)
registerContentScripts(scripts)
removeCSS(injection)
unregisterContentScripts([filter])
updateContentScripts(scripts)
Types
ContentScriptFilter
CSSInjection
ExecutionWorld
ExtensionURL
InjectionResult
InjectionTarget
RegisteredContentScript
RunAt
ScriptInjection
scripting.compose API
Permissions
Functions
getRegisteredScripts([filter])
registerScripts(scripts)
unregisterScripts([filter])
Types
ComposeScriptDetails
ComposeScriptFilter
ExtensionURL
RunAt
scripting.messageDisplay API
Permissions
Functions
getRegisteredScripts([filter])
registerScripts(scripts)
unregisterScripts([filter])
Types
ExtensionURL
MessageDisplayScriptDetails
MessageDisplayScriptFilter
RunAt
sessions API
Functions
getTabValue(tabId, key)
removeTabValue(tabId, key)
setTabValue(tabId, key, value)
spaces API
Permissions
Functions
create(name, tabProperties, [buttonProperties])
get(spaceId)
open(spaceId, [windowId])
query([queryInfo])
remove(spaceId)
update(spaceId, tabProperties, [buttonProperties])
Types
ColorArray
ExtensionFileUrl
ExtensionURL
IconPath
Space
SpaceButtonProperties
SpaceTabProperties
ThemeIcons
spacesToolbar API
Functions
addButton(id, properties)
clickButton(id, [windowId])
removeButton(id)
updateButton(id, properties)
Types
ButtonProperties
ColorArray
ExtensionFileUrl
ExtensionURL
IconPath
ThemeIcons
storage API
Permissions
Events
onChanged
Types
StorageArea
StorageAreaWithUsage
StorageChange
Properties
local
managed
session
sync
tabs API
Permissions
Functions
connect(tabId, [connectInfo])
create(createProperties)
duplicate(tabId)
executeScript([tabId], details)
get(tabId)
getCurrent()
insertCSS([tabId], details)
move(tabIds, moveProperties)
query([queryInfo])
reload([tabId], [reloadProperties])
remove(tabIds)
removeCSS([tabId], details)
sendMessage(tabId, message, [options])
update([tabId], updateProperties)
Events
onActivated
onAttached
onCreated
onDetached
onMoved
onRemoved
onUpdated
Types
CSSOrigin
InjectDetails
RunAt
Tab
TabStatus
TabType
UpdateFilter
UpdatePropertyName
WindowType
Properties
TAB_ID_NONE
theme API
Manifest file properties
Permissions
Functions
getCurrent([windowId])
reset([windowId])
update([windowId], details)
Events
onUpdated
Types
ExtensionURL
ImageDataOrExtensionURL
ThemeColor
ThemeExperiment
ThemeManifest
ThemeType
ThemeUpdateInfo
userScripts API
Manifest file properties
Permissions
Functions
register(userScriptOptions)
Events
onBeforeScript
Types
ExtensionFileOrCode
ExtensionURL
MatchPattern
MatchPatternRestricted
MatchPatternUnestricted
PlainJSONValue
RunAt
UserScriptOptions
webNavigation API
Permissions
Functions
getAllFrames(details)
getFrame(details)
Events
onBeforeNavigate
onCommitted
onCompleted
onCreatedNavigationTarget
onDOMContentLoaded
onErrorOccurred
onHistoryStateUpdated
onReferenceFragmentUpdated
onTabReplaced
Types
EventUrlFilters
TransitionQualifier
TransitionType
UrlFilter
webRequest API
Permissions
Functions
filterResponseData(requestId)
getSecurityInfo(requestId, [options])
handlerBehaviorChanged()
Events
onAuthRequired
onBeforeRedirect
onBeforeRequest
onBeforeSendHeaders
onCompleted
onErrorOccurred
onHeadersReceived
onResponseStarted
onSendHeaders
Types
BlockingResponse
CertificateInfo
CertificateTransparencyStatus
HttpHeaders
OnAuthRequiredOptions
OnBeforeRedirectOptions
OnBeforeRequestOptions
OnBeforeSendHeadersOptions
OnCompletedOptions
OnHeadersReceivedOptions
OnResponseStartedOptions
OnSendHeadersOptions
RequestFilter
ResourceType
SecurityInfo
TransportWeaknessReasons
UploadData
UrlClassification
UrlClassificationFlags
UrlClassificationParty
Properties
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
windows API
Permissions
Functions
create([createData])
get(windowId, [getInfo])
getAll([getInfo])
getCurrent([getInfo])
getLastFocused([getInfo])
openDefaultBrowser(url)
remove(windowId)
update(windowId, updateInfo)
Events
onCreated
onFocusChanged
onRemoved
Types
CreateType
GetInfo
Window
WindowState
WindowType
Properties
WINDOW_ID_CURRENT
WINDOW_ID_NONE
Guides
Working with WebExtension events
Events with additional parameters
Working with message lists
Working with queries
Working with vCard contacts
Updating legacy properties
Updating the vCard property
Working with WebExtension Experiments
Introduction to Experiment APIs
Extension manifest
Schema
Implementing functions
Implementing events
Using folder and message types
Using tabs and windows
WebExtension API Documentation for Thunderbird 143.0.1
Manifest V2
Index
Index