Import Export Commands
This page catalogues and details the usage of import export commands
Overview
Keeper Commander supports several powerful CLI commands for migrating and managing vault data. These commands facilitate data import from various formats, exporting vault contents, and synchronizing shared folder permissions and custom templates.
Commands
The following commands are supported
Import Command
Import records and folders into your Keeper vault from local files or external password managers.
DotNet CLI
Note: The dotnet implementation of this command supports only import of json file only.
Command: import
Flag:
filename : this is name of the file which contains json to be imported into keeper
Exception:
MyVault> import <file_path.json>DotNet SDK
Note: This function supports just json import of records.
Function:
public static ImportFile LoadJsonDictionary(IDictionary<string, object> importFile)Flag:
importFile: this is dictionary of the objects which constitute individual records or folders etc.
Python CLI
Command : import
Parameters :
name: file name (json, csv, keepass, 1password), account name (lastpass_lib), or URL (Thycotic)
Options:
--display-csv, -dc: display Keeper CSV import instructions--display-json, -dj: display Keeper JSON import instructions--format: {json, csv, keepass, lastpass, 1password, bitwarden, thycotic} file format--dry-run: display records to be imported without importing them--folder: IMPORT_INTO import into a separate folder.--filter-folder: FILTER_FOLDER import data from the specific folder only.-s, --shared: import folders as Keeper shared folders-p, --permissions: PERMISSIONS default shared folder permissions: manage (U)sers, manage (R)ecords, can (E)dit, can (S)hare, or (A)ll, (N)one--record-type: RECORD_TYPE Import legacy records as record type. login if empty--show-skipped: Display skipped records
Example:
My Vault> import /Users/user/Desktop/records.json --format json
Record "My Record" was skipped: A full record match already existsPython SDK
Class to use :
To import json records we can use the following class
class KeeperJsonImporter(import_data.BaseFileImporter, KeeperJsonMixin):To import records from LastPass we can use following class
class LastPassImporter(BaseImporter):To import records from key pass, we can use following class
class KeepassImporter(import_data.BaseFileImporter):This class object can be used as importer object for following functions
Function :
keepersdk.importer.import_utils.py
def do_import_vault(vault: vault_online.VaultOnline,
data_source: import_data.BaseImporter,
*,
import_logger: Optional[import_data.IImportLogger]=None,
filter_folder: Optional[str]=None,
**kwargs
) -> None:data source will be the object we have created earlier
Arguments
vault - VaultOnline instance
data_source - Importer Class
import_logger - This is logger object of class ImportData.
Export Command
This command allows you to export your vault data (records, folders, shared folders) from Keeper to your local system.
DotNet CLI
Note: The dotnet implementation of this command supports JSON export of vault data including records, folders, and shared folder information.
Command: export
Flags:
filename (required): Name of the output JSON file to export vault data
--force or -f (optional): Overwrite existing file without prompting
--exclude-shared-folders or -x (optional): Exclude shared folders from export
Examples:
MyVault> export vault_backup.json
MyVault> export vault_backup.json --force
MyVault> export vault_backup.json --exclude-shared-foldersDotNet SDK
Note: This function exports vault records, folders, and shared folder information to JSON format.
Functions:
Export to JSON string:
public static async Task<string> ExportVaultToJson(this VaultOnline vault,
IEnumerable<string> recordUids = null,
bool includeSharedFolders = true,
Action<Severity, string> logger = null)Export to file:
public static async Task ExportVaultToFile(this VaultOnline vault,
string filename,
IEnumerable<string> recordUids = null,
bool includeSharedFolders = true,
Action<Severity, string> logger = null)Flags:
vault: The authenticated VaultOnline instance
filename: Path to the output JSON file
recordUids: Optional list of specific record UIDs to export (null exports all)
includeSharedFolders: Whether to include shared folder information (default: true)
logger: Optional logging callback
Python CLI
Command: export
Parameters:
name: file name or console output if omitted
Options:
--format {json,csv,keepass}: file format--max-size MAX_SIZE: Maximum file attachment file. Example: 100K, 50M, 2G. Default: 10M--file-password FILE_PASSWORD: Password for the exported file--zip: Create ZIP archive for file attachments. JSON only--force: Suppress user interaction. Assume "yes"--folder FOLDER: Export data from the specific folder only.
Example:
My Vault> export "export-command.json" --folder "example folder" --format json
5 records exportedPython SDK
Function: KeeperJsonExporter.vault_export
from keepersdk.importer import keeper_format
exporter = KeeperJsonExporter
exporter.vault_export(items: List[Union[import_data.Record, import_data.SharedFolder, import_data.Team]])Download Membership Command
This command downloads the sharing settings of your shared folders, including:
Which users or teams have access
What permissions they have (read-only, edit, manage)
DotNet CLI
Note: The dotnet implementation downloads shared folder and team membership information for migration purposes. Currently supports only Keeper as the source.
Command: download-membership
Parameters:
--source: Membership source - valid values:keeper,lastpass,thycotic(onlykeeperis currently implemented)
Flags:
filename: Output JSON filename (default:shared_folder_membership.json)--forceor-f: Overwrite existing file; if not set, data will be merged with existing file--folders-only: Download shared folders only, skip teams--permissionsor-p: Force shared folder permissions - values:U(manage users),R(manage records)--restrictionsor-r: Force shared folder restrictions - values:U(manage users),R(manage records)--sub-folder: Shared sub-folder handling - values:ignore,flatten
Examples:
MyVault> download-membership --source keeper
MyVault> download-membership --source keeper membership.json
MyVault> download-membership --source keeper --force --folders-only
MyVault> download-membership --source keeper --permissions UR
MyVault> download-membership --source keeper --sub-folder flattenDotNet SDK
Note: This function downloads shared folder and team membership information from the vault.
Functions:
Download to ExportFile object:
public static async Task<ExportFile> DownloadMembership(this VaultOnline vault,
DownloadMembershipOptions options = null,
Action<Severity, string> logger = null)Download to JSON string:
public static async Task<string> DownloadMembershipToJson(this VaultOnline vault,
DownloadMembershipOptions options = null,
Action<Severity, string> logger = null)Download to file:
public static async Task DownloadMembershipToFile(this VaultOnline vault,
string filename,
DownloadMembershipOptions options = null,
Action<Severity, string> logger = null)Merge with existing file:
public static async Task MergeMembershipToFile(this VaultOnline vault,
string filename,
DownloadMembershipOptions options = null,
Action<Severity, string> logger = null)DownloadMembershipOptions:
FoldersOnly: Include only shared folders, skip teams (default: false)
ForceManageUsers: Force manage users permission for all users (nullable bool)
ForceManageRecords: Force manage records permission for all users (nullable bool)
SubFolderHandling: Subfolder handling mode - values:
"ignore","flatten"
Flags:
vault: The authenticated VaultOnline instance
filename: Path to the output JSON file
options: Configuration options for the download operation
logger: Optional logging callback
Python CLI
Command: download-membership
Parameters:
--source {keeper,lastpass,thycotic}: Shared folder membership source
Options:
-p, --permissions: PERMISSIONS force shared folder permissions: manage Users(U), manage Records(R).-r, --restrictions: RESTRICTIONS force shared folder restrictions: manage Users(U), manage Records(R).--folders-only: Unload shared folders only. Skip teams--sub-folder, -sf {ignore,flatten}: hared sub-folder handlingname: Output file name. "shared_folder_membership.json" if omitted.
Example:
My Vault> download-membership --source keeper
10 shared folder memberships added.Python SDK
Function: download_membership
download_membership(self, folders_only: Optional[bool] = False, **kwargs
) -> Iterable[Union[import_data.SharedFolder, import_data.Team]]:Apply Membership Command
This command restores or applies shared folder permissions from a JSON file created by download-membership.
Add the correct users/teams to folders
Set their permissions automatically
Python CLI
Command: apply-membership
Parameters:
name: Input file name. "shared_folder_membership.json" if omitted
Options:
--full-sync: Update and remove membership also.
Example:
My Vault> apply-membership ./shared_folder_membership.json
1 user(s) added to shared foldersPython SDK
Function: import_user_permissions
from keepersdk.importer import import_utils
import_utils.import_user_permissions(vault: vault_online.VaultOnline,
shared_folders: List[import_data.SharedFolder],
full_sync=False) -> UserPermissionSummary:Download Record Types Command
This command downloads your custom record types (templates you use for special data like server logins, SSH keys, etc.) into a JSON file.
DotNet CLI
Command: download-record-types
Flag:
source: this is source from which we are pulling record types from
Example:
My Vault> download-record-types keeper
Downloaded 12 record types to "<some_path>/record_types.json"DotNet SDK
Function:
vault.RecordTypes.ToList()Example:
var recordTypes = vault.RecordTypes.ToList();
// write recordTypes to filePowerCommander
Command : Export-KeeperRecordTypes
Flag :
Source- currently onlykeeperis supported.FileName- file name to store the data to, this can be file path too.SSHKeyAsFile- whether to store ssh keys as files or to store them as data, when set to true, files will be download.
Example:
PS> Export-KeeperRecordTypes
Downloaded 12 record types to '/<some path>/record_types.json'Python CLI
Command : download-record-types
Parameters :
--source {keeper}: Record Type Source. Only "keeper" is currently supported.
Options:
--ssh-key-file: Prefer store SSH keys as file attachments rather than fields on a record--name: NAME Output file name. "record_types.json" if omitted.
Example:
My Vault> download-record-types --name record_type.json --source keeper
Downloaded 13 record types to "file-path"Load Record Types Command
This command uploads your custom record types from a JSON file into Keeper.
Created templates in another account
Want to standardise templates across teams
DotNet CLI
Command : load-record-types
Flag :
--help: Display this help screen.--version: Display version information.<paraeter at position one>- File path to load record type from
Example:
My Vault > load-record-types ../custom-record.json
Record types loaded: 1
Existing Record Types which are skipped: None
Failed Record Types: NoneDotNet SDK
Function:
Task<string> AddRecordType(string recordTypeData)Flags:
recordTypeData
Example:
var parsedRecord = RecordTypeService.CreateRecordTypeObject(recordType);
var recordTypeID = await context.Vault.AddRecordType(Encoding.UTF8.GetString(JsonUtils.DumpJson(parsedRecord)));PowerCommander
Command: Import-KeeperRecordTypes
Flag:
-FilePath: File path for the record type file.
Example:
PS> Import-KeeperRecordTypes -FilePath ./record_type.jsonLast updated
Was this helpful?

