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

# POST /v1/portfolios/{portfolioSlug}/sync

`POST /v1/portfolios/{portfolioSlug}/sync`

## 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`
- Auth: API key in header `x-api-key`

## Path parameters

- `portfolioSlug` string, required

## Request body

- TriggerSyncRequestDto
  - `wallets` object[]: Wallets to sync by exact chainId and walletAddress pair
    - `chainId` string, required: Chain ID
    - `walletAddress` string, required: Wallet address
  - `full` boolean: Full resync if true, incremental if false
  - `toBlock` integer: Stop at a specific block. This is allowed only for test API keys.
  - `ignoreBalanceCheck` boolean: Bypass the wallet balance gate. This is allowed only for test API keys.
  - `amountOfIgnoredLatestTxns` integer: Omit the newest N transactions. This is allowed only for test API keys and requires full=true.
  - `tokens` object[]: Optional exact token filters for token-scoped wallet sync
    - `chainId` string, required: Chain identifier for the token
    - `address` string, required: Token contract or mint address

## Response `201`

- SyncJobResponseDto
  - `jobId` string, required: Job ID for tracking progress
  - `portfolioSlug` string, required: Portfolio slug being synced

---

[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)
