Skip to main content
PUT
Assign an account to a team, or detach it

Authorizations

X-API-KEY
string
header
required

Authorization method required to allow user to access the api endpoints.

Path Parameters

id
string
required

Body

application/json
team_id
string<uuid> | null
required

Team to place the account in, or null to detach it. Must be a Team of the caller workspace; an unknown id is refused with code UNKNOWN_TEAM.

Example:

"0d3f0d0a-3b1e-4b4a-9d2b-2f2b6f6a1c11"

Response

200 - application/json
id
string
required

Stable account id. Matches account_id on workspace balance responses for joins.

Example:

"bje5mmbqxjvwjaf7oxwpyxntxdyspzZyt4vwennw5rug"

type
enum<string>
required
Available options:
eoa,
multisig,
contract,
custodian,
exchange,
bank,
defi
Example:

"eoa"

provider
string
required
Example:

"ledger, kraken, wallet, ..."

groups
object[]
required
Example:
status
enum<string>
required
Available options:
active,
updating
Example:

"active"

balances
object[]
required
name
string | null

Null when the account was saved without a name.

Example:

"Treasury wallet"

network
string
Example:

"solana"

address
string
Example:

"BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG"

team
object | null

The team the account is assigned to (set with PUT /v2/accounts/:id/team), resolved to its current name. Null when the account has no team or its team no longer exists in the workspace. Always present on persisted account responses; omitted on connection-preview stubs.

Example:
balances_usd
string | null

Total USD value across all of the account balances. null when no asset has a known price.

Example:

"1234.56"

hidden_count
number

Count of balances the workspace token whitelist removed from balances/balances_usd above. 0 both when nothing was filtered and when the account has no balances at all — distinguish those with balances.length. Always 0 when show_all was requested. Always present on persisted account responses; omitted on connection-preview stubs that have never been imported.

Example:

0

hidden_usd
string | null

Total USD value across the balances hidden_count counts — an aggregate only, never broken down by asset, so a hidden holding's identity or individual amount is never exposed on the default (filtered) response. null when nothing is hidden or none of the hidden balances have a known price. Always present on persisted account responses; omitted on preview stubs.

Example:

"340.12"

balances_updated_at
string
Example:

"2024-01-01T00:00:00.000Z"

details
object
notes
string
Example:

"Primary treasury wallet"

role
string
Example:

"Treasury"

books
enum<string>

Which books this account sits on (custom connections — F4 / RNG-5533).

Available options:
house,
client
Example:

"house"

entity_id
string

The register entity this account belongs to (/v2/parties). Always present on persisted accounts; omitted on connection-preview stubs.

Example:

"a1b2c3d4-5678-90ab-cdef-1234567890ab"

entity
object

Inline summary of entity_id. Always present on persisted accounts; omitted on connection-preview stubs.

regulatory
object

Present when the account has account-level regulatory settings (custodian, ownership, staking).

cadoc_5710
object

Present when the account is registered for the cadoc-5710 (monthly reserves) template.

cadoc_5711
object

Present when the account is registered for the cadoc-5711 (daily custody) template.

treasury_statement
object

Present when registered for treasury statements.

last_synced_at
object | null

When a transaction-sync run last succeeded for this account, or null if none ever has. Always present on persisted account responses; omitted on connection-preview stubs that have never been imported. Sync is only triggered manually via POST /v2/accounts/transfers/sync (one job per account).

Example:

"2026-01-01T00:00:00.000Z"

transactions_history_from
object | null

How far back this account's transaction history has been synced, or null before the first successful sync. A first sync walks back 90 days and later syncs only walk forward, so anything older has not been fetched and may be missing from reports. POST /v2/accounts/{account_id}/transfers/resync walks back further. Only ever moves earlier. Always present on persisted account responses; omitted on connection-preview stubs.

Example:

"2026-07-01T00:00:00.000Z"

sync_unavailable_reason
enum<string> | null

Why the most recent transaction sync failed, when the cause is permanent for this account rather than a transient error worth retrying. Classified from ops-only last_sync_error; never the raw text.

provider_region_unsupported: the provider does not serve transaction history for this account's country with the credential it was given. account_unsupported: the account has no supported transaction-history source (connection adapter, on-chain network, or address). Always present on persisted account responses; omitted on preview stubs.

Available options:
provider_region_unsupported,
account_unsupported
Example:

"provider_region_unsupported"

sync_status
enum<string> | null

Outcome of the most recent sync run for this account, or null before the first one. failed leaves last_synced_at at the last genuinely successful run. Always present on persisted account responses; omitted on preview stubs.

Available options:
running,
succeeded,
failed
Example:

"succeeded"

last_balance_refresh_at
object | null

When the most recent balance-refresh attempt ran, or null before the first one. Advances on every attempt including a failed one — unlike balances_updated_at, which only moves on a successful read, so a client can tell "stale because nobody asked" from "stale because it keeps failing". Always present on persisted account responses; omitted on connection-preview stubs that have never been imported.

Example:

"2026-01-01T00:00:00.000Z"

last_balance_refresh_reason
enum<string> | null

Why the most recent balance-refresh attempt failed, as a stable machine code a client may branch on without string-matching prose that may be reworded. null when the last attempt succeeded, none has been made yet, or the chain has no readable balance source. Always present on persisted account responses; omitted on preview stubs, except a stub whose balance read failed or resolved only in part (balances is then empty, never the half that resolved, and this carries the reason).

Available options:
reconnect_required,
provider_timeout,
rate_limited,
authentication_failed,
provider_unreachable,
provider_rejected,
provider_error,
connection_not_found,
balance_lookup_failed,
unclassified_provider_error,
asset_catalog_unavailable,
tokens_not_enumerated
Example:

"provider_timeout"

last_balance_refresh_status
enum<string> | null

Outcome of the most recent balance-refresh attempt for this account. unsupported means this chain has no readable balance source — derived, and takes precedence over any stored status. null before the first attempt. Distinct from sync_status, which tracks transaction-history sync, not balances. Always present on persisted account responses; omitted on connection-preview stubs that have never been imported, except a stub whose balance read failed or resolved only in part (failed, or unsupported when the chain has no readable balance source): its empty balances is not a real empty account.

Available options:
succeeded,
failed,
unsupported
Example:

"succeeded"

Last modified on October 2, 2026