ingest-pst
Reads an Outlook PST file, extracts each message (subject, body, headers, attachments), and uploads them as email entries into the workspace. Folders inside the PST are mirrored as graph folders.
Usage
curiosity-cli ingest-pst \
--server https://my-workspace.example.com/ \
--token $CURIOSITY_TOKEN \
--path /backups/alice@example.com.pst \
--source "Alice — Archive 2024"
Options
| Flag | Alias | Required | Default | Description |
|---|---|---|---|---|
--server |
-s |
yes | - | Workspace URL. |
--token |
-t |
yes | - | Library Token. |
--path |
-p |
yes | - | PST file to ingest. |
--source |
no | file name | Source label on every entry. Defaults to the PST file name. | |
--bandwidth |
no | unlimited | Cap upload rate in Mbps. | |
--upload-to |
no | Public |
Public, Group, UserPublic, UserPrivate. See Common Options. |
|
--target-uid |
no | - | UID of the Group/User when --upload-to is not Public. |
|
--ignore-folders |
no | (defaults) | ;-delimited, case-sensitive folder names to skip (with subfolders). Defaults skip standard Outlook folders like Deleted Items. |
|
--timeout |
no | 90 |
Per-request timeout in seconds. |
Windows-only impersonation
When running on Windows the command also accepts --username, --password, and --domain to impersonate a different account when reading the PST — useful when the file lives on a share that the CLI's own account cannot read.
Skipping folders
The defaults skip the typical noise folders (Deleted Items, Junk, etc.) for English Outlook. If your PST was created with a localized Outlook, override the list explicitly:
# German Outlook
curiosity-cli ingest-pst -s $URL -t $TOKEN \
--path /backups/anna.pst \
--ignore-folders "Gelöschte Elemente;Junk-E-Mail;Entwürfe"
To include every folder, pass any non-default sentinel — e.g. --ignore-folders IGNORE-NOTHING.
See also
inspect— dry-run reporting for folder ingestion (PSTs are not part of the inspect summary).upload-folder— for ingesting the files surrounding a PST archive.- Data Connector / Access control — how email visibility is enforced once messages are in the graph.