Skip to main content

Overview

The Sync endpoint is the primary method for retrieving all vault data in a single request. It returns:
  • User profile information
  • All ciphers (vault items)
  • Folders
  • Collections
  • Organizations
  • Policies
  • Sends
  • Encryption keys
Clients should call this endpoint periodically to keep vault data synchronized. Use the revision date to detect changes.

Sync Vault Data

Retrieve all vault data for the authenticated user.
boolean
default:"false"
Exclude equivalent domain data from response to reduce payload size

Response Structure

User Profile

object
required
User account information
string
required
User ID
string
User’s display name
string
required
User’s email address
boolean
required
Whether 2FA is enabled
boolean
required
Whether user has premium
array
User’s organization memberships
array
User’s provider memberships

Vault Data

object
required
User’s folders with data array
object
required
Organization collections accessible to user
object
required
All vault items (passwords, notes, cards, identities)
object
Bitwarden Send items

Organization Data

object
Organization policies that apply to user

Encryption

object
Equivalent domain data (excluded if excludeDomains=true)

Response Format

Each data section follows this structure:

Full Response Example


Sync Strategy

Full Sync

Perform a full sync when:
  • User logs in
  • App starts after being closed
  • User manually triggers refresh

Incremental Sync

Use revision dates to detect changes:
  1. Store last sync revisionDate locally
  2. Call GET /accounts/revision-date to check for updates
  3. If revision date changed, perform full sync
  4. Update stored revision date

Background Sync

Recommended intervals:
  • Active use: Every 5-10 minutes
  • Background: Every 30 minutes
  • On network change: Immediate sync

Performance Optimization

Reduce Payload Size

  1. Use excludeDomains=true if you don’t need equivalent domains
  2. Filter SSH keys on older clients using client version checks
  3. Compress responses with gzip/brotli encoding

Caching Strategy


Error Handling

Access token expired or invalid - trigger re-authentication
User account locked or disabled
Server error - implement exponential backoff retry

Retry Strategy


WebSocket Events

For real-time sync, subscribe to WebSocket notifications:
WebSocket notifications are recommended for active sessions to receive instant updates when vault data changes.