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.

Syntax

Usage: curiosity-cli ingest-pst --server <url> --token <token> --path <file> [options]

curiosity-cli ingest-pst \
  --server https://my-workspace.example.com/ \
  --token  $CURIOSITY_TOKEN \
  --path   /backups/alice@example.com.pst \
  --source "Alice — Archive 2024"

Options

Option Description
--server Workspace URL. Alias -s. Required.
--token Library Token. Alias -t. Required.
--path PST file to ingest. Alias -p. Required.
--source Source label on every entry. Default: the PST file name.
--bandwidth Cap upload rate in Mbps. Default: unlimited.
--upload-to Public, Group, UserPublic, UserPrivate. See Common Options. Default Public.
--target-uid UID of the Group/User when --upload-to is not Public.
--ignore-folders ;-delimited, case-sensitive folder names to skip (with subfolders). Default: skips standard Outlook folders like Deleted Items.
--timeout Per-request timeout in seconds. Default 90.

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.

Remarks

  • Use ingest-pst to bring an Outlook PST archive into the workspace as email entries, mirroring the PST's folder structure.
  • For a PST created with a localized Outlook, override --ignore-folders so the right noise folders are skipped.
  • PSTs are not covered by inspect; use --upload-to / --target-uid to control visibility of the imported messages.

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.
© 2026 Curiosity. All rights reserved.