Shared Folder - Without sync-down

This page details the process to share a shared folder without needing to sync down the vault first.

Overview

This flow is appropriate when the app does not sync Keeper vault data into a local SDK instance (sync_down / VaultOnline) and instead uses authenticated API calls directly after login.

Use this path when you need to read shared folder metadata, invite or update a user, remove a user, work with teams, or load record payloads by UID as soon as IAuthentication is available.

For a full synced vault, shared-folder modeling as in VaultOnline, and the broadest integration surface, prefer IVaultSharedFolder / VaultOnline instead.

Scope and limitations

  • Shared folder skip-sync targets apps that do not run a full sync_down / VaultOnline tree. It supports selected shared-folder and record operations right after authentication.

  • Users: Add, update, or remove individual users (email), as in the previous release.

  • Teams: You can add or remove a team on a shared folder and list teams available for sharing, without loading the vault.

  • Records: You can list record UIDs linked to a shared folder and fetch and decrypt records without syncing the vault.

DotNet SDK Prerequisites

Valid IAuthentication after login ( vault.Auth from VaultOnline or AuthenticateAndGetVault.GetAuthAsync from examples below or any object that implements IAuthentication interface)

Structures and classes

Type
Purpose

ISharedFolderSkipSyncDown

Interface for dependency injection and testing.

SharedFolderSkipSyncDown

Static entry points (GetSharedFolderAsync, PutUserToSharedFolderAsync, RemoveUserFromSharedFolderAsync).

SharedFolderSkipSyncDown.SharedFolderSkipSyncDownClient

Default implementation of ISharedFolderSkipSyncDown.

Use this path when your app needs to read shared folder metadata, invite or update a user, or remove a user from a shared folder as soon as authentication with keeper is completed.

For full vault integration (synced tree, teams, etc.), use IVaultSharedFolder / VaultOnline instead.

Get Shared Folder By UID

Loads one shared folder by UID. The request includes shared folders while returning shared folder along with user flows, team flows, and record UID listing.

DotNet SDK

Function : GetSharedFolderAsync

public static async Task<GetSharedFoldersResponse> GetSharedFolderAsync(
    IAuthentication auth,
    string sharedFolderUid)

Returns null if the session cannot access the folder or the response has no shared folder entries.

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

SharedFolderUid

UID of shared Folder to get data of

PowerCommander

Command : Get-KeeperSharedFolderDetailsSkipSync

Fetches shared folder payload from the server (get_shared_folders) without a full vault sync.

Parameter
Description

-SharedFolderUid

Required. Shared folder UID.

-IncludePermissions

Include per-record CanEdit / CanShare, per-user and per-team flags, and folder key / default-permission fields. Omit for compact output.

-PassThru

Return the raw GetSharedFoldersResponse from the SDK.

Usage:

Python SDK

Get Records from Shared Folder

Returns distinct record UIDs attached to the folder. Empty if the folder is unavailable or has no records.

DotNet SDK

Function : GetRecordUidsFromSharedFolderAsync

Arguments:

Parameter
Description

-SharedFolderUid

Shared Folder UID to get records for

PowerCommander

Command : Get-KeeperSharedFolderRecordUidsSkipSync

Fetches shared folder payload from the server (get_shared_folders) without a full vault sync.

Flags:

Parameter
Description

-SharedFolderUid

Required.

Usage:

Python SDK

Get Last Modified Info for Shared Folder Records

Returns the last modifier (email) and last modified timestamp for each record in a shared folder without requiring a full vault sync. Result contains LastModifiedBy (email of last editor) and LastModifiedTime (unix millisecond timestamp).

DotNet SDK

Function: GetRecordLastModifiedAsync

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

recordUid

UID of the record. Get from KeeperRecord.Uid after calling GetSharedFolderRecordsAsync

Sharing Shared Folder with user

Add or Update a user for shared folder. Optional IUserShareOptions (e.g. SharedFolderUserOptions) controls permissions and expiration.

DotNet SDK

Sharing with user

Function : PutUserToSharedFolderAsync

Options can be something like this

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

SharedFolderUid

UID of shared Folder in reference

userId

email of user to which we want to share

options

SharedFolderUserOptions object as shown above

PowerCommander

Command : Grant-KeeperSharedFolderUserSkipSync

Parameter
Description

-SharedFolder

Required (position 0).

-User

Required (position 1). User email / id as accepted by the API.

-ManageRecords, -ManageUsers

Optional booleans ($true / $false / omit).

-ExpireIn, -ExpireAt

Optional expiration (same semantics as other sharing cmdlets, e.g. Grant-KeeperRecordAccess).

-ShowDetail

After success, runs Get-KeeperSharedFolderRecordsSkipSync with -Mode SharedKey and prints a summary.

-PassThru

With -ShowDetail, returns the RecordDetailsSkipSyncResult from the listing step.

Usage:

Python SDK

Revoking Shared Folder From user

Remove access to a user. Optional IUserShareOptions (e.g. SharedFolderUserOptions) controls permissions and expiration.

DotNet SDK

Function : RemoveUserFromSharedFolderAsync

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

SharedFolderUid

UID of shared Folder in reference

userId

email of user to which we want to revoke

PowerCommander

Command: Revoke-KeeperSharedFolderUserSkipSync

Removes a user (RemoveUserFromSharedFolderAsync). Supports ShouldProcess.

Parameter
Description

-SharedFolder, -User

Required (positions 0 and 1).

-ShowDetail, -PassThru

Same pattern as grant.

Usage:

Python SDK

GetAvailableTeamsForShareAsync

Returns teams the current user may share with, using the same approach - without loading the vault.

DotNet SDK

Function : GetAvailableTeamsForShareAsync

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

PowerCommander

Command: Get-KeeperAvailableTeamsSkipSync

Lists teams available for sharing (get_available_teams).

Usage:

Python SDK

Coming soon

GetTeamUidFromNameAsync

Resolves a team display name to a team UID when the name is unique. Returns null if none match; throws if multiple teams match (use an explicit Team Name).

DotNet SDK

Function : GetTeamUidFromNameAsync

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

teamName

Resolve a unique team display name to a team UID

PowerCommander

Command: Get-KeeperTeamUidSkipSync

Resolves a team display name to a team UID when the name is unique.

Parameter
Description

-TeamName

Resolve a unique team display name to a team UID

Example:

Python SDK

Coming soon

PutTeamToSharedFolderAsync

Add or update a team on the shared folder. Pass a team UID or, when it uniquely identifies a team, a display name. GetTeamUidFromNameAsync helps when you need an explicit UID. Optional IUserShareOptions applies where supported.

DotNet SDK

Function : PutTeamToSharedFolderAsync

Options can be something like this

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

SharedFolderUid

UID of shared Folder to get data of

teamUid

team uid which we want to share

options

SharedFolderUserOptions object as shown above

PowerCommander

Command: Grant-KeeperSharedFolderTeamSkipSync

Adds or updates a team (PutTeamToSharedFolderAsync). Team may be a UID or a name the SDK can resolve. Supports ShouldProcess.

Parameter
Description

-SharedFolder, -Team

Required (positions 0 and 1).

-ManageRecords, -ManageUsers

Optional.

-ExpireIn, -ExpireAt

Optional.

-ShowDetail, -PassThru

Same as user grant.

Example:

Python SDK

RevokeTeamFromSharedFolderAsync

Revoke access of a team on the shared folder. Pass a team UID or, when it uniquely identifies a team, a display name. GetTeamUidFromNameAsync helps when you need an explicit UID. Optional IUserShareOptions applies where supported.

DotNet SDK

Function : RemoveTeamFromSharedFolderAsync

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

SharedFolderUid

UID of shared Folder to get data of

teamUid

team uid which we want to share

PowerCommander

Command : Revoke-KeeperSharedFolderTeamSkipSync

Removes a team (RemoveTeamFromSharedFolderAsync). Supports ShouldProcess.

Parameter
Description

-SharedFolder, -Team

Required.

-ShowDetail, -PassThru

Same pattern as user revoke.

Example:

Python SDK

Record payloads without vault sync

Use when you already have record UIDs (for example from GetRecordUidsFromSharedFolderAsync) and want decrypted KeeperRecord instances without a full vault sync.

DotNet SDK

Function : GetRecordsAsync

Arguments:

parameter
Description

Auth

Authenticated session with interface IAuthentication

recordUids

record uid's

include

include record details RecordDetailsInclude matches the API (default DATA_PLUS_SHARE). Use DataOnly or ShareOnly for a narrower payload.

Returns : RecordDetailsSkipSyncResult

Member
Meaning

Records

Successfully decrypted records

NoPermissionRecordUids

From noPermissionRecordUid

FailedRecordUids

Rows returned but decrypt/load failed (e.g. unsupported recordKeyType)

InvalidRecordUids

Caller strings that could not be decoded to binary record UIDs and were not sent

PowerCommander

Command : Get-KeeperRecordDetailsByUidSkipSync

Parameter
Description

-RecordUid

One or more record UIDs to load.

-SharedFolderUid

Shared folder UID. Required for SharedKey mode. In Auto mode, used as the fallback folder for records that fail owned-key decryption.

-Mode

Decryption strategy: Auto, OwnedKey, or SharedKey.

-Include

What data to return: DataPlusShare, DataOnly, or ShareOnly.

-PassThru

When set, returns the raw RecordDetailsSkipSyncResult object instead of formatted output.

Usage:

Python SDK

Coming soon

Example: authenticate, folder metadata, user share (no full vault sync)

DotNet SDK
Python SDK

Example: teams, record UIDs, and decrypt records (no full vault sync)

DotNet SDK
Python SDK

Coming Soon

Last updated