Skip to navigation

Accounts

An account row

URL — No public environment serves this socket yet.

Topic account

Request parameters

ParameterTypeRequiredDescription
opstringYessubscribe
reqIdstringYesEchoed byte-exact on the answer. Printable ASCII, escape-free; anything else answers MALFORMED.
paramsobjectYes
> topicsarray of stringsYesaccount

Response parameters

ParameterTypeRequiredDescription
opstringYesOne of subscribe, unsubscribe.
reqIdstringYesEchoed byte-exact on the answer. Printable ASCII, escape-free; anything else answers MALFORMED.
successbooleanYestrue

Push data parameters

What the image holds. Every account of the organization this member holds, keyed by accountId, as its latest image — including accounts that are still being classified and accounts that have been retired.

How a row leaves. It does not. status is the signal, never absence: a retired account is served with status: RETIRED and stays in your map, because a client that dropped it would lose the name an old order still refers to. Filter on status for what a picker should offer.

ParameterTypeRequiredDescription
eventstringYesaccount
msgTypestringYesaccount
topicstringYesaccount
seqstringYesThe stream position, as a decimal string — an int64 a JSON number would truncate.
seqTsstringYesThe stream timestamp, epoch-ns as a decimal string.
isSnapshotbooleanYesOne of true, false.
snapshotIdstringNoPresent on a snapshot part only, and the same on every part of one image; the next image of any topic carries a different one. Opaque — compare it for equality and nothing else. It is not a sequence, a version or a timestamp, and its shape may change; a client that ordered by it would be relying on how a member happens to mint it. Use it to keep two images apart. A repeat subscribe re-pushes the image — that is the resync, and there is no separate op — so a client can start image N+1 while N is still arriving, and without a name on each part it cannot tell which last: true closes which, nor stop a straggling part of N landing in the map N+1 just cleared. Discard any part whose snapshotId is not the one you are currently applying.
partintegerNoPresent on a snapshot part only; 1-based.
lastbooleanNoPresent on a snapshot part only. The image is complete when true — including for an empty channel, which is still one part.
dataarray of objectsYesOne account row, keyed by accountId.
> accountIdintegerYes
> accountstringYesThe display name.
> versionstringYes
> statusstringYesOne of UNKNOWN, DISCOVERED, PENDING_APPROVAL, ACTIVE, FROZEN, RETIRED.
> credentialIdintegerYes
> tradingCredentialIdinteger, nullableYesThe OTHER credential orders ride. Null when the account trades through its own pipe — said by absence rather than by repeating credentialId, which a client would otherwise have to compare to read.
> exchangestring, nullableYesNull until this member holds the credential’s exchange row.
> externalRefstring, nullableYes
> locationstringYesOne of UNKNOWN, EXCHANGE, CUSTODIAN, WALLET, SELF_HOSTED, BANK.
> ownershipstringYesOne of UNKNOWN, HOUSE, CLIENT_OMNIBUS, CLIENT_SEGREGATED.
> purposestringYesOne of UNKNOWN, TREASURY, CLIENT_DEPOSIT, SETTLEMENT_OPS, COLLATERAL, HEDGE, RAIL_VISIBLE.
> temperaturestringYesOne of UNKNOWN, COLD, WARM, HOT.
> portfolioIdinteger, nullableYes