### Get Team List (C# SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/team-commands This C# SDK example demonstrates how to retrieve a list of teams from the vault and print their company and name. ```APIDOC ## Get Team List (C# SDK) ### Description Retrieves a list of teams from the vault and iterates through them to display company and team name. ### Method Asynchronous method call within the SDK. ### Endpoint N/A (SDK method) ### Parameters None ### Request Example ```csharp var teams = await vault.GetTeamList(); foreach (var team in teams) { Console.WriteLine($"{team.Company} - {team.Name}"); } ``` ### Response #### Success Response (200) - **teams** (List) - A list of team objects, where each team object contains properties like 'Company' and 'Name'. #### Response Example ```json [ { "Company": "Keeper Security", "Name": "example team" } ] ``` ``` -------------------------------- ### Get Command (DotNet CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands Retrieves information for a given UID (Record, Folder, or Shared Folder) and displays it in a detailed format. ```APIDOC ## GET /websites/keeper_io_en_keeperpam_commander-sdk ### Description Retrieves information for a given UID, which can be for a record, folder, shared folder, or team. The output can be formatted as JSON or a list of details. ### Method GET ### Endpoint Not applicable (CLI command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```bash My Vault> get ``` ### Response #### Success Response (200) - **uid** (string) - The unique identifier of the record, folder, or shared folder. - **type** (string) - The type of the item (e.g., 'login'). - **title** (string) - The title of the record. - **notes** (string) - Any notes associated with the record. - **$passkey** (string) - Passkey information (if applicable). - **$login** (string) - Login username. - **$password** (string) - The record's password. - **$url** (string) - The associated URL. - **$fileRef** (string) - File reference information. - **lastModified** (string) - The date and time the record was last modified. - **userShares** (array) - Information about user shares. - **sharedFolders** (array) - Information about shared folders. #### Response Example ```json { "Record UID": "", "Type": "login", "Title": "Login Record", "Notes": null, "$passkey": null, "$login": "example@example.com", "$password": "random password", "$url": null, "$fileRef": null, "Last Modified": "Wednesday, August 13, 2025 12:04:28 PM", "User Shares": [ "user@example.com Can Edit", "user@example.com Owner" ], "Shared Folders": [ "New Test Folder Read Only" ] } ``` ``` -------------------------------- ### Fetch Record Details using DotNet CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-commands The DotNet CLI 'get' command retrieves specific record details using a provided UID. It displays information such as record type, title, login credentials, URL, and sharing permissions. The command requires a valid record UID as input. ```bash My Vault> get record_uid Record UID: record_uid Type: login Title: Login Record Notes: $passkey: $login: example@example.com $password: random_password $url: $fileRef: Last Modified: Wednesday, August 13, 2025 12:04:28 PM User Shares: user@example.com Can Edit user@example.com Owner Shared Folders: New Test Folder Read Only ``` -------------------------------- ### Retrieve Record/Folder Information (DotNet CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands The 'get' command in DotNet CLI retrieves details for a given UID, which can represent a record, folder, or shared folder. The output can be displayed as JSON or a detailed list. This command requires a valid UID as input. ```bash My Vault> get ``` -------------------------------- ### Get Command (Python CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands Fetches record details using a UID and supports various output formats and options for displaying sensitive data. ```APIDOC ## GET /websites/keeper_io_en_keeperpam_commander-sdk ### Description Retrieves information for a given UID (Record, Folder, or Shared Folder) with options for output format and unmasking sensitive data. ### Method GET ### Endpoint Not applicable (CLI command) ### Parameters #### Path Parameters None #### Query Parameters - **--format** (string) - Supported display types: 'json', 'details', 'fields', or 'password'. - **--unmask** (boolean) - Show sensitive data in output, such as passwords. - **--legacy** (boolean) - Show typed records as legacy. #### Request Body None ### Request Example ```sh My Vault> get record_uid --format details --unmask ``` ### Response #### Success Response (200) - **UID** (string) - The unique identifier of the record. - **Type** (string) - The type of the record (e.g., 'login'). - **Title** (string) - The title of the record. - **login** (string) - The login username. - **password** (string) - The record's password (masked or unmasked). - **url** (string) - The associated URL. - **User Permissions** (object) - Details about user permissions. - **Shared Folder Permissions** (object) - Details about shared folder permissions. #### Response Example ```json { "UID": "record_uid", "Type": "login", "Title": "test", "login": "134234", "password": "********", "url": "https://email.com", "User Permissions": { "User": "user@email.com", "Shareable": "Yes", "Read-Only": "No" }, "Shared Folder Permissions": { "Shared Folder UID": "shared_folder_uid" }, "Share Admins": [ "users@email.com" ] } ``` ``` -------------------------------- ### Download PEDM Deployment Token using Python CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/pedm-commands/pedm-deployment-commands Retrieves the deployment token required for PEDM agent installation. This command can display the token on screen or save it to a file using the `--file` flag. The `--verbose` flag shows download URLs for agent installation packages. ```bash My Vault> pedm deployment download Production --verbose Windows download URL: https://keepersecurity.com/pam/pedm/packages/keeper-pedm-windows.zip MacOS download URL: https://keepersecurity.com/pam/pedm/packages/keeper-pedm-macos.zip Linux download URL: https://keepersecurity.com/pam/pedm/packages/keeper-pedm-linux.zip Deployment Token: us.keepersecurity.com:abc123def456:xyz789token ``` -------------------------------- ### Version Command Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands Shows the version of the Keeper Commander CLI, along with environment details like installation path and OS. ```APIDOC ## Version Command ### Description Shows the version of the Keeper Commander CLI, along with environment details like installation path and OS. This command may require the user to be logged out. ### Method CLI Command / SDK Function (Not Supported) ### Endpoint N/A (CLI Command) ### Parameters None ### Request Example #### DotNet CLI (Requires logout) ```bash My Vault> logout Not logged in> version ``` #### Python CLI ```bash My Vault> version ``` ### Response #### Success Response - **Keeper Client Version** (string) - The version of the Keeper Client. - **Commander Version** (string) - The version of the Commander CLI. #### Response Example ``` Keeper Client Version: c17.0.0 ``` ``` Commander Version 17.0.0 ``` ``` -------------------------------- ### Get Command (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands Loads a specific record from the vault using its unique identifier. ```APIDOC ## GET /websites/keeper_io_en_keeperpam_commander-sdk ### Description Loads a record from the vault using its unique identifier. This function returns a record object which can be one of several types (PasswordRecord, TypedRecord, FileRecord, ApplicationRecord). ### Method GET ### Endpoint Not applicable (SDK function) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```python record = vault.vault_data.load_record(record_uid=uid) ``` ### Response #### Success Response (200) - **record** (object) - A record object (e.g., PasswordRecord, TypedRecord, FileRecord, ApplicationRecord) containing the record's details. #### Response Example (Example depends on the specific record type returned) ```python # Example for a PasswordRecord print(record.title) print(record.login) print(record.password) ``` ``` -------------------------------- ### Fetch Record Details via Python CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-commands The Python CLI 'get' command fetches record details using a UID or title. It supports optional flags for filtering by folder, team, or record, and provides options for output format (`--format`), unmasking sensitive data (`--unmask`), and handling legacy records (`--legacy`). ```sh My Vault> get record_uid UID: record_uid Type: login Title: test login: 134234 password: ******** url: https://email.com User Permissions: User: user@email.com Shareable: Yes Read-Only: No Shared Folder Permissions: Shared Folder UID: shared_folder_uid Share Admins: users@email.com ``` -------------------------------- ### Get Device Information - DotNet CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands/this-device-commands Retrieves information about the current device, including its name, client version, and login settings. This command helps in understanding the device's configuration for login support. ```bash My Vault> this-device Device Name: PowerShell Commander Client Version: Commander 17.0.0 Data Key Present: True IP Auto Approve: True Persistent Login: False Logout Timeout: 1 hour(s) Biometric Login: False Available sub-commands: rename, register, persistent_login, ip_disable_auto_approve, timeout, bio ``` -------------------------------- ### Retrieve Record Information (Python CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands The Python CLI 'get' command retrieves record details using a UID. It supports various output formats like 'json', 'details', 'fields', or 'password' via the `--format` flag. Sensitive data can be revealed using `--unmask`. ```sh My Vault> get record_uid ``` -------------------------------- ### Trash Get Command Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/trash-commands Retrieves and displays information about a specific trashed record. Supported interfaces include DotNet CLI, Power Commander, Python CLI, and Python SDK. ```APIDOC ## GET /trash/get/{recorduid} ### Description Fetches and displays the details of a trashed record. ### Method GET ### Endpoint /trash/get/{recorduid} ### Parameters #### Path Parameters - **recorduid** (string) - Required - The unique identifier of the trashed record to retrieve. ### Response #### Success Response (200) - **title** (string) - The title of the record. - **type** (string) - The type of the record (e.g., address, login). - **details** (object) - An object containing specific fields based on the record type (e.g., address, login, password). #### Response Example ```json { "title": "defws", "type": "address", "details": { "address": "fdvefcq \u0077\u0066\u0077, esvbwqe, \u0077\u0065\u0062\u0076\u0077\u0065 \u0062\u0065\u0076\u0077\u0065\u0064\u0073, DZ" } } ``` ``` -------------------------------- ### Get User Information (DotNet SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands Represents the function signature for retrieving user information within the DotNet SDK. This function is part of the Authentication context and is used to access details about the current user. ```csharp private Task WhoamiCommand(string _) ``` -------------------------------- ### Manage Team Membership (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-team-commands Provides a Python SDK example for batch managing team memberships, including adding and removing users and roles. This involves using the BatchManagement class and iterating through enterprise data. ```python from keepersdk.enterprise import batch_management, enterprise_management from typing import Dict, List, Optional, Union from keepersdk import enterprise_types # Assuming enterprise_loader, enterprise_manager_logger, and enterprise_data are initialized team_names = ['team uids or names'] batch = batch_management.BatchManagement(loader=enterprise_loader, logger=enterprise_manager_logger) team_names_to_remove = {} team_lookup: Dict[str, Union[enterprise_types.Team, List[enterprise_types.Team]]] = {} for team in enterprise_data.teams.get_all_entities(): team_lookup[team.team_uid] = team team_name = team.name.lower() t = team_lookup.get(team_name) if t is None: team_lookup[team_name] = team elif isinstance(t, list): t.append(team) elif isinstance(t, enterprise_types.Team): team_lookup[team_name] = [t, team] found_teams: Dict[str, enterprise_types.Team] = {} t: Optional[enterprise_types.Team] for team_name in team_names_to_remove: t = None if isinstance(team_name, str): t = enterprise_data.teams.get_entity(team_name) if t is None: tt = team_lookup.get(team_name.lower()) if isinstance(tt, list): if len(tt) == 1: t = tt[0] elif len(tt) >= 2: continue elif isinstance(tt, enterprise_types.Team): t = tt if t is None: continue found_teams[t.team_uid] = t team_list = list(found_teams.values()) users_to_add: Optional[List[enterprise_types.User]] = [] roles_to_add: Optional[List[enterprise_types.Role]] = [] users_to_remove: Optional[List[enterprise_types.User]] = [] roles_to_remove: Optional[List[enterprise_types.Role]] = [] has_remove_all_users: bool = False has_remove_all_roles: bool = False add_users = ['list of usernames to add'] if isinstance(add_users, list): for add_user in add_users: user = [user for user in enterprise_data.users.get_all_entities() if user.username.lower() == add_user.lower()] if user: users_to_add.append(user[0]) add_roles = ['list of roles to add'] if isinstance(add_roles, list): for role_name in add_roles: role = None if isinstance(role_name, int): role = enterprise_data.roles.get_entity(role_name) elif isinstance(role_name, str): if role_name.isnumeric(): role = enterprise_data.roles.get_entity(int(role_name)) if not role: role = [x for x in enterprise_data.roles.get_all_entities() if x.name.lower() == role_name.lower()] if role: role = role[0] if role: roles_to_add.append(role) remove_users = ['list of usernames to remove'] if isinstance(remove_users, list): has_remove_all_users = any((True for x in remove_users if x == '@all')) if not has_remove_all_users: for remove_user in remove_users: user = [user for user in enterprise_data.users.get_all_entities() if user.username.lower() == remove_user.lower()] if user: users_to_remove.append(user[0]) remove_roles = ['list of roles to remove'] if isinstance(remove_roles, list): has_remove_all_roles = any((True for x in remove_roles if x == '@all')) if not has_remove_all_roles: for role_name in remove_roles: role = None if isinstance(role_name, int): role = enterprise_data.roles.get_entity(role_name) elif isinstance(role_name, str): if role_name.isnumeric(): role = enterprise_data.roles.get_entity(int(role_name)) if not role: role = [x for x in enterprise_data.roles.get_all_entities() if x.name.lower() == role_name.lower()] if role: role = role[0] if role: roles_to_remove.append(role) for team in team_list: existing_users = {x.enterprise_user_id for x in enterprise_data.team_users.get_links_by_subject(team.team_uid)} existing_roles = {x.role_id for x in enterprise_data.role_teams.get_links_by_object(team.team_uid)} if users_to_add: users_to_add_filtered = [x for x in users_to_add if x.enterprise_user_id not in existing_users] if users_to_add_filtered: batch.modify_team_users(to_add=[enterprise_management.TeamUserEdit(team_uid=team.team_uid, enterprise_user_id=x.enterprise_user_id) for x in users_to_add_filtered]) if roles_to_add: roles_to_add_filtered = [x for x in roles_to_add if x.role_id not in existing_roles] if roles_to_add_filtered: batch.modify_team_roles(to_add=[enterprise_management.RoleTeamEdit(team_uid=team.team_uid, role_id=x.role_id) for x in roles_to_add_filtered]) if users_to_remove: users_to_remove_filtered = [x for x in users_to_remove if x.enterprise_user_id in existing_users] if users_to_remove_filtered: batch.modify_team_users(to_remove=[enterprise_management.TeamUserEdit(team_uid=team.team_uid, enterprise_user_id=x.enterprise_user_id) for x in users_to_remove_filtered]) if roles_to_remove: roles_to_remove_filtered = [x for x in roles_to_remove if x.role_id in existing_roles] if roles_to_remove_filtered: batch.modify_team_roles(to_remove=[enterprise_management.RoleTeamEdit(team_uid=team.team_uid, role_id=x.role_id) for x in roles_to_remove_filtered]) # To execute the batch operations: # batch.execute() ``` -------------------------------- ### Retrieve Record/Folder Information (DotNet SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands The DotNet SDK provides methods to retrieve Keeper records, shared folders, and folders by their UID. The implementation first attempts to get a record, then a shared folder, and finally a folder if the UID is not found in the preceding categories. ```csharp vault.TryGetKeeperRecord(uid, out var record) ``` ```csharp vault.TryGetSharedFolder(uid, out var sf) ``` ```csharp vault.TryGetFolder(uid, out var f) ``` -------------------------------- ### Get Device Approval Requests (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/device-approve-commands Fetches all device approval requests using the Python SDK. It includes a helper function `token_to_string` to convert device tokens to hexadecimal strings and prints details for each approved device. ```python from keepersdk.enterprise import enterprise_data from keepersdk import utils def token_to_string(token: bytes) -> str: """Convert device token bytes to hexadecimal string representation.""" src = token[0:TOKEN_PREFIX_LENGTH] if src.hex: return src.hex() return ''.join('{:02x}'.format(x) for x in src) enterprise = enterprise_data.IEnterpriseData() approve_requests = enterprise.device_approval_requests.get_all_entities() for device in approval_requests: device_id = device.encrypted_device_token if not device_id: continue device_id = token_to_string(utils.base64_url_decode(device_id)) print(device_id) print(device.device_name) print(device.device_type) print(device.ip_address) print(device.client_version) print(device.location) ``` -------------------------------- ### Get and Prepare User for Editing (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-user-commands Retrieves a specific user entity by name and prepares a list of users for potential updates using the Python SDK. This snippet demonstrates how to fetch a user and cast it into a UserEdit object, which is part of the enterprise management module. ```python user = enterprise_data.users.get_entity('user_name') users = [user] users_to_update = [enterprise_management.UserEdit( ``` -------------------------------- ### Get Power Commander Module Information (Power Commander) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands Retrieves information about the installed Power Commander module, including its version and exported commands. This is used to verify the installation and capabilities of the module. ```powershell PS > Get-Module -Name PowerCommander -ListAvailable Directory: C:\Program Files (x86)\WindowsPowerShell\Modules ModuleType Version Name ExportedCommands ---------- ------- ---- ---------------- Script 1.0.7 PowerCommander {Connect-Keeper, Sync-Keeper, Disconnect-Keeper, Get-Keepe... ``` -------------------------------- ### Prepare Attachment Download (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-commands Prepares for downloading attachments associated with a record. This function loads a record by its UID and yields attachment download requests. It requires a VaultOnline object and a record UID. ```python def prepare_attachment_download(vault: vault_online.VaultOnline, record_uid: str, attachment_name: Optional[str]=None) -> Iterator[AttachmentDownloadRequest]: record = vault.vault_data.load_record(record_uid) if not record: utils.get_logger().warning('Record UID "%s" not found.', record_uid) return ``` -------------------------------- ### Login Command: Authenticate Session (.NET CLI, PowerShell, Python CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands Provides commands to authenticate and start a session using the Keeper Commander CLI across different platforms. Supports various flags for password, SSO, and session resumption. Requires account email and optionally a master password. ```bash Not logged in> login user@example.com --password 1234567890qwertyuiop ``` ```powershell PS > Connect-Keeper -Username "your@email.com" -Password (Read-Host -AsSecureString -Prompt "yourpassword") ``` ```bash My Vault > login user@example.com --pass qwertyuiop1234567890 ``` -------------------------------- ### Construct and Execute File Upload POST Request (Python) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-node-commands This Python snippet demonstrates how to construct and execute a POST request to upload a file. It retrieves necessary details like upload ID, URL, success status code, file parameter, and form data from a configuration object. It then performs the upload using the 'requests' library and verifies the upload status by repeatedly checking with the server until it's 'pending', 'active', or an error occurs. Dependencies include the 'requests' library and potentially a custom logging utility. ```python upload_id = rs_logo.get('upload_id') upload_url = rs_logo.get('url') assert isinstance(upload_url, str) success_status_code = rs_logo.get('success_status_code') file_param: Optional[str] = rs_logo.get('file_parameter') assert file_param is not None form_data = rs_logo.get('parameters') assert isinstance(form_data, dict) form_data['Content-Type'] = upload_task.mime_type with upload_task.open() as task_stream: files = {file_param: (None, task_stream, upload_task.mime_type)} upload_rs = requests.post(upload_url, files=files, data=form_data) if upload_rs.status_code == success_status_code: check_rq = { 'command': f'check_{logo_type}_logo_upload', 'node_id': node_id, 'upload_id': upload_id } while True: check_rs = KeeperAuth_obj.execute_auth_command(check_rq) check_status = check_rs.get('status') if check_status == 'pending': time.sleep(2) else: if check_status != 'active': if check_status == 'invalid_dimensions': raise Exception('Image dimensions must be between 10x10 and 320x320') else: raise Exception(f'Upload status = {check_status}') else: get_logger().info('File "%s" set as %s logo.', logo_fp, logo_type) break else: raise Exception(f'HTTP status code: {upload_rs.status_code}, expected {success_status_code}') ``` -------------------------------- ### Get Record Type Information using CLI and SDKs Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-type-commands This command retrieves information about available record types or specific details of a custom record type. It supports various flags for listing fields or generating examples. Available in DotNet CLI, DotNet SDK, PowerCommander, Python CLI, and Python SDK. ```csharp My Vault> record-type-info "myCustomType" Record Type ID: 12345 Type Name: myCustomType Scope: enterprise Description: My custom record Fields: (login) (password) ``` ```csharp // Assuming vault is vaultOnline var recordTypes = vault.RecordTypes; ``` ```powershell PS > Get-KeeperRecordType -Name "myCustomType" Name Description Scope Fields ---- ----------- ----- ------ myCustomType My custom record for secure access Enterprise {login, password} ``` ```bash My Vault> record-type-info "myCustomType" Record Type ID Record Type Name Record Type Scope ---------------- ----------------------------- ------------------- 1 address Standard 2 bankAccount Standard ``` ```python record_types = vault.vault_data.get_record_types() ``` -------------------------------- ### Login Commands Source: https://docs.keeper.io/en/keeperpam/commander-sdk/index Describes all ways to log in to Keeper from the SDK and CLI perspective. ```APIDOC ## Login Commands ### Description This page describes all ways to login to keeper from sdk and cli perspective. ### Method [Method not specified in source] ### Endpoint [Endpoint not specified in source] ### Parameters [No parameters specified in source] ### Request Example [No request example specified in source] ### Response #### Success Response (200) [No success response details specified in source] #### Response Example [No response example specified in source] ``` -------------------------------- ### Filter Syntax Examples (Python CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/pedm-commands/pedm-report-commands Provides examples of filter syntax for the 'pedm report event' command. Demonstrates how to filter by single values, multiple values using 'IN', date ranges using 'BETWEEN', and predefined date ranges. ```bash agent_uid=NJvK0I5RpuF0UFMwRKY_Dw agent_uid=IN(NJvK0I5RpuF0UFMwRKY_Dw, VYLhwqhRvhIpma9e1HoDFw) event_time=BETWEEN 2024-01-01 AND 2024-02-01 event_time=today event_time=yesterday event_time=last_7_days event_time=last_30_days event_time=month_to_date event_time=last_month event_time=year_to_date event_time=last_year ``` -------------------------------- ### Get Specific Enterprise Team (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-team-commands This Python code snippet shows how to retrieve a specific enterprise team by its name or UID using the Keeper SDK. It first attempts to get the entity directly and then falls back to searching all entities if the direct lookup fails. ```python team_id = 'team name or UID' team = enterprise_data.teams.get_entity(team_id) if not team: ts = [x for x in enterprise_data.teams.get_all_entities() if x.name.lower() == team_id.lower()] ``` -------------------------------- ### This Device Commands Source: https://docs.keeper.io/en/keeperpam/commander-sdk/index Provides information on subcommands for 'this-device'. ```APIDOC ## This Device Commands ### Description This page gives information of subcommands for this-device. ### Method [Method not specified in source] ### Endpoint [Endpoint not specified in source] ### Parameters [No parameters specified in source] ### Request Example [No request example specified in source] ### Response #### Success Response (200) [No success response details specified in source] #### Response Example [No response example specified in source] ``` -------------------------------- ### Get Keeper Folder Command Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/folder-commands Retrieves detailed information about a specific Keeper folder. ```APIDOC ## Get Keeper Folder Command ### Description Retrieves detailed information about a Keeper folder. ### Method - **Command**: `Get-KeeperFolder` ### Parameters #### Query Parameters - **Uid** (string) - Required - The unique identifier of the folder. - **AsObject** (boolean) - Optional - Returns the folder details as an object. ### Request Example ```powershell Get-KeeperFolder abcdefg(uid) Get-KeeperFolder abcdefg(uid) -AsObject ``` ### Response #### Success Response (200) - **Folder UID** (string) - The unique identifier of the folder. - **Folder Type** (string) - The type of the folder (e.g., SharedFolder). - **Name** (string) - The name of the folder. - **Shared Folder UID** (string) - The UID of the shared folder, if applicable. - **Full Path** (string) - The complete path to the folder. - **Subfolders** (integer) - The number of subfolders within this folder. - **Records** (integer) - The number of records within this folder. #### Response Example ```json { "Folder UID": "_56dJ6GUKYDSp4NfRomIaa", "Folder Type": "SharedFolder", "Name": "ChecK123455", "Shared Folder UID": "_56dJ6GUKYDSp4NfRomIaa", "Full Path": "/ChecK123455/", "Subfolders": 2, "Records": 10 } ``` ``` -------------------------------- ### Show Credentials Command (PowerCommander, Python CLI, DotNet CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands/biometric-login-commands Displays all registered credentials for a given account, including authenticator type, ID, creation date, and last used date. Requires CLI login. The 'IncludeDisabled' flag in PowerCommander shows inactive credentials. ```powershell Show-KeeperBiometricCredentials -IncludeDisabled ``` ```sh My Vault> biometric list ``` ```bash My Vault> biometric list ``` -------------------------------- ### Device Approve Commands Source: https://docs.keeper.io/en/keeperpam/commander-sdk/index Approve Cloud SSO Devices using the Commander SDK. ```APIDOC ## Device Approve Commands ### Description Approve Cloud SSO Devices. ### Method [Method not specified in source] ### Endpoint [Endpoint not specified in source] ### Parameters [No parameters specified in source] ### Request Example [No request example specified in source] ### Response #### Success Response (200) [No success response details specified in source] #### Response Example [No response example specified in source] ``` -------------------------------- ### Move Folder Command Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/folder-commands This section would detail the command for moving folders, including its syntax, parameters, and examples. -------------------------------- ### Get Enterprise Admin Roles (PowerCommander) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-role-commands Retrieves roles with admin privileges for a user using PowerCommander. ```APIDOC ## GET /enterprise-admin-role ### Description Retrieves a list of roles that have administrative privileges assigned to a specific user. ### Method GET ### Endpoint /enterprise-admin-role ### Parameters #### Query Parameters - **Email** (string) - Optional - The email address of the user whose admin roles are to be retrieved. If omitted, roles for the current user may be returned. ### Request Example ```powershell Get-KeeperEnterpriseAdminRole Get-KeeperEnterpriseAdminRole -Email "admin@example.com" kerap "user@example.com" ``` ### Response #### Success Response (200) - **roles** (array) - A list of role objects with admin privileges. - **roleName** (string) - The name of the role. - **roleId** (string) - The ID of the role. #### Response Example ```json { "roles": [ { "roleName": "Administrator", "roleId": "12345" } ] } ``` ``` -------------------------------- ### List Teams using Python CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/team-commands Demonstrates how to list teams using the Python CLI with various formatting and sorting options. Supports CSV, JSON, and table output formats. ```bash My Vault> list-team ``` -------------------------------- ### List Command (DotNet CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-commands Displays a list of all records available in Keeper Vault in a tabular format using the DotNet CLI. Allows searching with a pattern and provides verbose output or a limit on the number of records shown. ```APIDOC ## List Command (DotNet CLI) ### Description 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. ### Method CLI Command ### Endpoint N/A ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```shell My Vault> search demo # Record UID Title Type Info --- ---------------------- ------------------------- ----- --------------------------------------------- 1 record_uid Demo Record 1 login demo@email.com (at) https://demo.acmecorp.com 2 record_uid DemoRecordForWeakPassword login qsaSF@ASFD.CA First 2 found records are shown. ``` ### Response #### Success Response (200) Tabular output of records matching the search criteria. #### Response Example ``` # Record UID Title Type Info --- ---------------------- ------------------------- ----- --------------------------------------------- 1 record_uid Demo Record 1 login demo@email.com (at) https://demo.acmecorp.com 2 record_uid DemoRecordForWeakPassword login qsaSF@ASFD.CA ``` ``` -------------------------------- ### Get Command (Power Commander) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands Retrieves a Keeper record by its UID or filters records based on provided content. ```APIDOC ## GET /websites/keeper_io_en_keeperpam_commander-sdk ### Description Retrieves a Keeper record using its unique identifier (UID) or filters records based on specified content. ### Method GET ### Endpoint Not applicable (PowerShell command) ### Parameters #### Path Parameters None #### Query Parameters - **-Uid** (string) - The unique identifier of the record to retrieve. - **-Filter** (string) - Content to filter records by. #### Request Body None ### Request Example ```powershell PS > Get-KeeperRecord -Uid record_uid ``` ### Response #### Success Response (200) - **UID** (string) - The unique identifier of the record. - **Type** (string) - The type of the record (e.g., 'login'). - **Title** (string) - The title of the record. - **Info** (string) - Additional information about the record. #### Response Example ```json { "UID": "record_uid", "Type": "login", "Title": "Login Record", "Info": "user@example.com" } ``` ``` -------------------------------- ### Manage Record History using DotNet CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-commands This command allows users to list, view, compare, and restore previous versions (revisions) of a record. It requires the record's unique identifier (UID). ```sh My Vault> record-history UTgy0U90whWp78sFAcsav ``` -------------------------------- ### Update Node (DotNet SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-node-commands C# code example for updating an enterprise node using the Keeper SDK. ```APIDOC ## Update Node (DotNet SDK) ### Description This function updates an existing enterprise node. It can optionally set a new parent node for the updated node. ### Method C# Method Call ### Endpoint N/A (SDK) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **enterpriseData** (EnterpriseData) - The enterprise data object. - **node** (EnterpriseNode) - The node to be updated. - **newParentNode** (EnterpriseNode, optional) - The new parent node for the updated node. ### Request Example ```csharp await enterpriseData.UpdateNode(node, parentNode); ``` ### Response #### Success Response (200) An asynchronous task representing the update operation. #### Response Example ``` (No direct response body, operation is asynchronous) ``` ``` -------------------------------- ### Miscellaneous Commands Source: https://docs.keeper.io/en/keeperpam/commander-sdk/index Provides information on helpful commands for miscellaneous functionality. ```APIDOC ## Miscellaneous Commands ### Description This page gives information of helpful commands for miscellaneous functionality. ### Method [Method not specified in source] ### Endpoint [Endpoint not specified in source] ### Parameters [No parameters specified in source] ### Request Example [No request example specified in source] ### Response #### Success Response (200) [No success response details specified in source] #### Response Example [No response example specified in source] ``` -------------------------------- ### Display User Info (DotNet CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands Displays information about the current authenticated user using the DotNet CLI. This command shows details like username, server, admin status, license type, and storage usage. ```bash My Vault > whoami User: user@example.com Server: keepersecurity.com Data Center: US Admin: Yes Account Type: 2 Renewal Date: May 28, 2027 Storage Capacity: 1024GB Storage Usage: 0GB Storage Expires: May 28, 2027 License Type: Keeper for Business License Expires: May 28, 2027 Base Plan: Enterprise BreachWatch: Yes ``` -------------------------------- ### Get Team List in C# Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/team-commands Retrieves a list of teams from the vault and prints their company and name. This requires the KeeperPAM Commander SDK for C#. ```csharp var teams = await vault.GetTeamList(); foreach (var team in teams) { Console.WriteLine($"{team.Company} - {team.Name}"); } ``` -------------------------------- ### Download Membership using DotNet CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/import-export-commands The dotnet CLI command `download-membership` retrieves sharing settings for shared folders and teams. It supports 'keeper' as the source and allows specifying output filename, overwriting existing files, and filtering by folders only. Permissions and sub-folder handling can also be configured. ```bash 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 ``` -------------------------------- ### Get Available Audit Event Types (DotNet SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands Retrieves a list of available audit event types using the DotNet SDK. ```APIDOC ## GET /authentication/available-events ### Description Retrieves a list of all available audit event types that can be used for filtering reports. ### Method GET ### Endpoint /authentication/available-events ### Parameters No parameters required. ### Request Example ```csharp var auditEvents = await context.Enterprise.Auth.GetAvailableEvents(); ``` ### Response #### Success Response (200) - **auditEventTypes** (array) - An array of strings, where each string is an available audit event type. #### Response Example ```json [ "login", "logout", "record_add", "record_update", "record_delete" ] ``` ``` -------------------------------- ### Load Available Teams (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/team-commands Demonstrates the Python SDK function to load available teams, requiring authentication details. ```APIDOC ## Load Available Teams (Python SDK) ### Description Loads the available teams using the Python SDK, requiring authentication credentials. ### Method Python function call. ### Endpoint N/A (SDK function) ### Parameters #### Query Parameters - **auth** (object) - Required - Authentication object obtained from the vault. ### Request Example ```python vault_utils.load_available_teams(auth=vault.keeper_auth) ``` ### Response #### Success Response (200) - Returns a representation of available teams (details depend on SDK implementation). #### Response Example (Specific response structure depends on the SDK's return type for this function.) ``` -------------------------------- ### PEDM Commands Source: https://docs.keeper.io/en/keeperpam/commander-sdk/index Provides a description of PEDM Commands and their parameters and arguments. ```APIDOC ## PEDM Commands ### Description This page gives description of PEDM Commands and their parameters and arguments. ### Method [Method not specified in source] ### Endpoint [Endpoint not specified in source] ### Parameters [No parameters specified in source] ### Request Example [No request example specified in source] ### Response #### Success Response (200) [No success response details specified in source] #### Response Example [No response example specified in source] ``` -------------------------------- ### Get All PEDM Policies (Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/pedm-commands/pedm-policy-commands Retrieves all PEDM policies using the Keeper SDK. This function is part of the PedmPlugin and requires an enterprise loader. ```python from keepersdk.plugins.pedm import admin_plugin plugin = admin_plugin.PedmPlugin(enterprise_loader) policies = plugin.policies.get_all_entities() ``` -------------------------------- ### Delete Enterprise Role using PowerCommander Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-role-commands Removes an enterprise role using the `Remove-KeeperEnterpriseRole` cmdlet in PowerCommander. It prompts for confirmation before deletion. Example: `Remove-KeeperEnterpriseRole PowerShellTest`. ```powershell PS> Remove-KeeperEnterpriseRole PowerShellTest Confirm Are you sure you want to perform this action? Performing the operation "Delete Enterprise Role" on target "Role "PowerShellTest" (ID: 894448414228628)". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): A Role "PowerShellTest" (ID: 894448414228628) deleted successfully ``` -------------------------------- ### DotNet SDK: Get External Record Shares Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/sharing-commands Retrieve a list of external record shares for a specified record using the DotNet SDK's `GetExernalRecordShares` method. ```APIDOC ## GET /api/records/{recordUid}/shares ### Description Retrieves a list of one-time shares associated with a specific record. ### Method GET ### Endpoint /api/records/{recordUid}/shares ### Parameters #### Path Parameters - **recordUid** (string) - Required - The unique identifier of the record for which to retrieve shares. ### Request Example ```csharp var shares = await vault.GetExernalRecordShares("record_uid"); ``` ### Response #### Success Response (200) - **ExternalRecordShare[]** (array) - An array of objects, where each object represents an external record share. - **RecordUid** (string) - The UID of the record. - **RecordTitle** (string) - The title of the record. - **Owner** (string) - The owner of the record. - **Users** (integer) - The number of users the share is accessible to. - **Folders** (integer) - The number of folders associated with the share. #### Response Example ```json [ { "RecordUid": "record_uid", "RecordTitle": "Example Record", "Owner": "owner_email@example.com", "Users": 1, "Folders": 1 } ] ``` ``` -------------------------------- ### Show Invited Users (DotNet CLI) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands/action-report Displays a list of users who have been in an invited status for 15 or more days. This command requires the 'target' and 'days-since' parameters to filter the user list. ```sh My Vault> action-report -t invited -d 15 ``` -------------------------------- ### Login Function: Authenticate Session (.NET SDK, Python SDK) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands Details the SDK functions for authenticating and establishing a secure session. The .NET SDK uses `IAuth.Login` with username and passwords, while the Python SDK refers to external documentation for application creation and authentication flow. ```csharp public async Task Login(string username, params string[] passwords) await auth.Login(email, passwds.ToArray()); ``` ```python # Refer to https://docs.keeper.io/en/keeperpam/commander-cli/commander-installation-setup/developer-mode/commander-sdk-for-python#create-an-application ``` -------------------------------- ### List Records using Power Commander Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-commands Provides a set of commands in Power Commander to list various types of enterprise and breach watch data. Examples include listing enterprise users, roles, and breached passwords. ```powershell 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. ``` -------------------------------- ### Get Enterprise Admin Roles (PowerShell) Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/enterprise-management-commands/enterprise-role-commands PowerShell command to retrieve roles with admin privileges for a given user. It can be used with or without specifying a user's email. ```powershell Get-KeeperEnterpriseAdminRole [-Email] [] Aliases: kerap Parameters: * -Email - User email Examples: Get-KeeperEnterpriseAdminRole OR Get-KeeperEnterpriseAdminRole -Email "admin@example.com" kerap "user@example.com" ``` -------------------------------- ### List PEDM Deployments using Python CLI Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/pedm-commands/pedm-deployment-commands Lists all PEDM deployments with their details, including UID, name, status, and creation date. Supports verbose output and custom formatting (JSON, CSV, table) with options to save to a file. Useful for monitoring deployment configurations. ```bash pedm deployment list pedm d l pedm d list # With flags: pedm deployment list --verbose --format json --output deployments.json ``` -------------------------------- ### Get Device Information - PowerCommander Source: https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands/this-device-commands Retrieves the current device settings using the Get-KeeperDeviceSettings cmdlet. It displays details such as DeviceName, PersistentLogin status, DataKeyPresent, IpAutoApprove, IsSsoUser, and DeviceLogoutTimeout. ```powershell Get-KeeperDeviceSettings DeviceName : PowerShell Commander PersistentLogin : False DataKeyPresent : True IpAutoApprove : True IsSsoUser : False DeviceLogoutTimeout : 60 minute(s) ```