---
title: "GET /v1/portfolios/{portfolioSlug}/sync/progress"
method: GET
path: "/v1/portfolios/{portfolioSlug}/sync/progress"
tags: ["Sync"]
---

# GET /v1/portfolios/{portfolioSlug}/sync/progress

`GET /v1/portfolios/{portfolioSlug}/sync/progress`

## Request

- Base URL: `https://api.tokenbooks.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tokenbooks.io/v1/portfolios/{portfolioSlug}/sync/progress`
- Auth: API key in header `x-api-key`

## Path parameters

- `portfolioSlug` string, required

## Response `200`

- SyncProgressResponseDto
  - `status` 'pending' | 'processing' | 'completed' | 'failed', required: Overall sync status
  - `wallets` object[], required: Per-wallet progress
    - `lastSyncAt` string, date-time: When the wallet last finished a sync (ISO 8601)
    - `syncMessages` union[], required: Safe structured messages from the last finished sync
      - union
        - object
          - `code` 'EXCHANGE_RECONNECT_REQUIRED', required
          - `message` string, required
          - `severity` 'ERROR' | 'WARN', required
          - `details` object, required
            - `provider` string, required
            - `reconnectRequired` true, required
            - `errorType` 'ExternalServiceAuthenticationError', required
        - object
          - `code` 'SYNC_PROCESSING_FAILED', required
          - `message` string, required
          - `severity` 'ERROR' | 'WARN', required
          - `details` object, required
            - `retryable` true, required
            - `errorType` 'SyncProcessingError', required
        - object
          - `code` 'SYNC_WARNING', required
          - `message` string, required
          - `severity` 'ERROR' | 'WARN', required
          - `details` object, required
            - `errorType` 'SyncWarning', required
    - `chainId` string, required: Chain ID
    - `address` string, required: Wallet address
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required: Sync status
    - `progressPercent` number, required: Progress percentage
    - `transactionsSynced` integer: Transactions synced so far
    - `totalTransactions` integer: Total transactions to sync
    - `errorMessage` string: Error message if failed
  - `startedAt` string, date-time: When sync started (ISO 8601)
  - `updatedAt` string, date-time, required: Last progress update (ISO 8601)
  - `completedAt` string, date-time: When sync completed (ISO 8601)

---

[API](https://skmtc.dev/tokenbooks/apis/tokenbooks-public-api.md) · [All operations](https://skmtc.dev/tokenbooks/apis/tokenbooks-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tokenbooks/apis/tokenbooks-public-api/revisions/180622e6255e?raw)
