Record Commands

This page gives information related to record commands

Overview

This section lists all the commands in Keeper’s Commander (CLI) that are related to manipulating records in the vault. “Record commands” in this context are things like record add, edit, get etc. The commands cover creating, viewing, editing, organizing, and managing these records and related attachments.

The following commands are currently supported by SDK

Along with record specific commands, SDK also supports record attachment functionalities. These can be found here. These include

Record Add Command

This command is used to add records to Keeper Vault. The command supports all record types, custom types, standard fields and custom fields.

DotNet CLI

Command : add-record

Parameters:

Parameter
Description

-t, --type

Record type (login, bankAccount, address, etc.)

--title

Record title

Options:

Option
Description

--folder

Folder name or UID where record will be created

-g, --generate

Generate random password

--self-destruct

Auto-delete after time period (5m, 2h, 1d, etc.)

Record Fields:

Add fields using fieldname=value format:

login=username              # Username/login field
password=secret123          # Password field  
url=https://example.com     # URL field
notes="Additional info"     # Notes field

Example:

My Vault> add-record --folder="Example Folder"  --type=login --title="Login Credentials" --generate login=test_user
Record created: record_uid
DotNet SDK

Function:

Task<KeeperRecord> CreateRecord(KeeperRecord record, string folderUid = null);

Arguments:

Argument
Type
Required
Description

record

KeeperRecord

Yes

Record data of type KeeperRecord containing all record information

folderUid

string

No

UID of folder in which to create the record (default: null = root folder)

Returns:

Task<KeeperRecord> - A task returning the created KeeperRecord with assigned UID

Example usage: can be found here

PowerCommander

Command : Add-KeeperRecord

Aliases: kadd

Parameters:

Option
Description

-RecordType

Specifies the record type (default: login)

-Title

Title of the record

Flags:

Option
Description

-Folder

UID of the folder where the record will be created

-GeneratePassword

Generates a new password and stores it in the created record

-Notes

Add notes to the record

-SelfDestruct

Timeout for the shared record URL (format: m, h, or d. Max: 180 days/6 months). Record disappears 5 minutes after viewing

Example:

PS > Add-KeeperRecord -RecordType login -Folder folder_uid -Title "Login Crendentials PowerShell" -GeneratePassword login=<username>
Record created: record_uid

PS > kadd -RecordType login -Folder folder_uid -Title "Login Crendentials PowerShell" -GeneratePassword login=<username>
Record created: record_uid

Usage example samples can be found here

Python CLI

Command: record-add

Parameters:

-t --title Title of the record (required)

-n --notes Record Notes

-rt --record-type Record type (required)

-f --folder Folder in which record is to be added

--self-destruct Timeout of the share record url. Set in m, h or d. Max 180days (6 months). Record disappears in 5mins after viewing

-f --force Ignore warnings and skip prompts

fields <field_type>=<value> List of fields with their values

Example:

My vault> record-add --title='New Record' --notes='Create self destructing record' --record-type='Login' --folder='Record folder UID' --self-destruct=180d login=<username> password=<password> url=https://keepersecurity.com/vault/login

Record self-destructs on 01/07/2025 00:00:00 or after being viewed once. Once the link is opened the recipient will have 5 minutes to view the record.
https://keepersecurity.com/vault/share#XX1X1XXXX_00_00x00X0xxx00Xx_X0xXXX-x0X0X0xx
Python SDK

Function: add_record_to_folder

vault = keepersdk.vault.vault_online.VaultOnline #initialize upon login

#Create record object based on record type
if record_type in ('legacy', 'general'):
    record = vault_record.PasswordRecord
else:
    record = vault_record.TypedRecord

#Assign field values based on fields and record type
set_fields(record, fields)

record.title = title
record.notes = notes

if attachments:
    keepersdk.vault.attachment.upload_attachments(vault, record, attachments)

record_uid = keepersdk.vault.record_management.add_record_to_folder(vault, record, folder_uid)

Record Update Command

This command is used to update existing records in Keeper Vault.

DotNet CLI

Command: update-record

Parameters:

Parameter
Description

record

The path or UID of the record to update

Options:

Option
Description

--title

Updates the title of the record

-t, --type

Record type (typed records only)

-g, --generate

Generates a random password and updates the existing record password field (Default: false)

--help

Display help screen

--version

Display version information

fields

Record fields to add/update in format fieldname=value

Example:

My Vault> update-record record_uid --type=login --title="Login Credentials" --generate login
=test_users
DotNet SDK

Functions:

Task<KeeperRecord> UpdateRecord(KeeperRecord record, bool skipExtra = true);

Arguments:

Argument
Type
Required
Description

record

KeeperRecord

Yes

Record object with updated data (must have valid UID)

skipExtra

bool

No

Skip updating file attachment information (default: true)

Returns:

Task<KeeperRecord> - A task returning the updated KeeperRecord

Example:

// Load existing record
var record = await vault.LoadRecord("ABC123XYZ456");

// Update as PasswordRecord
if (record is PasswordRecord passwordRecord)
{
    passwordRecord.Password = "NewSecurePassword123!";
    passwordRecord.Notes = "Password updated on " + DateTime.Now.ToString();
    
    // Update the record
    var updatedRecord = await vault.UpdateRecord(passwordRecord);
    Console.WriteLine($"Record updated: {updatedRecord.Title}");
}

Approach 2:

If multiple records are to be updated at once, then all of them can be updated

Function:

Task<IList<RecordUpdateStatus>> UpdateRecords(IEnumerable<KeeperRecord> records);

Returns:

Task<IList<RecordUpdateStatus>> - A task returning a list of update statuses for each record

RecordUpdateStatus Properties:

Property
Type
Description

RecordUid

string

UID of the record

Status

string

Update status: "success" or error message

Message

string

Additional status message or error details

Example:

// Update multiple records at once
var recordsToUpdate = new List<KeeperRecord>();

var record1 = await vault.LoadRecord("ABC123") as PasswordRecord;
record1.Password = "NewPassword1!";
recordsToUpdate.Add(record1);

var record2 = await vault.LoadRecord("DEF456") as PasswordRecord;
record2.Password = "NewPassword2!";
recordsToUpdate.Add(record2);

var record3 = await vault.LoadRecord("GHI789") as PasswordRecord;
record3.Password = "NewPassword3!";
recordsToUpdate.Add(record3);

var statuses = await vault.UpdateRecords(recordsToUpdate);

foreach (var status in statuses)
{
    if (status.Status == "success")
    {
        Console.WriteLine($"✓ Record {status.RecordUid} updated successfully");
    }
    else
    {
        Console.WriteLine($"✗ Record {status.RecordUid} failed: {status.Message}");
    }
}
PowerCommander

Command: Add-KeeperRecord

Aliases: kadd

Parameters:

  • -Uid : Record Uid of the record to be updated

Flags:

Option
Description

-GeneratePassword

Generate and update a new password for the record

-Title

Updated title of the record

-Notes

Update notes for the record

-Verbose

Display detailed operation information

-Debug

Display debugging information during execution

-ErrorAction

Specify how to respond to errors (Continue, Stop, SilentlyContinue, Ignore)

-WhatIf

Show what would happen if the cmdlet runs without actually executing

-Confirm

Prompt for confirmation before executing the command

Requirement:

This command updates record in current folder. so first change current directory to directory on which you want to create the folder. this can be done using Set-KeeperFolder command here

Example:

PS > Add-KeeperRecord -Uid "record_uid" -Title "Updated Title" [email protected]
Record updated: record_uid
UID                    Type    Title           Info
---                    ----    -----           ----
record_uid             login   Updated Title   [email protected]

PS > kadd -Uid "record_uid" -Title "Updated Title" [email protected]
Record updated: record_uid
UID                    Type    Title           Info
---                    ----    -----           ----
record_uid             login   Updated Title   [email protected]
Python CLI

Command: record-update

Parameters:

-t --title Modify record title (required)

-rt --record-type Modify record type (required)

-n --notes Append/modify notes

-r --record UID or path to be modified (required)

fields <field type>=<value> List of fields with their values

Options:

-f --force Ignore warnings

Example:

My Vault> record-update --record='record_uid' --title='New Record2' -f -rt='general' -n='Updated record through CLI' login='user123' passwords='new_password' url=https://keepersecurity.com
Python SDK

Function: update_record

Example:

from keepersdk.vault import record_management, vault_record

vault = keepersdk.vault.vault_online.VaultOnline #initialize upon login

record = vault.vault_data.load_record(record_uid=uid)

if not isinstance(record, vault_record.PasswordRecord | vault_record.TypedRecord):
    raise ValueError('Record cannot be updated')
    
#Assign field values based on fields and record type
set_fields(record, fields)

if title:
    record.title = title
if notes:
    record.notes = notes

if attachments:
    keepersdk.vault.attaachment.upload_attachments(vault, record, attachments)

record_management.update_record(vault, record)

Record Delete Command

Use this command to delete multiple records from your personal vault folders. The delete record will exist in the owner's vault and if all record instances are deleted, it remains in the trash can of owner's vault

DotNet CLI

Command: rm

Flags:

  • --help : Display this help screen.

  • --version : Display version information.

  • record title, uid, or pattern : The UID/Title of the folder which will be deleted.

Example:

My Vault> rm record_uid
1 Record(s) will be removed from shared folders.  Access to these records will no longer be available to members of these shared folders.
Note: If the last reference to a record is removed, the record can be found in the owner's trash can. If the trash can is then emptied, the record is no longer recoverable.
Type "yes" to confirm, <Enter> to cancel
> yes
DotNet SDK

Function: DeleteRecords

Task DeleteRecords(RecordPath[] records);

Arguments:

records - an array of record paths.

Exceptions:

Authentication.KeeperApiException
PowerCommander

Command: Remove-KeeperRecord

Aliases: kdel

Parameters:

  • Name - Record name to delete

Examples:

PS > Remove-KeeperRecord -Name "abc123xyz"
PS > kdel "RecordUID1", "RecordUID2"
Python CLI

Command: rm

Parameters:

  • records Uid for records to be deleted (required)

Options:

  • -f --force Delete without prompts

Example:

My Vault> rm record_uid
1 Record(s) will be removed from your personal folder.
Note: If the last reference to a folder is removed, it can be found in the owners trash can. If the trash can is then emptied, the record is no longer recoverable. (y/n): y
Python SDK

Function: delete_vault_objects

Example:

record_management.delete_vault_objects(
            vault=context.vault,
            vault_objects=record_uids, #str
            confirm=confirm_fn #Optional - send a callable function for confirm deletion
        )

List Command

This command displays a list of all records available in Keeper Vault in a tabular format. Each row contains Record UID, title, type, description and whether the record is shared with other users.

DotNet CLI

Command: search

Parameters:

  • argument 1 : pattern to match in search (Required).

Flags:

  • --verbose : show all data

  • --limit : number of records to show

Example:

My Vault> search demo
  #  Record UID              Title                      Type   Info                                         
---  ----------------------  -------------------------  -----  ---------------------------------------------
  1  record_uid              Demo Record 1              login  [email protected] (at) https://demo.acmecorp.com
  2  record_uid              DemoRecordForWeakPassword  login  [email protected]                                

First 2 found records are shown.
DotNet SDK

Function: vault.KeeperRecords

To get similar functionality, we need to get records from Keeper Records list from vault context

vault.KeeperRecords
                .Where(x => options.Verbose || x.Version == 2 || x.Version == 3)
Power Commander

In PowerCommander, users may need to run various list commands to obtain details about different types.

Example:

  • Get-KeeperEnterpriseTeamUser or ketu : Get a list of enterprise users for team

  • Get-KeeperEnterpriseRoleUsers or keru : Get a list of enterprise users for role.

  • Get-KeeperEnterpriseRoleTeams or kert : Get a list of enterprise teams for role

  • Get-KeeperBreachWatchList or kbw : List passwords which are breached based on breachwatch.

Python CLI

Command: list

Alias:l

Options:

-t --type Used to list records of certain types. Can be repeated by appending

-v --verbose Used to display long titles

--format Table, csv, json

--output Path to output file

search_text List criteria

Example:

My Vault> list

  #  Record UID              Type     Title                            Description                                Shared
---  ----------------------  -------  -------------------------------  -----------------------------------------  --------
  1  record_uid              login    abc                              [email protected]                              True
Python SDK

Function: find_records

Example:

records = [x for x in vault.vault_data.find_records(criteria=Optional[str], record_type=Optional[Union[str, Iterable[str]]], record_version=Optional[Union[int, Iterable[int]]])]

Note:

  • criteria : Text to be present in the record

  • record_types : Return record of given record types

  • record_version : Return record of given record version

Get Record Command

This command is used specifically for fetching records. The get command in DotNet and Python SDKs is listed under miscellaneous commands, which fetches record, team, folder and share folder.

DotNet CLI

Command: get

Parameters:

  • uid : Uid of Record or Shared folder or Folder

Example:

My Vault> get record_uid                       

                    Record UID:  record_uid                
                          Type:  login                                 
                         Title:  Login Record                          
                         Notes:                                        
                      $passkey:                                        
                        $login:  [email protected]                   
                     $password:  random_password                  
                          $url:                                        
                      $fileRef:                                        
                 Last Modified:  Wednesday, August 13, 2025 12:04:28 PM
                                                                       
                   User Shares:                                        
       [email protected]  Can Edit                              
       [email protected]  Owner                                 
                                                                       
                Shared Folders:                                        
                New Test Folder  Read Only                             
DotNet SDK

The current implementation of the command in dotnet cli follows searching of the given UID among different categories

vault.TryGetKeeperRecord(uid, out var record)

If UID is not found in record, then we move ahead to searching for UID among folders

vault.TryGetSharedFolder(uid, out var sf)

If UID is not found in shared folder, then we check folders

vault.TryGetFolder(uid, out var f
Power Commander

Command: Get-KeeperRecord

Aliases: kr

Parameters:

  • Uid : returns record with matching Uid

Flags:

  • Filter : Matches record content with what is given and returns matching ones

Examples:

# Get specific record
PS > Get-KeeperRecord -Uid "abc123xyz"
PS > kr -Uid "abc123xyz"

# Get all records
PS > Get-KeeperRecord
PS > kr

# Search records
PS > Get-KeeperRecord -Filter "gmail"
PS > kr -Filter "password"
Python CLI

Command: get <UID>

Parameters:

  • uid UID or title to search for (optional when using -f, -t, or -r flags)

  • -f, --folder Folder UID or title to search for

  • -t, --team Team UID or title to search for

  • -r, --record Record UID or title to search for

Options:

--format Supported display types - json, details, fields or password

--unmask Show sensitive data in output such as passwords

--legacy Show typed records as legacy

Example:

My Vault> get record_uid

                 UID: record_uid
                Type: login               
               Title: test
               login: 134234           
            password: ********            
                 url: https://email.com   

User Permissions:

User: [email protected]
Shareable: Yes
Read-Only: No


Shared Folder Permissions:

Shared Folder UID: shared_folder_uid


Share Admins:
[email protected]
Python SDK

Function: load_record

Example:

record = vault.vault_data.load_record(record_uid=uid)

The load_record returns the record details. There are 4 types of records:

  • PasswordRecord - legacy or general

  • TypedRecord

  • FileRecord

  • ApplicationRecord

These classes are defined in keepersdk.vault.vault_record

Record History Command

This command is used to list (default action) revisions or changes in a record, view a particular revision, see differences in between revision and restore old revisions in a record. Here revision can be equated to a change version for a specific record

DotNet CLI

Command: record-history

Parameters:

  • recordUid : UID of the record whose history has to be searched.

Example:

My Vault> record-history UTgy0U90whWp78sFAcsav
Version  Modification Date       Username                       Changed        
-------  ----------------------  -----------------------------  ---------------
V.2      9/30/2025 1:00:20 PM     [email protected]                  Login, Password
V.1      12/19/2024 12:23:45 PM   [email protected]               
DotNet SDK

Functions:GetRecordHistory

public async Task<RecordHistory[]> GetRecordHistory(string recordUid)

Arguments:

recordUid : UID of the record whose history has to be shown

Power Commander

Command : Coming Soon

Python CLI

Command: record-history

Parameters:

--format Table, csv, Json

--output Path to resulting output file (ignored for "table" format)

-a --action Supported actions are list, diff, view, restore

-r, --revision Revision of the record to be shown or restored to

record Record UID or path (required)

Options:

  • -v, --verbose Show Verbose output

Example:

My Vault> record-history -a='list' record_uid
Version    Modified By                      Time Modified
---------  -------------------------------  -------------------
Current    [email protected]      2025-09-30 18:36:58
V.5        [email protected]      2025-09-26 18:00:27
V.4        [email protected]      2025-09-24 11:51:50
V.3        [email protected]      2024-12-30 12:21:59
V.2        [email protected]      2024-12-02 12:39:20
V.1        [email protected]      2024-12-02 12:16:15
Python SDK

Function: Not Supported

Clipboard Copy Command

This command retrieves data from a record (password, login, TOTP, custom fields) and outputs it to various destinations including clipboard, stdout, or environment variables.

This command is also aliased as find-password

DotNet CLI

Command: clipboard-copy

Alias: cc, find-password

Flags:

  • record: Record path or UID to retrieve data from

  • --username : Match login name when multiple records exist with the same name

  • --output : Output destination - values: clipboard (default), stdout, stdouthidden, variable

  • --name : Variable name when output is set to variable

  • --copy-uid : Output UID instead of password

  • -l, --login : Output login name instead of password

  • -t, --totp : Output TOTP code instead of password

  • --field : Output specific custom field (use field:property for nested values)

  • -r, --revision : Use specific record revision

Examples:

MyVault> clipboard-copy myrecord

MyVault> cc myrecord --output stdout

MyVault> find-password myrecord --login

MyVault> clipboard-copy myrecord --totp

MyVault> clipboard-copy myrecord --field notes

MyVault> clipboard-copy myrecord --field phone:number

MyVault> clipboard-copy myrecord --output variable --name MY_PASSWORD

MyVault> clipboard-copy myrecord --username [email protected]
Power Commander

Command : Coming Soon

Python CLI

Command : Coming Soon

Python SDK

Function: Not Supported

Find Duplicates Command

This command searches for duplicate records in your vault based on various matching criteria. It can display duplicates or automatically merge/remove them.

DotNet CLI

Command: find-duplicates

Flags:

  • --title : Match duplicates by title

  • --login : Match duplicates by login

  • --password : Match duplicates by password

  • --url : Match duplicates by URL (also displays URL in results)

  • --shares : Match duplicates by share permissions

  • --full : Match duplicates by all fields including custom fields

  • -m, --merge : Consolidate duplicate records (removes all but first in each group)

  • --ignore-shares-on-merge : Ignore share permissions when grouping duplicates to merge

  • -f, --force : Delete duplicates without confirmation (valid only with --merge)

  • -n, --dry-run : Simulate removing duplicates without actually removing them (valid only with --merge)

  • -q, --quiet : Suppress screen output (valid only with --force)

  • -s, --scope : Search scope - values: vault (default), enterprise

  • -r, --refresh-data : Populate local cache with latest data (valid only with --scope=enterprise)

Examples:

MyVault> find-duplicates --title --login

MyVault> find-duplicates --password --url

MyVault> find-duplicates --full

MyVault> find-duplicates --title --login --merge

MyVault> find-duplicates --title --login --merge --force

MyVault> find-duplicates --title --login --merge --dry-run

MyVault> find-duplicates --shares --scope vault
Power Commander

Command : Coming Soon

Python CLI

Command : Coming Soon

Python SDK

Function: Not Supported

Last updated

Was this helpful?