Your question
How do I download a users address book in cardav format?
I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.
on
There is no single-click “export address book” button in the Stalwart WebUI, but you can download a user’s contacts in vCard/CardDAV format directly via the CardDAV URL. There are two approaches:
1. Using a CardDAV client (recommended)
Point any CardDAV-capable client (Thunderbird, Apple Contacts, etc.) at the autodiscovery endpoint /.well-known/carddav or directly at the address book URL:
https://<your-server>/dav/card/<account_name>
For example, alice’s default address book is at /dav/card/alice/default. The client will sync/export contacts in vCard format.
2. Using curl or similar HTTP tools
Because CardDAV is built on WebDAV, you can use a PROPFIND or addressbook-query request with HTTP Basic auth to retrieve all .vcf entries from the address book URL above. Tools like vdirsyncer or carddav-cli can automate a full export to .vcf files.
The docs note that the address book URL format is /dav/card/<account_name>, and the default address book (auto-created) lives at /dav/card/<account_name>/default.
Reference: Stalwart Contacts / CardDAV documentation
This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.
There’s no one-click “download address book” in the WebUI today. The
address book lives at /dav/card///, and you have
two practical options:
Point any CardDAV-aware client at that URL (Apple Contacts, Thunderbird
with CardBook, Evolution, vdirsyncer) and use its built-in
export-to-vCard. vdirsyncer is the standard single-command option if you
want a script.
If you’d rather just curl it, a PROPFIND with Depth: 1 on the
collection enumerates every .vcf resource on that address book; a GET on
each yields the vCard body, and concatenating them gives you a single
multi-card .vcf file. Plain curl is enough for both.