DocsAPI ReferenceChangelogSupport
Concepts

Permissions

Every sensitive call in window.atlas is gated by a permission your manifest declares. Ask for the smallest set you need: a call you do not have permission for throws, so over-asking only adds risk, not power.

When they are checked

Most permissions are checked inside the SDK call, so a missing one throws at the moment you call it. Four are checked when Atlas validates your manifest instead: contextMenu.register, topbar.register, view.mount, and format.register become required the moment the matching declaration is present, and install fails without them.

Calls that need more than one

atlas.downloads.downloadToPath needs downloads.write and network.http; sending the result to your plugin cache also needs storage.self. atlas.imports.addFromUrl needs that whole chain plus an items-write permission. atlas.websites.* needs websites.connect and does not need network.http. atlas.modelResolver.registerCard needs models.resolve and imports.write.

Every permission

All 42, grouped by what they reach. atlas.images.read and atlas.images.write are legacy aliases, accepted anywhere items.read and items.write are.

Library

items.readRead item rows, the current selection, and search results.
items.writeImport files into the library as new items.
items.organizeRename, move, trash, rate, and annotate items that are already in the library.
atlas.images.readLegacy alias for items.read. Accepted everywhere items.read is.
atlas.images.writeLegacy alias for items.write. Accepted everywhere items.write is.
atlas.folders.readRead the folder tree, folder contents, quick access, and smart folders.
atlas.folders.writeCreate, rename, move, and delete folders, including smart folders.
atlas.tags.readList tags and read the tags on an item.
atlas.tags.writeCreate, rename, merge, and delete tags, and apply or remove them on items.
atlas.projects.readRead the registered projects and follow scan progress.
atlas.projects.writeAdd and remove projects, and trigger a rescan.
atlas.selection.readSubscribe to selection changes without holding full item read access.
atlas.navigation.writeMove the user: open a folder in the grid and set which items are selected.
atlas.search.readRun library searches without holding full item read access.

Metadata and relationships

metadata.readRead an item's metadata, its generation prompt, and plugin metadata namespaces — including other plugins' namespaces, which carry their pluginId.
metadata.writeWrite and delete your plugin's own metadata namespaces on an item.
links.readList the relationships recorded on an item, including ones other plugins created.
links.writeCreate and remove relationships between an item and another target.

Files and network

imports.writeCopy files into a folder and register generated cards as items.
downloads.writeDownload a URL to a path on disk or into your plugin's cache.
storage.selfUse your plugin's own key/value storage and its data, cache, temp, and log paths.
websites.connectMake requests to your declared websiteDomains using the user's own logged-in session.
network.httpMake host-mediated HTTP requests, which are not subject to CORS.

Surfaces

contextMenu.registerAdd entries to the image, folder, empty-area, and create menus.
topbar.registerAdd a topbar action that users can pin.
view.mountMount an inspector, a viewer, or an item action. Checked when the manifest is validated, not at call time.
grid.presentChange what the grid shows: hide items from every folder view without deleting them.
format.registerDeclare format providers for new file extensions. Manifest-only; there is no SDK method.
process.invokeRun your own plugin's background service commands. A plugin cannot invoke another plugin's service.
shortcuts.registerRegister named commands and bind them to keyboard shortcuts.

Host services

settings.readRead a host setting value.
settings.writeWrite a host setting value.
log.writeWrite to your plugin's log, readable from the Plugin Center.
notifications.showShow a host notification toast.
shell.openExternalOpen a URL in the user's default browser.
shell.openPathReveal a file or folder in the OS file manager.
dialog.openOpen the OS file or folder picker, or ask the user to confirm in Atlas's own dialog.
clipboard.readRead text from the clipboard.
clipboard.writeWrite text, an image, or file paths to the clipboard.
browser.bridgeMessage and control an embedded browser view from your plugin.

Native capabilities

convert.runRead the native format-conversion capability table and run conversion batches.
models.resolveScan for AI model weight files, hash them, read safetensors metadata, and compose model cards.
The reserved four are accepted in a manifest but no SDK method or manifest field reads them today. Declaring one grants nothing — it is listed so you can recognise it in an existing manifest, not so you can use it.