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.

PowerCommander

Command : Coming Soon

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 exists
Python 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-folders
DotNet SDK

Note: This function exports vault records, folders, and shared folder information to JSON format.

Functions:

  1. 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)
  1. 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

PowerCommander

Command : Coming Soon

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 exported
Python 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 (only keeper is currently implemented)

Flags:

  • filename: Output JSON filename (default: shared_folder_membership.json)

  • --force or -f: Overwrite existing file; if not set, data will be merged with existing file

  • --folders-only: Download shared folders only, skip teams

  • --permissions or -p: Force shared folder permissions - values: U (manage users), R (manage records)

  • --restrictions or -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 flatten
DotNet SDK

Note: This function downloads shared folder and team membership information from the vault.

Functions:

  1. Download to ExportFile object:

public static async Task<ExportFile> DownloadMembership(this VaultOnline vault,
    DownloadMembershipOptions options = null,
    Action<Severity, string> logger = null)
  1. Download to JSON string:

public static async Task<string> DownloadMembershipToJson(this VaultOnline vault,
    DownloadMembershipOptions options = null,
    Action<Severity, string> logger = null)
  1. Download to file:

public static async Task DownloadMembershipToFile(this VaultOnline vault,
    string filename,
    DownloadMembershipOptions options = null,
    Action<Severity, string> logger = null)
  1. 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

PowerCommander

Command : Coming Soon

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 handling

  • name : 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

DotNet CLI

Command : Coming Soon

DotNet SDK

Command : Coming Soon

PowerCommander

Command : Coming Soon

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 folders
Python 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 file
PowerCommander

Command : Export-KeeperRecordTypes

Flag :

  • Source - currently only keeper is 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"
Python SDK

Function: Not Supported

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: None
DotNet 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.json
Python CLI

Command: load-record-types

Parameters:

  • --file FILE : Path to the JSON file containing the record type definition.

Example:

My Vault> load-record-types --file ./record_type.json
Custom record types imported successfully. 1 record types were added.
Python SDK

Function: Not Supported

Last updated

Was this helpful?