Record Type Commands
Commands for creating and managing Record Types and Custom Templates
A Keeper Record Type is a structured template that can contain any type of information such as logins, payment cards, SSH keys, servers, etc. The commands associated with Record Types are listed below.
Commands
Keeper Command Reference
Whether using the interactive shell, CLI or JSON config file, Keeper supports the following commands, each command supports additional parameters and options.
To get help on a particular command, run:
help <command>
All commands associated with record types
record-type-info or rti
List record types or see information about a specific record type
record-type or rt
Add, edit, or delete custom record types
convert
Convert legacy records to record-typed records
record-type-info command:
Command: record-type-info or rti
Detail: List available record types or display the field-level details of a specific record type
Switches:
-lr, --list-record <RECORD TYPE OR ID (optional)>
If record type name or ID is not given, lists all record type names and IDs
if a record type name or ID is given, displays the record type's details and fields
-lf, --list-field <FIELD NAME> show information about a specified field type. Can use "*" to show all fields.
-e, --example generate example json for a record type or field. *Must use with -lr or -lf
--syntax-help display extended help on record type parameters
--format <{csv, json, table}> choose the format to output in
--output <OUTPUT FILE> output results to a given file *ignored if table format is used
Examples:
Get syntax help
My Vault> rti --syntax-help
Get Record Types Command Syntax Description:
Column Name Description
recordTypeId Record Type Id
content Record type description in JSON format
--format:
csv CSV format
json JSON format
table Table format (default)
--example|-e: Print example JSON for the field or record type
--list-record|-lr: List specific record type - search by name or ID
--list-field|-lf: List specific field type - search by nameShow a list of record types:
My Vault> rti
Record Type ID Record Type Name
---------------- ------------------------------
1 address
2 bankAccount
3 bankCard
4 birthCertificate
5 contact
6 databaseCredentials
7 driverLicense
8 encryptedNotes
9 file
10 general
11 healthInsurance
12 login
13 membership
14 passport
15 photo
16 serverCredentials
17 softwareLicense
18 sshKeys
19 ssnCard
96 wifiCredentials
3000082 pamDatabase
3000083 pamDirectory
3000084 pamMachine
3000085 pamUser
3000093 pamRemoteBrowser
4000086 pamAwsConfiguration
4000087 pamAzureConfiguration
4000088 pamLocalConfiguration
4000089 pamNetworkConfiguration
4000094 pamDomainConfigurationShow the fields and JSON structure of the "login" record type:
My Vault> rti -lr login
Record Type ID Content
---------------- ----------------------------------
12 {
"$id": "login",
"categories": [
"login"
],
"description": "Login template",
"fields": [
{
"$ref": "passkey"
},
{
"$ref": "login"
},
{
"$ref": "password"
},
{
"$ref": "url"
},
{
"$ref": "fileRef"
},
{
"$ref": "oneTimeCode"
}
]
}Display a list of all field types:
/My Vault> rti -lf *
Field Type ID Type Lookup Multiple Description
---------------- ---------------- ------------- ---------- ------------------------------------------------------------------------------
text text plain text
secret text plain text
title text plain text
login login login Login field, detected as the website login for browser extension or KFFA.
password password Field value is masked and allows for generation. Also complexity enforcements.
name name name multiple fields to capture name
company text company plain text
phone phone phone optional numbers and symbols only plus tag
email email email optional valid email address plus tag
address address multiple fields to capture address
addressRef addressRef addressRef reference to the address field on another record
date date calendar date with validation, stored as unix milliseconds
expirationDate date calendar date with validation, stored as unix milliseconds
birthDate date calendar date with validation, stored as unix milliseconds
paymentCard paymentCard Field consisting of validated card number, expiration date and security code.
accountNumber text accountNumber plain text
groupNumber text plain text
bankAccount bankAccount accountNumber bank account information
cardRef cardRef bankCard default reference to the bankCard field on another record
note multiline multiline text
url url optional url string, can be clicked
fileRef fileRef default reference to the file field on another record
host host host optional multiple fields to capture host information
securityQuestion securityQuestion default Security Question and Answer
pinCode secret the field value is masked
oneTimeCode otp captures the seed, displays QR code
keyPair privateKey private key in ASN.1 format
licenseNumber multiline multiline text
multiline multiline multiline text
passkey passkey Password-less loginGet the field defails of the "host" field type:
My Vault> rti -lf host
Field Type ID Type Value Type Value Format
--------------- ------ ------------ ----------------------------
host host object {'hostName': '', 'port': ''}Show an example full JSON record of a "passport" type:
My Vault> rti -lr passport -e
{
"type": "passport",
"title": "text",
"notes": "text",
"fields": [
{
"type": "accountNumber",
"value": [
"text"
],
"label": "passportNumber"
},
{
"type": "name",
"value": [
{
"first": "text",
"middle": "text",
"last": "text"
}
]
},
{
"type": "birthDate",
"value": [
0
]
},
{
"type": "addressRef",
"value": []
},
{
"type": "expirationDate",
"value": [
0
]
},
{
"type": "date",
"value": [
0
],
"label": "dateIssued"
},
{
"type": "password",
"value": [
"text"
]
},
{
"type": "fileRef",
"value": []
}
],
"custom": []
}Write the record type information as a CSV to a file:
rti --output logs/record-types.csv --format csvrecord-type command:
Command: record-type or rt
Detail:
Add, modify, or delete custom record types
Parameters:
Record type ID (if updating or deleting)
Switches:
-a, --action <{add, update, remove}> action to perform
add - create a new custom record type
update - modify an existing custom record type
remove - delete an existing custom record type
--data <DATA> JSON formatted definition of the record type
Format:
Record types utilize the following formatting:
{
"$id": <record type name>,
"fields": [
{ "$ref": <field type>},
{ "$ref": <field type>, "label": <field label(optional)>, required: <true/false>}
]
}Example:
{
"$id":"My Record Type",
"fields": [
{
"$ref":"login",
"label":"AppLogin",
"required":true
},
{
"$ref":"name",
"label":"Your name"
},
{
"$ref":"address",
"required":true
}
]
}Use the following command to see a list of available field types: rti -lf *
Examples:
rt --action add --data '{"$id":"My Record Type", "fields": [{"$ref":"login","label":"AppLogin","required":true},{"$ref":"name","label":"Your name"},{"$ref":"address","required":true}]}'
rt 102 -a update --data '{"$id":"My Record Type", "fields": [{"$ref":"login","label":"AppLogin","required":true},{"$ref":"name","label":"Your name"}]}'
rt 102 -a removeAdd a new record type named "My Record Type"
Update the "My Record Type" record Type (which has an ID of 102 in this example). Here, the 'Address' field was removed
Remove the record type with ID 102
convert command:
Required Version: v16.5.9+
Command: convert
Detail: Convert legacy (General typed or untyped) records to typed records.
Parameters:
Pattern to match records in the current folder. Matches against UIDs and titles. Can use "?" to match any single character and "*" to match any number of characters
Switches:
-t, --record-type <RECORD TYPE OR ID > The type to convert records to
-q, --quiet Do not show info about matched and converted records
-u, --url <URL Pattern> Only converts records with URLs that match the given pattern. Can use "?" to match any single character and "*" to match any number of characters
-n, --dry-run Display the outcome of the conversion without converting any records
-r, --recursive apply conversion to all matching records in the current and child folders
--ignore-ownership convert records even if they are not owned by the current account
Examples:
convert Dtvb84zwkBmZgxrUByUfpg --record-type login
convert * --record-type login --recursive --dry-run
convert * -t login -r
convert *sql* -t databaseCredentials
convert *ssh-? -t sshKeys --recursiveConvert the untyped record with the given UID to a login type record
Perform a dry-run of conversion of all records in the vault and display what records would be converted. (will match all records if performed at the root directory)
Convert all untyped records in the vault to login type (if performed at the root directory)
Convert any untyped record that contains 'sql' in its name to a database credential
Convert any record that ends in ssh-<anything> to a sshKey type record
e.g convert a record titled "Github ssh-1" and a record titled "Github ssh-2"
Last updated
Was this helpful?

