Share Link Bundles
Share link bundles group multiple documents into a single shareable archive. They support the full CRUD lifecycle plus a rebuild action.
Models
See pypaperless/models/share_links/bundle.py for all fields and pypaperless/models/types.py for enum and filter types, and the Paperless-ngx API docs for the upstream schema.
Fetch one
bundle = await paperless.share_link_bundles(3)
print(bundle.slug) # "xyz789abc"
print(bundle.status) # ShareLinkBundleStatus.READY
print(bundle.documents) # [42, 43]
print(bundle.size_bytes) # 204800
Iterate
Create
from pypaperless.models.share_links import ShareLinkFileVersion
draft = paperless.share_link_bundles.create(
document_ids=[42, 43],
file_version=ShareLinkFileVersion.ARCHIVE,
)
bundle_id = int(await paperless.share_link_bundles.save(draft))
print(bundle_id) # 3
Rebuild
Trigger a rebuild of an existing bundle (e.g. after documents change):
updated = await paperless.share_link_bundles.rebuild(3)
print(updated.status) # ShareLinkBundleStatus.PENDING
Update
import datetime
bundle = await paperless.share_link_bundles(3)
bundle.expiration = datetime.datetime(2026, 6, 1, tzinfo=datetime.timezone.utc)
changed = await paperless.share_link_bundles.update(bundle)
Delete
Raises DeletionError on failure. Pass silent_fail=True to suppress it.