Skip to content

The street

What custodians say an account holds, as a plugin at the edge reports it. This is its data dictionary at contract v24: one entry for every field of its messages a plugin meets, saying what the field is for, what a value means and does not mean, what empty means, who fills it, its bounds and the operations a write must carry it on. Each entry is anchored by its name, the name a refusal's path resolves to and a declaration names, which never changes.

Its messages are declared in meridian/v1/holdings.proto. A field's entry is the same whatever carries it: a typed operation's parameters take the entries of the message they are made from.

Records

The messages this store keeps and answers.

Record What it is
CustodialPosition what the custodian says an account holds of an instrument on one side, as its statements last stated it
StatementRecordedEvent a completed statement: its account, date, row counts and figures per margin segment
ActivityRecordedEvent an activity as the custodian stated it, kept as reported, on which nothing is derived
ActivityReResolution a later resolution of a recorded activity's instrument, kept beside the activity as first recorded, which it never changes
SyncStatusRecordedEvent a sync status a custody plugin published, kept as published, so a connection needing a person is told apart from data merely old
UnresolvedHolding a holding the deployment received and could not name, kept so nothing a custodian reported is dropped

CustodialPosition

meridian.v1.CustodialPosition, a record.

account_id

identifier account · since v2 · stable

Names the account the position is of.

  • Means: the deployment's account
  • Does not mean: the external account
  • Empty: never empty
  • Filled: decided, by street

instrument_id

identifier instrument · since v2 · stable

Names the instrument held.

  • Means: the deployment's record, whatever its identifier; a record a person merged into another moves onto the one that stays (W3.9)
  • Does not mean: an identifier of a scheme
  • Empty: never empty
  • Filled: decided, by street

side

enum HoldingSide · since v2 · stable

Says which side the position is on.

  • Means: keyed by account, instrument and side: an account may hold an instrument long and short at once
  • Does not mean: the sign alone
  • Empty: never unspecified
  • Filled: decided, by street
Value Means
HOLDING_SIDE_UNSPECIFIED not said; never on a position the street answers
HOLDING_SIDE_LONG held long
HOLDING_SIDE_SHORT held short

quantity

Decimal · since v2 · stable

Says the trade-date quantity the custodian says the account holds.

  • Means: as the last statement stated it, signed to match side
  • Does not mean: the book's position, which is a different number whose disagreement is the subject of reconciliation
  • Empty: never unset
  • Filled: as-reported, by custody
  • Unit: units of the instrument; for cash, the currency's major unit
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

settle_date_quantity

Decimal · since v2 · stable

Says the settle-date quantity.

  • Means: as the last statement stated it
  • Does not mean: the trade-date quantity
  • Empty: unset where the custodian reported none, which is not zero
  • Filled: as-reported, by custody
  • Unit: units of the instrument; for cash, the currency's major unit
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

market_value

Money · since v2 · stable

Carries the custodian's valuation.

  • Means: as the last statement stated it
  • Does not mean: a value the platform computed
  • Empty: unset where the custodian reported no value, which is not zero
  • Filled: as-reported, by custody

last_statement_id

text · since v2 · stable

Names the statement that last stated the position.

  • Means: the street's statement identifier
  • Does not mean: a statement that changed it: one not restated recently is not wrong, and worth showing differently
  • Empty: never empty
  • Filled: decided, by street

as_of_date

date · since v2 · stable

Says the date the position was last stated as of.

  • Means: the last statement's as-of date
  • Does not mean: when it was recorded
  • Empty: never empty
  • Filled: decided, by street

updated_at_ns

moment · since v2 · stable

Records when the street last changed the position.

  • Means: the deployment's clock
  • Does not mean: the date it is as of
  • Empty: never 0
  • Filled: decided, by street
  • Unit: nanoseconds since the epoch

also_counted_in_cash

boolean · since v2 · stable · deprecated in v11

Deprecated in v11

each asset is counted once at the edge; no reader acts on it.

Said, until v11, that the position's value is also in the account's cash as the custodian reports it.

  • Means: both are kept as reported
  • Does not mean: that the position is cash
  • Empty: false when the custodian counts the holding once, and on every position a plugin on v11 stated
  • Filled: as-reported, by custody

cost_basis

Money · since v7 · stable

Carries the position's total cost.

  • Means: as the custodian reported it on the row that last stated the position
  • Does not mean: a cost the platform derived
  • Empty: unset where the custodian reported none
  • Filled: as-reported, by custody

lots

repeated message ReportedLot · since v7 · stable

Carries the position's lots as the custodian listed them.

  • Means: from the row that last stated the position
  • Does not mean: the book's lots
  • Empty: empty where the custodian listed none
  • Filled: as-reported, by custody

margin_requirement

Money · since v7 · stable

Carries the margin the position requires.

  • Means: as reported on the row that last stated it
  • Does not mean: a figure derived from a rate
  • Empty: unset where the custodian reported none, which is not zero
  • Filled: as-reported, by custody

last_change

message JournalRef · since v7 · stable

Says where the position's last change sits in the street's record.

  • Means: a delivery at or below it is already in it
  • Does not mean: the statement that last stated it
  • Empty: never unset from v7
  • Filled: decided, by street

removed

boolean · since v7 · stable

Marks a position that is gone.

  • Means: a tombstone (W2.6, W3.9): returned only to a read since a watermark, and delivered once
  • Does not mean: a quantity of zero
  • Empty: false for a position that stands
  • Filled: decided, by street

average_cost

Money · since v7 · stable

Carries the custodian's average cost per unit.

  • Means: as on RecordHoldingRequest, from the row that last stated the position
  • Does not mean: a figure anything multiplies by the quantity
  • Empty: unset where the custodian reported none
  • Filled: as-reported, by custody

available_quantity

Decimal · since v8 · stable

Carries how much the custodian reports available.

  • Means: as on RecordHoldingRequest, from the row that last stated the position
  • Does not mean: the book's free quantity
  • Empty: unset where the custodian gave none: never zero, never the quantity
  • Filled: as-reported, by custody
  • Unit: units of the instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

not_available_quantity

Decimal · since v8 · stable

Carries how much the custodian reports not available.

  • Means: as on RecordHoldingRequest
  • Does not mean: a sum of the encumbrances
  • Empty: unset where the custodian gave none, which is not zero
  • Filled: as-reported, by custody
  • Unit: units of the instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

available_basis

enum AvailableBasis · since v8 · stable

Says what the available figure is net of.

  • Means: as on RecordHoldingRequest
  • Does not mean: a basis the platform chose
  • Empty: unspecified is not said
  • Filled: as-reported, by custody
Value Means
AVAILABLE_BASIS_UNSPECIFIED the custodian does not say
AVAILABLE_BASIS_SETTLED net of what has settled
AVAILABLE_BASIS_TRADED net of what has traded
AVAILABLE_BASIS_CONTRACTUAL net of what is contractually due
AVAILABLE_BASIS_ORDER_NETTED net of the source's open orders

encumbrances

repeated message ReportedEncumbrance · since v8 · stable

Carries the sub-balances the custodian reports encumbered.

  • Means: as on RecordHoldingRequest, from the row that last stated the position
  • Does not mean: the book's encumbrances
  • Empty: empty means none reported, not none held
  • Filled: as-reported, by custody

raw_record

message RawRecordRef · since v11 · stable

References the raw record the row that last stated it was converted from.

  • Means: the record in the plugin's own storage, which a person follows on that plugin's page; a value derived wholly by the plugin names the record it was derived from
  • Does not mean: a record core or another plugin reads: carried, never followed, past the plugin that owns it
  • Empty: unset where the row that last stated it carried none
  • Filled: as-reported, by custody

provenance

repeated message Provenance · since v11 · stable

Says where each value the plugin closed rather than read came from.

  • Means: one per closed value, by its path: derived by a named rule, supplied by a named person, from a second source, or reported from another of the source's records
  • Does not mean: a value presented as the source's: a closed value never is
  • Empty: empty where every value is the source's, from the raw record
  • Filled: as-reported, by custody
  • Bounds: at most 32 items; past it, refused

pending

repeated message ReportedPending · since v11 · stable

States the quantities not yet settled, each by its value date.

  • Means: as the row that last stated the position carried them, with what a backfill added
  • Does not mean: the book's pending lines
  • Empty: empty where nothing is pending
  • Filled: as-reported, by custody
  • Bounds: at most 64 items; past it, refused

StatementRecordedEvent

meridian.v1.StatementRecordedEvent, a record.

statement_id

text · since v2 · stable

Identifies the completed statement.

  • Means: the street's statement identifier
  • Does not mean: the plugin's external_statement_id
  • Empty: never empty
  • Filled: minted, by street

source

text · since v2 · stable

Names the statement's source.

  • Means: the plugin's scheme for its source
  • Does not mean: the institution, which institution is
  • Empty: never empty
  • Filled: as-reported, by custody

as_of_date

date · since v2 · stable

Says the date the statement's positions reflect.

  • Means: an ISO 8601 date, as the statement gave it
  • Does not mean: when it was recorded
  • Empty: never empty
  • Filled: as-reported, by custody

rows_received

integer · since v2 · stable

Counts the statement's rows.

  • Means: every row recorded, resolved or not
  • Does not mean: positions changed
  • Empty: 0 for a statement with no holding
  • Filled: derived, by street
  • Unit: holding rows

rows_resolved

integer · since v2 · stable

Counts the rows that named an instrument.

  • Means: rows that updated a position
  • Does not mean: positions changed
  • Empty: 0 when none resolved
  • Filled: derived, by street
  • Unit: holding rows

rows_unresolved

integer · since v2 · stable

Counts the rows the deployment could not name.

  • Means: the number a person watches
  • Does not mean: rows refused
  • Empty: 0 when every row resolved: the only quiet outcome
  • Filled: derived, by street
  • Unit: holding rows

recorded_at_ns

moment · since v2 · stable

Records when the statement completed.

  • Means: the deployment's clock when its last row landed
  • Does not mean: when it was read, or the date it reflects
  • Empty: never 0
  • Filled: decided, by street
  • Unit: nanoseconds since the epoch

account_id

identifier account · since v7 · stable

Names the account the statement is of.

  • Means: its external account's linked account, or, from a plugin before v7, its rows'
  • Does not mean: the external account
  • Empty: never empty from v7
  • Filled: decided, by street

figures

repeated message StatementFigures · since v7 · stable

Carries the statement's figures as recorded.

  • Means: one set per segment, as reported
  • Does not mean: figures derived from the positions
  • Empty: empty where the statement carried none
  • Filled: as-reported, by custody

currency_assumed

boolean · since v7 · stable · deprecated in v11

Deprecated in v11

as on the statement. Use meridian.v1.StatementRecordedEvent.provenance instead.

Says the figures' currency is the plugin's assumption.

  • Means: as the statement said
  • Does not mean: that the figures are wrong
  • Empty: false when the source stated the figures' currency
  • Filled: as-reported, by custody

journal

message JournalRef · since v7 · stable

Says where the completion sits in the street's record.

  • Means: its number in the street's partition, chained per account with the statements before it
  • Does not mean: the statement's identifier
  • Empty: never unset
  • Filled: decided, by street

cause

message ChangeCause · since v7 · stable

Says who caused the completion.

  • Means: the row whose landing completed it
  • Does not mean: who read the statement
  • Empty: never unset
  • Filled: decided, by street

external_account_id

identifier external account · since v7 · stable

Names the external account the statement was of.

  • Means: as the statement named it: with the source and a segment, what a margin agreement is keyed by and an opening balance names as its source
  • Does not mean: an account of the deployment
  • Empty: empty from a plugin before v7
  • Filled: as-reported, by custody

institution

text · since v7 · stable

Names the institution holding the external account.

  • Means: as the statement named it
  • Does not mean: the plugin's scheme
  • Empty: empty from a plugin before v7, and where the plugin did not say
  • Filled: as-reported, by custody

security_interest

boolean · since v8 · stable

Says the account servicer holds a lien or a right of set-off over the account.

  • Means: as the statement reported it
  • Does not mean: an encumbrance
  • Empty: unset where the statement did not say, which is not false
  • Filled: as-reported, by custody

raw_record

message RawRecordRef · since v11 · stable

References the raw record the statement's figures was converted from.

  • Means: the record in the plugin's own storage, which a person follows on that plugin's page; a value derived wholly by the plugin names the record it was derived from
  • Does not mean: a record core or another plugin reads: carried, never followed, past the plugin that owns it
  • Empty: unset from a plugin before v11; the custody suite requires it
  • Filled: as-reported, by custody

provenance

repeated message Provenance · since v11 · stable

Says where each value the plugin closed rather than read came from.

  • Means: one per closed value, by its path: derived by a named rule, supplied by a named person, from a second source, or reported from another of the source's records
  • Does not mean: a value presented as the source's: a closed value never is
  • Empty: empty where every value is the source's, from the raw record
  • Filled: as-reported, by custody
  • Bounds: at most 32 items; past it, refused

ActivityRecordedEvent

meridian.v1.ActivityRecordedEvent, a record.

activity_id

text · since v14 · preview

Identifies the activity recorded.

  • Means: the street's identifier, as the record's reply answered it
  • Does not mean: the custodian's external_activity_id
  • Empty: never empty
  • Filled: minted, by street

account_id

identifier account · since v14 · preview

Names the account the activity is on.

  • Means: the account the sidecar stamped on the record
  • Does not mean: an external account
  • Empty: never empty
  • Filled: stamped, by sidecar

external_account_id

identifier external account · since v14 · preview

Names the external account the activity is on.

  • Means: as the custody plugin reported it
  • Does not mean: an account of the deployment
  • Empty: never empty
  • Filled: as-reported, by custody

source

text · since v14 · preview

Names the source the activity was read from.

  • Means: the plugin's scheme for its source, as recorded
  • Does not mean: the institution holding the account
  • Empty: never empty
  • Filled: as-reported, by custody

activity

message CustodialActivity · since v14 · preview

Carries the activity as recorded.

  • Means: as the custodian stated it and the plugin sent it, whole
  • Does not mean: a position, a lot or a figure: the street derives none from it
  • Empty: never unset
  • Filled: as-reported, by custody

recorded_at_ns

moment · since v14 · preview

Records when the street recorded the activity.

  • Means: the deployment's clock when it was recorded
  • Does not mean: when it was traded, or when the plugin read it
  • Empty: never 0
  • Filled: decided, by street
  • Unit: nanoseconds since the epoch

journal

message JournalRef · since v14 · preview

Says where the record sits in the street's record.

  • Means: its number in the street's partition, chained per account with the activities before it
  • Does not mean: the activity's identifier
  • Empty: never unset
  • Filled: decided, by street

cause

message ChangeCause · since v14 · preview

Says who caused the record.

  • Means: the custody plugin's command that recorded it
  • Does not mean: who traded
  • Empty: never unset
  • Filled: decided, by street

ActivityReResolution

meridian.v1.ActivityReResolution, a record.

activity_id

text · since v15 · preview

Names the activity this re-resolution sits beside.

  • Means: the street's identifier for the activity as first recorded (W2.10)
  • Does not mean: an identifier of the re-resolution
  • Empty: never empty
  • Filled: decided, by street

instrument_id

identifier instrument · since v15 · preview

Names the instrument the activity now resolves to.

  • Means: the deployment's record, as the plugin resolved it later
  • Does not mean: an identifier of a scheme, or the custodian's own code
  • Empty: empty where the link the activity had been resolved by was removed: unresolved again, its code as first reported
  • Filled: as-reported, by custody

provenance

message Provenance · since v15 · preview

Says how the instrument was resolved this time.

  • Means: supplied by the named person who set the link, or derived by a named rule
  • Does not mean: the custodian's word
  • Empty: never unset
  • Filled: as-reported, by custody

resolved_at_ns

moment · since v15 · preview

Says when what resolves the activity was made.

  • Means: when the link was set or the rule resolved it, as the plugin sent it
  • Does not mean: when the street recorded it
  • Empty: never 0
  • Filled: as-reported, by custody
  • Unit: nanoseconds since the epoch

recorded_at_ns

moment · since v15 · preview

Records when the street recorded the re-resolution.

  • Means: the deployment's clock when it was recorded, never back-dated
  • Does not mean: when the activity was first recorded, or traded
  • Empty: never 0
  • Filled: decided, by street
  • Unit: nanoseconds since the epoch

journal

message JournalRef · since v15 · preview

Says where the re-resolution sits in the street's record.

  • Means: its own number in the street's partition, chained per account with the re-resolutions before it, apart from the activities' chain
  • Does not mean: the activity's own number
  • Empty: never unset
  • Filled: decided, by street

account_id

identifier account · since v15 · preview

Names the account the re-resolved activity is on.

  • Means: the account the activity was recorded against, so a read since a watermark is applied by account as the event is delivered
  • Does not mean: the external account
  • Empty: never empty
  • Filled: decided, by street

SyncStatusRecordedEvent

meridian.v1.SyncStatusRecordedEvent, a record.

status

message SyncStatusEvent · since v14 · preview

Carries the sync status as recorded.

  • Means: as the custody plugin published it (W2.1), its account as the sidecar stamped it: empty when the external account is not linked, and then delivered to no plugin
  • Does not mean: anything the street concluded about the connection
  • Empty: never unset
  • Filled: as-reported, by custody

recorded_at_ns

moment · since v14 · preview

Records when the street recorded the sync status.

  • Means: the deployment's clock when it was recorded
  • Does not mean: when the source last synced, or when the plugin observed it
  • Empty: never 0
  • Filled: decided, by street
  • Unit: nanoseconds since the epoch

journal

message JournalRef · since v14 · preview

Says where the record sits in the street's record.

  • Means: its number in the street's partition, chained per account with the sync statuses before it
  • Does not mean: an identifier of the connection
  • Empty: never unset
  • Filled: decided, by street

cause

message ChangeCause · since v14 · preview

Says who caused the record.

  • Means: the custody plugin whose sync status the street heard
  • Does not mean: the rail, or a person
  • Empty: never unset
  • Filled: decided, by street

UnresolvedHolding

meridian.v1.UnresolvedHolding, a record.

holding_id

text · since v2 · stable

Identifies the row that never resolved.

  • Means: the street's identifier for the row
  • Does not mean: an instrument
  • Empty: never empty
  • Filled: minted, by street

account_id

identifier account · since v2 · stable

Names the account the row is of.

  • Means: the deployment's account
  • Does not mean: the external account
  • Empty: never empty
  • Filled: decided, by street

identifiers

repeated message Identifier · since v2 · stable

Carries what the plugin held for the row.

  • Means: every identifier its source gave
  • Does not mean: a record
  • Empty: never empty
  • Filled: as-reported, by custody

quantity

Decimal · since v2 · stable

Says how much the row held.

  • Means: signed as the row stated it, negative short
  • Does not mean: a position
  • Empty: never unset
  • Filled: as-reported, by custody
  • Unit: units of the unnamed instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

market_value

Money · since v2 · stable

Carries the custodian's valuation of the row.

  • Means: as reported
  • Does not mean: a value the platform computed
  • Empty: unset where the custodian reported no value, which is not zero
  • Filled: as-reported, by custody

source

text · since v2 · stable

Names the row's source.

  • Means: the plugin's scheme for its source
  • Does not mean: the institution
  • Empty: never empty
  • Filled: as-reported, by custody

as_of_date

date · since v2 · stable

Says the date the row was as of.

  • Means: its statement's as-of date
  • Does not mean: when it was recorded
  • Empty: never empty
  • Filled: as-reported, by custody

escalated

boolean · since v2 · stable

Says an escalation was raised for the row's identifiers.

  • Means: so a view can tell what nobody has looked at from what is with the administrator
  • Does not mean: that it is resolved
  • Empty: false while nobody has raised it
  • Filled: decided, by street

raw_record

message RawRecordRef · since v11 · stable

References the raw record the row was converted from.

  • Means: as the row carried it
  • Does not mean: a record anyone but its plugin reads
  • Empty: unset where the row carried none
  • Filled: as-reported, by custody

SyncStatusEvent

meridian.v1.SyncStatusEvent, a message.

source

text · since v2 · stable

Names the connection's source.

  • Means: the plugin's scheme for its source, as on its identifiers
  • Does not mean: the institution holding the account
  • Empty: never empty
  • Filled: as-reported, by custody

account_id

identifier account · since v2 · stable

Names the account the connection's external account is linked to.

  • Means: the deployment's account (W6.4)
  • Does not mean: anything a plugin sets
  • Empty: empty when the external account is not linked: the sidecar sets it from the link, and never refuses this event for want of one
  • Filled: stamped, by sidecar

external_account_id

identifier external account · since v2 · stable

Names the external account the freshness is of.

  • Means: as the plugin reported it (W2.8)
  • Does not mean: an account of the deployment
  • Empty: never empty
  • Filled: as-reported, by custody

last_synced_at_ns

moment · since v2 · stable

Says when the source last synced the account from the institution.

  • Means: when the read succeeded
  • Does not mean: when the data is as of: a source late by design syncs today what was true yesterday
  • Empty: 0 where the source never said
  • Filled: as-reported, by custody
  • Unit: nanoseconds since the epoch

connection_healthy

boolean · since v2 · stable

Says whether the source considers the connection healthy.

  • Means: false with a recent last sync means the data is good and the connection has since broken
  • Does not mean: whose fix it is, which state says
  • Empty: false is not healthy, state saying why
  • Filled: as-reported, by custody

status_detail

text · since v2 · stable

Carries what state does not say.

  • Means: the source's words; diagnostic, nothing branches on it
  • Does not mean: a code
  • Empty: empty for none
  • Filled: as-reported, by custody

observed_at_ns

moment · since v2 · stable

Records when the plugin observed the freshness.

  • Means: the plugin's clock
  • Does not mean: the last sync
  • Empty: never 0
  • Filled: as-reported, by custody
  • Unit: nanoseconds since the epoch

state

enum SyncState · since v2 · stable

Says whether the data is current, and if not why, which is whose fix it is.

  • Means: one of the ways the sources surveyed fail, each asking something different of a person
  • Does not mean: the connection's health alone
  • Empty: unspecified is not said
  • Filled: as-reported, by custody
Value Means
SYNC_STATE_UNSPECIFIED not said, by a plugin written before states were; shown as connection_healthy says
SYNC_STATE_CURRENT current; nothing to do
SYNC_STATE_STALE still serving, older than it should be since holdings_as_of_ns; usually the source's to recover
SYNC_STATE_NEEDS_SIGN_IN a person must sign in again at the institution before anything new is served
SYNC_STATE_DISABLED the connection is disabled and serves only what it last read; somebody re-enables it
SYNC_STATE_DELAYED_BY_DESIGN late on purpose, by a business day or so; expected, nothing to do
SYNC_STATE_HOLDINGS_UNAVAILABLE the institution does not provide holdings through this connection; waiting changes nothing, and the account is connected another way

holdings_as_of_ns

moment · since v2 · stable

Says when the holdings the source serves are as of.

  • Means: kept apart from the history's, since a connection can have one current and not the other
  • Does not mean: the last sync
  • Empty: 0 where the source does not say
  • Filled: as-reported, by custody
  • Unit: nanoseconds since the epoch

history_as_of_ns

moment · since v2 · stable

Says when the history — transactions — the source serves is as of.

  • Means: kept apart from the holdings'
  • Does not mean: the last sync
  • Empty: 0 where the source does not say
  • Filled: as-reported, by custody
  • Unit: nanoseconds since the epoch

history_from

date · since v14 · stable

Says how far back the account's history reaches.

  • Means: the first date the source can read the account's activity from, an ISO 8601 date: how far a backfill of activity reaches (W2.10)
  • Does not mean: how fresh the history is, which history_as_of_ns says
  • Empty: empty where the source does not say, which is not saying the history is complete
  • Filled: as-reported, by custody

RecordHoldingsStatementRequest

meridian.v1.RecordHoldingsStatementRequest, a message.

source

text · since v2 · stable

Names the statement's source.

  • Means: the plugin's scheme for its source, as on its identifiers
  • Does not mean: the institution holding the account, which institution is
  • Empty: never empty
  • Filled: as-reported, by custody

external_statement_id

text · since v2 · stable

Lets the street recognise the same statement sent twice.

  • Means: the plugin's identifier for the snapshot, made from the account it read and when, so the same read sent twice has the same one
  • Does not mean: the street's statement identifier
  • Empty: never empty
  • Filled: as-reported, by custody

as_of_date

date · since v2 · stable

Says the date the positions reflect.

  • Means: an ISO 8601 date
  • Does not mean: when the plugin read them: a statement read this morning may be as of yesterday's close
  • Empty: never empty
  • Filled: as-reported, by custody

read_at_ns

moment · since v2 · stable

Records when the plugin read the statement.

  • Means: the plugin's clock when it fetched the positions
  • Does not mean: the date they reflect
  • Empty: never 0
  • Filled: as-reported, by custody
  • Unit: nanoseconds since the epoch

expected_rows

integer · since v2 · stable

Marks the end of a statement.

  • Means: how many holding rows follow: the street closes the statement when this many have landed, and one whose rows never all arrive stays open rather than publishing wrong counts
  • Does not mean: a page size
  • Empty: 0 for a statement with no holding
  • Filled: as-reported, by custody
  • Unit: holding rows

buying_power

Money · since v2 · stable · deprecated in v7

Deprecated in v7

a statement carries a set of figures per margin segment. Use meridian.v1.RecordHoldingsStatementRequest.figures instead.

Carried the account's buying power before figures per segment.

  • Means: read from a plugin before v7 as the set with no segment
  • Does not mean: a figure a plugin at v7 or later sends here
  • Empty: unset; refused from a plugin at v7 or later sent beside figures
  • Filled: as-reported, by custody

margin_requirement

Money · since v2 · stable · deprecated in v7

Deprecated in v7

a statement carries a set of figures per margin segment. Use meridian.v1.RecordHoldingsStatementRequest.figures instead.

Carried the account's margin requirement before figures per segment.

  • Means: read from a plugin before v7 as the set with no segment
  • Does not mean: a figure a plugin at v7 or later sends here
  • Empty: unset; refused from a plugin at v7 or later sent beside figures
  • Filled: as-reported, by custody

maintenance_excess

Money · since v2 · stable · deprecated in v7

Deprecated in v7

a statement carries a set of figures per margin segment. Use meridian.v1.RecordHoldingsStatementRequest.figures instead.

Carried the account's maintenance excess before figures per segment.

  • Means: read from a plugin before v7 as the set with no segment
  • Does not mean: a figure a plugin at v7 or later sends here
  • Empty: unset; refused from a plugin at v7 or later sent beside figures
  • Filled: as-reported, by custody

currency_assumed

boolean · since v2 · stable · deprecated in v11

Deprecated in v11

a currency the source did not state is derived by the plugin's rule, and its provenance says so. Use meridian.v1.RecordHoldingsStatementRequest.provenance instead.

Says the figures' currency is the plugin's assumption.

  • Means: the source stated no currency, and the one on every set of figures is the plugin's stated assumption
  • Does not mean: that the figures are wrong
  • Empty: false when the source stated the figures' currency
  • Filled: as-reported, by custody

external_account_id

identifier external account · since v7 · stable

Names the external account the statement is of.

  • Means: as the plugin reported it (W2.8); a statement is one account's, and a row naming another is refused
  • Does not mean: an account of the deployment
  • Empty: never empty: the sidecar refuses a statement whose external account is not linked (REFUSAL_REASON_EXTERNAL_ACCOUNT_NOT_LINKED)
  • Filled: as-reported, by custody

account_id

identifier account · since v7 · stable

Names the account the statement is recorded against.

  • Means: the deployment's account the external account is linked to (W6.4)
  • Does not mean: anything a plugin sets
  • Empty: a plugin leaves it empty; the sidecar sets it from the link
  • Filled: stamped, by sidecar

figures

repeated message StatementFigures · since v7 · stable

Carries the statement's figures, one set per margin segment.

  • Means: as the source reported them; no two name the same segment
  • Does not mean: figures computed from the holdings, which would be the platform's presented as the custodian's
  • Empty: empty where the source reports no figure
  • Filled: as-reported, by custody

institution

text · since v7 · stable

Names the institution holding the external account.

  • Means: the institution behind an aggregating source, or the source itself for a direct one, as the plugin names it
  • Does not mean: the plugin's scheme, which source is
  • Empty: empty where the plugin does not say
  • Filled: as-reported, by custody

security_interest

boolean · since v8 · stable

Says the account servicer holds a lien or a right of set-off over the account.

  • Means: as the statement reports it
  • Does not mean: an encumbrance: it reduces no holding's available quantity
  • Empty: unset where the statement does not say, which is not false
  • Filled: as-reported, by custody

raw_record

message RawRecordRef · since v11 · stable

References the raw record the statement's figures was converted from.

  • Means: the record in the plugin's own storage, which a person follows on that plugin's page; a value derived wholly by the plugin names the record it was derived from
  • Does not mean: a record core or another plugin reads: carried, never followed, past the plugin that owns it
  • Empty: unset from a plugin before v11; the custody suite requires it
  • Filled: as-reported, by custody

provenance

repeated message Provenance · since v11 · stable

Says where each value the plugin closed rather than read came from.

  • Means: one per closed value, by its path: derived by a named rule, supplied by a named person, from a second source, or reported from another of the source's records
  • Does not mean: a value presented as the source's: a closed value never is
  • Empty: empty where every value is the source's, from the raw record
  • Filled: as-reported, by custody
  • Bounds: at most 32 items; past it, refused

StatementFigures

meridian.v1.StatementFigures, a message.

segment

text · since v7 · stable

Names the margin segment the figures are for.

  • Means: the segment as the source names it, verbatim
  • Does not mean: a segment of the platform's vocabulary
  • Empty: empty for the account as a whole
  • Filled: as-reported, by custody

buying_power

Money · since v7 · stable

Carries the segment's buying power.

  • Means: as reported
  • Does not mean: a figure derived from the holdings
  • Empty: unset where the source reported none, which is not zero
  • Filled: as-reported, by custody

margin_requirement

Money · since v7 · stable

Carries the segment's margin requirement.

  • Means: as reported
  • Does not mean: a figure derived from the holdings
  • Empty: unset where the source reported none, which is not zero
  • Filled: as-reported, by custody

maintenance_excess

Money · since v7 · stable

Carries the segment's maintenance excess.

  • Means: as reported; negative is a deficit
  • Does not mean: a figure derived from the holdings
  • Empty: unset where the source reported none, which is not zero
  • Filled: as-reported, by custody

initial_margin

Money · since v7 · stable

Carries the segment's initial margin.

  • Means: as reported
  • Does not mean: a figure derived from the holdings
  • Empty: unset where the source reported none, which is not zero
  • Filled: as-reported, by custody

variation_margin

Money · since v7 · stable

Carries the segment's variation margin.

  • Means: as reported
  • Does not mean: a figure derived from the holdings
  • Empty: unset where the source reported none, which is not zero
  • Filled: as-reported, by custody

net_liquidation

Money · since v7 · stable

Carries the institution's own total account value.

  • Means: as it reports it
  • Does not mean: a sum of the holdings
  • Empty: unset where the source reported none, which is not zero
  • Filled: as-reported, by custody

collateral

repeated message ReportedCollateral · since v7 · stable

Carries the collateral held under the segment.

  • Means: each balance as reported; posted collateral the custodian also lists as a holding is a holding row too
  • Does not mean: a holding: a balance moves nothing, and collateral received under a security interest is never one
  • Empty: empty where none is reported, which is not none held
  • Filled: as-reported, by custody

ReportedCollateral

meridian.v1.ReportedCollateral, a message.

direction

enum CollateralDirection · since v7 · stable

Says whether the account posted or received the collateral.

  • Means: as reported
  • Does not mean: whether the collateral is a holding
  • Empty: unspecified is refused, naming its path
  • Filled: as-reported, by custody
  • Required on: RecordHoldingsStatement from v7
Value Means
COLLATERAL_DIRECTION_UNSPECIFIED not said; refused, since collateral is posted or received
COLLATERAL_DIRECTION_POSTED posted by the account
COLLATERAL_DIRECTION_RECEIVED received by the account

instrument_id

identifier instrument · since v7 · stable

Names the collateral's instrument.

  • Means: the deployment's record, held or minted, or the currency's cash instrument for cash, resolved as a holding's is (W3.1)
  • Does not mean: an identifier of a scheme
  • Empty: empty when the resolve was ambiguous, and unresolved_identifiers is set instead: exactly one of the two
  • Filled: as-reported, by custody

unresolved_identifiers

repeated message Identifier · since v7 · stable

Carries what the plugin held when the resolve was ambiguous.

  • Means: every identifier its source gave
  • Does not mean: a record
  • Empty: empty when instrument_id is set: exactly one of the two
  • Filled: as-reported, by custody

quantity

Decimal · since v7 · stable

Says how much of the instrument the balance is.

  • Means: as reported
  • Does not mean: its value
  • Empty: never unset
  • Filled: as-reported, by custody
  • Unit: units of the instrument; for cash, the currency's major unit
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused
  • Required on: RecordHoldingsStatement from v7; RecordAccountFigures from v8

value

Money · since v7 · stable

Carries the collateral's value.

  • Means: as reported, before any haircut
  • Does not mean: a value computed from a price
  • Empty: unset where the source does not say, which is not zero
  • Filled: as-reported, by custody

haircut

Decimal · since v7 · stable

Carries the haircut applied to the collateral.

  • Means: the source's percentage written as its fraction
  • Does not mean: a percentage
  • Empty: unset where the source does not say
  • Filled: as-reported, by custody
  • Unit: a fraction of the value: 0.15 is 15%
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

value_after_haircut

Money · since v7 · stable

Carries the collateral's value after its haircut.

  • Means: as reported
  • Does not mean: the value times the haircut, computed here
  • Empty: unset where the source does not say, which is not zero
  • Filled: as-reported, by custody

held_at

text · since v7 · stable

Says where the collateral is held.

  • Means: the clearing member, the dealer or a third-party custodian, as the source names it
  • Does not mean: an identifier any component resolves
  • Empty: empty where the source does not say
  • Filled: as-reported, by custody

reusable

boolean · since v8 · stable

Says whether the receiver may reuse the collateral.

  • Means: as the agreement states and the source reports it
  • Does not mean: a position: received collateral is never one, reusable or not
  • Empty: unset where the source does not say, which is not false
  • Filled: as-reported, by custody

RecordHoldingsStatementReply

meridian.v1.RecordHoldingsStatementReply, a message.

statement_id

text · since v2 · stable

Identifies the statement the street recorded.

  • Means: minted by the street; every row of the statement names it
  • Does not mean: the plugin's external_statement_id
  • Empty: never empty
  • Filled: minted, by street

already_recorded

boolean · since v2 · stable

Says the statement had already been recorded.

  • Means: a redelivery: the existing statement is returned, and nothing is recorded twice
  • Does not mean: a refusal
  • Empty: false for a statement recorded now
  • Filled: decided, by street

RecordHoldingRequest

meridian.v1.RecordHoldingRequest, a message.

statement_id

text · since v2 · stable

Names the statement the row belongs to.

  • Means: the street's statement identifier
  • Does not mean: the plugin's external_statement_id
  • Empty: never empty
  • Filled: as-reported, by custody

account_id

identifier account · since v2 · stable

Names the account the row is recorded against.

  • Means: the deployment's account the external account is linked to (W6.4)
  • Does not mean: anything a plugin sets
  • Empty: a plugin leaves it empty; the sidecar sets it from the link, and refuses the row when there is none (REFUSAL_REASON_EXTERNAL_ACCOUNT_NOT_LINKED)
  • Filled: stamped, by sidecar

external_account_id

identifier external account · since v2 · stable

Names the external account the row is of.

  • Means: as the plugin reported it (W2.8); refused is not dropped: the external account is reported unlinked, and the next statement after it is linked records it
  • Does not mean: an account of the deployment
  • Empty: never empty: a row is of an external account the plugin reported
  • Filled: as-reported, by custody

instrument_id

identifier instrument · since v2 · stable

Names the instrument held.

  • Means: the deployment's record, held or minted when nothing matched (W3.7); for cash, the currency's cash instrument
  • Does not mean: an identifier of a scheme
  • Empty: empty when the resolve was ambiguous, and unresolved_identifiers is set instead: never both, never neither, refused otherwise
  • Filled: as-reported, by custody

unresolved_identifiers

repeated message Identifier · since v2 · stable

Carries what the plugin held when the resolve was ambiguous, or from v24 not found for a source thinner than an instrument record's minimum.

  • Means: everything it held, so a person sees exactly what could not be accounted for; the row is recorded all the same, since a dropped holding is invisible. From v24 also a placeholder for a source stating less than an identifier, a description and a currency, outside the book and flagged on reconciliation as an unrecognized security (W3.7, W9.3)
  • Does not mean: a record
  • Empty: empty when instrument_id is set: never both, never neither
  • Filled: as-reported, by custody

Changes: v24, clarified: also a holding whose source is thinner than an instrument record's minimum, answered not found (W3.7; the one-ID model, ruled 2026-10-14).

quantity

Decimal · since v2 · stable

States the trade-date quantity held.

  • Means: what is held counting every trade executed, settled or not; signed to match side, negative short
  • Does not mean: the settle-date quantity, or the available quantity
  • Empty: never unset: refused, since unset would read as zero
  • Filled: as-reported, by custody
  • Unit: units of the instrument; for cash, the currency's major unit
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused
  • Required on: RecordHolding from v2

side

enum HoldingSide · since v2 · stable

Says which side of the instrument the holding is on.

  • Means: stated, not read off the sign; a source reporting an account's long and short of one instrument apart sends two rows, and one reporting a signed number sends the side its sign means
  • Does not mean: the sign alone
  • Empty: unspecified is refused
  • Filled: as-reported, by custody
  • Required on: RecordHolding from v2
Value Means
HOLDING_SIDE_UNSPECIFIED not said; refused by the street
HOLDING_SIDE_LONG held long
HOLDING_SIDE_SHORT held short

settle_date_quantity

Decimal · since v2 · stable

States the settle-date quantity held.

  • Means: what is held counting only settled trades; for cash, the settled cash
  • Does not mean: the trade-date quantity
  • Empty: unset where the source does not report it, which is not zero
  • Filled: as-reported, by custody
  • Unit: units of the instrument; for cash, the currency's major unit
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

market_value

Money · since v2 · stable

Carries the source's valuation of the holding.

  • Means: as reported, in its currency, never recomputed: the custodian's belief, which a later comparison needs
  • Does not mean: a value the platform computed from a price
  • Empty: unset where the source reported none, which is not a value of zero
  • Filled: as-reported, by custody

currency_assumed

boolean · since v2 · stable · deprecated in v11

Deprecated in v11

a currency the source did not state is derived by the plugin's rule, and its provenance says so. Use meridian.v1.RecordHoldingRequest.provenance instead.

Says the row's currency is the plugin's assumption.

  • Means: the source stated none, and the market value's currency — for cash, the currency whose cash instrument the row names — is the plugin's stated assumption
  • Does not mean: a pseudo-currency standing for an account's base, which is never one
  • Empty: false when the source stated the currency
  • Filled: as-reported, by custody

also_counted_in_cash

boolean · since v2 · stable · deprecated in v11

Deprecated in v11

each asset is counted once: the plugin nets the cash at the edge, and the source's gross figure stays in its raw record.

Said, until v11, that the holding's value is also in the account's cash as the source reports it.

  • Means: from a plugin before v11 only; from v11 the street counts each asset once, the cash net of the holding at the edge, and no reader acts on it
  • Does not mean: that the holding is cash
  • Empty: false when the source counts the holding once
  • Filled: as-reported, by custody

cost_basis

Money · since v7 · stable

Carries the holding's total cost.

  • Means: as the source reports it, never derived
  • Does not mean: average cost times quantity
  • Empty: unset where the source reports none
  • Filled: as-reported, by custody

lots

repeated message ReportedLot · since v7 · stable

Carries the holding's lots as the custodian lists them.

  • Means: lots whose quantities do not sum to the holding's are recorded as reported
  • Does not mean: the book's lots
  • Empty: empty where the source lists none, which is not one lot
  • Filled: as-reported, by custody

margin_requirement

Money · since v7 · stable

Carries the margin the holding requires.

  • Means: as reported
  • Does not mean: a figure derived from a rate
  • Empty: unset where the source reports none, which is not zero
  • Filled: as-reported, by custody

average_cost

Money · since v7 · stable

Carries the source's average cost per unit.

  • Means: in the source's unit, which for an option may be per share while the quantity counts contracts; never computed from cost_basis, nor cost_basis from it
  • Does not mean: a figure anything multiplies by the quantity or a multiplier
  • Empty: unset where the source reports none
  • Filled: as-reported, by custody

available_quantity

Decimal · since v8 · stable

Carries how much of the holding the source reports available.

  • Means: as reported, never derived from not_available_quantity or the quantity; available_basis says what it is net of
  • Does not mean: the book's free quantity
  • Empty: unset where the source gives none: never zero, never the holding's quantity
  • Filled: as-reported, by custody
  • Unit: units of the instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

not_available_quantity

Decimal · since v8 · stable

Carries how much of the holding the source reports not available.

  • Means: as reported, never derived
  • Does not mean: a sum of the encumbrances
  • Empty: unset where the source gives none, which is not zero
  • Filled: as-reported, by custody
  • Unit: units of the instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

available_basis

enum AvailableBasis · since v8 · stable

Says what the available figure is net of.

  • Means: the basis the source states
  • Does not mean: a basis the platform chose
  • Empty: unspecified is not said
  • Filled: as-reported, by custody
Value Means
AVAILABLE_BASIS_UNSPECIFIED the source does not say
AVAILABLE_BASIS_SETTLED net of what has settled
AVAILABLE_BASIS_TRADED net of what has traded
AVAILABLE_BASIS_CONTRACTUAL net of what is contractually due
AVAILABLE_BASIS_ORDER_NETTED net of the source's open orders: the order reservation is the order manager's, never an encumbrance

encumbrances

repeated message ReportedEncumbrance · since v8 · stable

Carries each sub-balance the source reports as encumbered.

  • Means: one per kind, location and pledgee
  • Does not mean: pending settlement, which stays in the settlement figures
  • Empty: empty means none reported, not none held
  • Filled: as-reported, by custody

raw_record

message RawRecordRef · since v11 · stable

References the raw record the row was converted from.

  • Means: the record in the plugin's own storage, which a person follows on that plugin's page; a value derived wholly by the plugin names the record it was derived from
  • Does not mean: a record core or another plugin reads: carried, never followed, past the plugin that owns it
  • Empty: unset from a plugin before v11; the custody suite requires it
  • Filled: as-reported, by custody

provenance

repeated message Provenance · since v11 · stable

Says where each value the plugin closed rather than read came from.

  • Means: one per closed value, by its path: derived by a named rule, supplied by a named person, from a second source, or reported from another of the source's records
  • Does not mean: a value presented as the source's: a closed value never is
  • Empty: empty where every value is the source's, from the raw record
  • Filled: as-reported, by custody
  • Bounds: at most 32 items; past it, refused

pending

repeated message ReportedPending · since v11 · stable

States the quantities not yet settled, each by its value date.

  • Means: with the settle-date quantity they account for the trade-date quantity; as the source reports them, or closed by the plugin with their provenance
  • Does not mean: an encumbrance, or the book's pending lines, which the book records itself
  • Empty: empty where nothing is pending, or from a plugin before v11
  • Filled: as-reported, by custody
  • Bounds: at most 64 items; past it, refused

backfill

message Backfill · since v11 · stable

Marks the row as a backfill of a row already recorded.

  • Means: the street journals the field it names as an amendment beside the row as first recorded (W2.4), its cause the contract version and field; sent again for the same row, version and field, it adds nothing
  • Does not mean: a new row, or a correction of a value already recorded
  • Empty: unset on a row sent as first read
  • Filled: as-reported, by custody

ReportedPending

meridian.v1.ReportedPending, a message.

value_date

date · since v11 · stable

Says when a pending quantity is due to settle.

  • Means: an ISO 8601 date, as the source reports it or as the plugin derived it
  • Does not mean: the trade date
  • Empty: never empty: a pending quantity names its date
  • Filled: as-reported, by custody
  • Required on: RecordHolding from v11

quantity

Decimal · since v11 · stable

States how much settles on the value date.

  • Means: signed as the holding's quantity, negative short
  • Does not mean: an amount to be paid
  • Empty: never unset
  • Filled: as-reported, by custody
  • Unit: units of the instrument; for cash, the currency's major unit
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused
  • Required on: RecordHolding from v11

ReportedEncumbrance

meridian.v1.ReportedEncumbrance, a message.

kind

enum EncumbranceKind · since v8 · stable

Says why some of a holding cannot move.

  • Means: the kind the source's code converts to, in the standard's codes
  • Does not mean: pending settlement, which stays in the settlement figures
  • Empty: unspecified is refused
  • Filled: as-reported, by custody
  • Required on: RecordHolding from v8
Value Means
ENCUMBRANCE_KIND_UNSPECIFIED not said; refused, since a sub-balance says which it is
ENCUMBRANCE_KIND_PLEDGED pledged in place to a pledgee (PLED)
ENCUMBRANCE_KIND_POSTED delivered to a third party as collateral (COLO)
ENCUMBRANCE_KIND_ON_LOAN lent (LOAN)
ENCUMBRANCE_KIND_BLOCKED blocked for a stated purpose (BLOK, BLCA, BLOT, BLOV)
ENCUMBRANCE_KIND_RESTRICTED movable only under conditions or with documents (RSTR, WDOC)
ENCUMBRANCE_KIND_IN_TRANSIT between depositories, agents or registers (TRAN, REGO, BTRA)
ENCUMBRANCE_KIND_OTHER a sub-balance the plugin cannot map; its source_code then required
ENCUMBRANCE_KIND_PENDING the street's only: as reported, for the statement's own consistency
ENCUMBRANCE_KIND_REHYPOTHECATED the street's only: used by the broker under a right of use; it does not reduce the available quantity
ENCUMBRANCE_KIND_BORROWED the street's only: borrowed, title to the account, with a return obligation

quantity

Decimal · since v8 · stable

Says how much of the holding is encumbered this way.

  • Means: signed as the holding's quantity; larger than the holding is recorded as reported, the custodian's data, which the reconciliation flags
  • Does not mean: a value
  • Empty: never unset
  • Filled: as-reported, by custody
  • Unit: units of the instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused
  • Required on: RecordHolding from v8

available

boolean · since v8 · stable

Says whether the source reports the sub-balance available.

  • Means: as reported
  • Does not mean: a value inferred from the kind
  • Empty: unset where the source does not say, since the kind does not imply it
  • Filled: as-reported, by custody

source_code

text · since v8 · stable

Keeps the source's own code or label for the sub-balance.

  • Means: verbatim, as the source wrote it
  • Does not mean: a code of the platform's vocabulary
  • Empty: empty where the source gives none; required where the kind is OTHER, a rule across the two fields the street refuses in words
  • Filled: as-reported, by custody

pledgee

text · since v8 · stable

Says to whom the sub-balance is pledged, posted or lent.

  • Means: as reported: a name, a business identifier code or a legal entity identifier
  • Does not mean: a party any component resolves
  • Empty: empty where not stated
  • Filled: as-reported, by custody

held_at

text · since v8 · stable

Says where the sub-balance is held.

  • Means: the safekeeping place or third party holding it, as reported
  • Does not mean: an identifier any component resolves
  • Empty: empty where not stated
  • Filled: as-reported, by custody

segment

text · since v8 · stable

Names the margin segment the sub-balance is under.

  • Means: as the source names it; with the holding's external account, a margin agreement's key
  • Does not mean: a segment of the platform's vocabulary
  • Empty: empty where the source names none: a custody statement never does
  • Filled: as-reported, by custody

detail

text · since v8 · stable

Keeps the source's narrative for the sub-balance.

  • Means: as reported
  • Does not mean: anything parsed
  • Empty: empty where none
  • Filled: as-reported, by custody

ReportedLot

meridian.v1.ReportedLot, a message.

quantity

Decimal · since v7 · stable

Says how much the lot holds.

  • Means: signed as the holding's quantity, negative short
  • Does not mean: what is left of a lot the book opened
  • Empty: never unset
  • Filled: as-reported, by custody
  • Unit: units of the instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused
  • Required on: RecordHolding from v7

cost

Money · since v7 · stable

Carries the lot's total cost.

  • Means: as reported, its sign as reported, never flipped
  • Does not mean: a unit cost
  • Empty: unset where not reported
  • Filled: as-reported, by custody

acquired_date

date · since v7 · stable

Says when the lot was acquired.

  • Means: an ISO 8601 date, as reported
  • Does not mean: when it settled
  • Empty: empty where not reported
  • Filled: as-reported, by custody

RecordHoldingReply

meridian.v1.RecordHoldingReply, a message.

holding_id

text · since v2 · stable

Identifies the row the street recorded.

  • Means: minted by the street
  • Does not mean: a position's identifier
  • Empty: never empty
  • Filled: minted, by street

resolved

boolean · since v2 · stable

Says whether the row updated a position.

  • Means: true when the row named an instrument; an unresolved row updates nothing until the deployment knows what it holds
  • Does not mean: that the row was refused
  • Empty: false for an unresolved row, which updates no position
  • Filled: decided, by street

CustodialPositionUpdatedEvent

meridian.v1.CustodialPositionUpdatedEvent, a message.

position

message CustodialPosition · since v2 · stable

Carries the custodial position that changed.

  • Means: its whole new state
  • Does not mean: a delta
  • Empty: never unset
  • Filled: decided, by street

statement_id

text · since v2 · stable

Names the statement that changed the position.

  • Means: so a reader can explain any position by what produced it
  • Does not mean: the plugin's external_statement_id
  • Empty: empty for a change no statement caused, as a record merged into another
  • Filled: decided, by street

previous_quantity

Decimal · since v2 · stable

Lets a reader show a change without its own history.

  • Means: the trade-date quantity before the change
  • Does not mean: the settle-date quantity
  • Empty: 0 for a position that is new
  • Filled: decided, by street
  • Unit: units of the instrument; for cash, the currency's major unit
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

journal

message JournalRef · since v7 · stable

Says where the change sits in the street's record.

  • Means: its number in the street's partition, chained per account with the positions changed before it
  • Does not mean: a position in a stream
  • Empty: never unset
  • Filled: decided, by street

cause

message ChangeCause · since v7 · stable

Says who caused the change.

  • Means: the command that changed the position
  • Does not mean: who published the event
  • Empty: never unset
  • Filled: decided, by street

ListCustodialPositionsRequest

meridian.v1.ListCustodialPositionsRequest, a message.

account_id

identifier account · since v2 · stable

Names the account to read.

  • Means: an account in the plugin's read scope; one outside it is refused before it leaves the sidecar
  • Does not mean: an external account
  • Empty: empty for every account in the reader's scope (W4.11)
  • Filled: as-reported

include_unresolved

boolean · since v2 · stable

Asks for the holdings that never resolved beside the positions.

  • Means: so one read answers both what the custodian says is held and what could not be accounted for
  • Does not mean: positions of unknown instruments
  • Empty: false for positions alone
  • Filled: as-reported

page_size

integer · since v2 · stable

Bounds a page.

  • Means: how many positions a page holds at most
  • Does not mean: a promise that a page is full
  • Empty: 0 is 100; past 500, answered at 500
  • Filled: as-reported
  • Unit: records
  • Bounds: from 0 to 500; past it, answered at the bound

cursor

text · since v2 · stable

Asks for the next page.

  • Means: opaque: the previous reply's next_cursor; unresolved holdings come with the first page only, so a read across pages sees each once
  • Does not mean: anything a reader parses
  • Empty: empty for the first page
  • Filled: as-reported

since

message Watermark · since v7 · stable

Asks only for what changed after a point.

  • Means: positions whose last change is above it, tombstones included
  • Does not mean: a time
  • Empty: unset for every position
  • Filled: as-reported

ListCustodialPositionsReply

meridian.v1.ListCustodialPositionsReply, a message.

positions

repeated message CustodialPosition · since v2 · stable

Answers the positions.

  • Means: within the reader's scope, a page at a time
  • Does not mean: the book's positions
  • Empty: empty when none is in scope
  • Filled: decided, by street

unresolved

repeated message UnresolvedHolding · since v2 · stable

Answers the holdings that never resolved.

  • Means: within the reader's scope
  • Does not mean: positions
  • Empty: empty unless include_unresolved was set, and after the first page
  • Filled: decided, by street

next_cursor

text · since v2 · stable

Points at the next page.

  • Means: opaque, passed back as cursor
  • Does not mean: anything a reader parses
  • Empty: empty on the last page
  • Filled: decided, by street

as_of

message Watermark · since v7 · stable

Says the point in the street's record the page was read at.

  • Means: what a reader passes as since to read only what changed after
  • Does not mean: a time
  • Empty: never unset from v7
  • Filled: decided, by street

ListStatementsRequest

meridian.v1.ListStatementsRequest, a message.

account_id

identifier account · since v7 · stable

Names the account whose statements to read.

  • Means: an account in the plugin's read scope
  • Does not mean: an external account
  • Empty: empty for every account in the reader's scope
  • Filled: as-reported

as_of_date

date · since v7 · stable

Narrows to statements as of a date.

  • Means: an ISO 8601 date
  • Does not mean: when they were recorded
  • Empty: empty for any date
  • Filled: as-reported

since

message Watermark · since v7 · stable

Asks only for statements completed after a point.

  • Means: a point in the street's record
  • Does not mean: a time
  • Empty: unset for every completed statement
  • Filled: as-reported

page_size

integer · since v7 · stable

Bounds a page.

  • Means: how many statements a page holds at most
  • Does not mean: a promise that a page is full
  • Empty: 0 is 100; past 500, answered at 500
  • Filled: as-reported
  • Unit: records
  • Bounds: from 0 to 500; past it, answered at the bound

cursor

text · since v7 · stable

Asks for the next page.

  • Means: opaque: the previous reply's next_cursor
  • Does not mean: anything a reader parses
  • Empty: empty for the first page
  • Filled: as-reported

ListStatementsReply

meridian.v1.ListStatementsReply, a message.

statements

repeated message StatementRecordedEvent · since v7 · stable

Answers completed statements and their figures.

  • Means: each as it was announced (W2.5); an open statement is not listed
  • Does not mean: statements still receiving rows
  • Empty: empty when none is in scope
  • Filled: decided, by street

next_cursor

text · since v7 · stable

Points at the next page.

  • Means: opaque, passed back as cursor
  • Does not mean: anything a reader parses
  • Empty: empty on the last page
  • Filled: decided, by street

as_of

message Watermark · since v7 · stable

Says the point in the street's record the page was read at.

  • Means: what a reader passes as since
  • Does not mean: a time
  • Empty: never unset
  • Filled: decided, by street

CustodialActivity

meridian.v1.CustodialActivity, a message.

external_activity_id

text · since v14 · preview

Lets the street recognise the same activity sent twice.

  • Means: the custodian's own identifier for the activity, as the plugin read it; with the source and the account, the street's key for it
  • Does not mean: the street's activity_id; a custodian restating an activity under a new identifier sends a new activity, never a change to this one
  • Empty: never empty: refused, since it is what recognises the activity sent twice
  • Filled: as-reported, by custody
  • Bounds: 1 to 200 characters; past it, refused
  • Required on: RecordActivity from v14

kind

enum ActivityKind · since v14 · preview

Says what the activity was, in the platform's own words.

  • Means: converted by the plugin from the custodian's own type into the closed list
  • Does not mean: a booking: nothing books from it, and the cash-flow class is set by operations and servicing, never inferred
  • Empty: unspecified is not known, and then the custodian's type travels as reported
  • Filled: derived, by custody
Value Means
ACTIVITY_KIND_UNSPECIFIED not known: the custodian's type converts to none of these; what a plugin sends when conversion fails, with the type as reported beside it
ACTIVITY_KIND_PURCHASE units bought
ACTIVITY_KIND_SALE units sold
ACTIVITY_KIND_REINVESTMENT income the custodian reinvested in units, as a money market fund's monthly dividend is
ACTIVITY_KIND_DIVIDEND a dividend paid in cash
ACTIVITY_KIND_INTEREST interest paid in cash
ACTIVITY_KIND_FEE a fee, in cash or in units
ACTIVITY_KIND_TAX a tax withheld or paid
ACTIVITY_KIND_SPLIT a split: the units it added or removed
ACTIVITY_KIND_CORPORATE_ACTION another corporate action, as the custodian states it
ACTIVITY_KIND_TRANSFER_IN units or cash moved in from another account
ACTIVITY_KIND_TRANSFER_OUT units or cash moved out to another account
ACTIVITY_KIND_CONTRIBUTION cash paid into the account
ACTIVITY_KIND_WITHDRAWAL cash taken out of the account
ACTIVITY_KIND_JOURNAL a movement between the account's own positions or sub-accounts, as the custodian journals it

kind_as_reported

message AsReported · since v14 · preview

Carries the custodian's type that did not convert to a kind.

  • Means: for a person to map, and counted as evidence the kinds may need to grow
  • Does not mean: a kind any reader may act on: nothing past the plugin interprets it
  • Empty: unset whenever the kind is known: set only beside a kind not known
  • Filled: as-reported, by custody

instrument_id

identifier instrument · since v14 · preview

Names the instrument the activity concerns.

  • Means: the deployment's record, resolved at the edge as a holding's is; for cash, the currency's cash instrument; a plan's own code linked once by a named person carries that person's provenance
  • Does not mean: an identifier of a scheme, or the custodian's own code
  • Empty: empty where the activity concerns no instrument, or where the custodian's code did not resolve, and instrument_as_reported carries it
  • Filled: as-reported, by custody

instrument_as_reported

message AsReported · since v14 · preview

Carries the custodian's code for an instrument that did not resolve.

  • Means: a plan's own fund code no person has linked yet, as the custodian sent it, for a person to link in the plugin's settings (W6.11)
  • Does not mean: an instrument any reader may act on: nothing past the plugin interprets it
  • Empty: unset whenever the instrument resolved, or the activity concerns none
  • Filled: as-reported, by custody

trade_date

date · since v14 · preview

Says when the activity was traded or took effect.

  • Means: an ISO 8601 date, as the custodian states it; what a read by date range and a lot's acquisition date go by
  • Does not mean: when the plugin read it, or when it settles
  • Empty: never empty
  • Filled: as-reported, by custody
  • Required on: RecordActivity from v14

settlement_date

date · since v14 · preview

Says when the activity settles or settled.

  • Means: an ISO 8601 date, as the custodian states it
  • Does not mean: the trade date, or a date the plugin worked out unless its provenance says by which rule
  • Empty: empty where the custodian does not state it
  • Filled: as-reported, by custody

units

Decimal · since v14 · preview

States the units of the instrument the activity moved.

  • Means: signed by what it did to the account: positive added units (a purchase, a reinvestment, the units a split added, a transfer in), negative removed them (a sale, a fee taken in units, a transfer out)
  • Does not mean: a quantity held, or a figure anything derives a position or a lot from without a person's confirmation
  • Empty: unset where the activity moved no units, a cash dividend's say, which is not zero
  • Filled: as-reported, by custody
  • Unit: units of the instrument
  • Bounds: 0 to 18 decimal places; at most 38 significant digits; past it, refused

price

Money · since v14 · preview

Carries the price per unit the custodian states.

  • Means: as reported, in its currency
  • Does not mean: a price worked out from the amount and the units, which is never done
  • Empty: unset where the custodian states no price
  • Filled: as-reported, by custody

amount

Money · since v14 · preview

Carries the amount of cash the activity moved.

  • Means: in its currency, signed by what it did to the account's cash: positive in (a sale, a dividend, a contribution), negative out (a purchase, a reinvestment, a fee, a withdrawal)
  • Does not mean: income booked, or a figure netted against another activity: a reinvested dividend and its dividend are two activities
  • Empty: unset where the activity moved no cash, a split's say, which is not zero
  • Filled: as-reported, by custody

description

text · since v14 · preview

Carries the custodian's own description of the activity.

  • Means: the custodian's words, for a person; diagnostic, nothing branches on it
  • Does not mean: a kind or a code: the kind says what it was
  • Empty: empty where the custodian gives none
  • Filled: as-reported, by custody
  • Bounds: at most 500 characters; past it, refused

raw_record

message RawRecordRef · since v14 · preview

References the raw record the activity was converted from.

  • Means: the record in the plugin's own storage, kept as long as the history it reported, which a person follows on that plugin's page
  • Does not mean: a record core or another plugin reads: carried, never followed, past the plugin that owns it
  • Empty: never unset: refused, since every record a custody plugin sends references what it was converted from
  • Filled: as-reported, by custody
  • Required on: RecordActivity from v14

provenance

repeated message Provenance · since v14 · preview

Says where each value the plugin closed rather than read came from.

  • Means: one per closed value, by its path: an instrument linked once by a named person, a settlement date derived by a named rule
  • Does not mean: a value presented as the custodian's: a closed value never is
  • Empty: empty where every value is the custodian's, from the raw record
  • Filled: as-reported, by custody
  • Bounds: at most 32 items; past it, refused

RecordActivityRequest

meridian.v1.RecordActivityRequest, a message.

account_id

identifier account · since v14 · preview

Names the account the activity is recorded against.

  • Means: the deployment's account the external account is linked to (W6.4)
  • Does not mean: anything a plugin sets
  • Empty: a plugin leaves it empty; the sidecar sets it from the link, and refuses the activity when there is none (REFUSAL_REASON_EXTERNAL_ACCOUNT_NOT_LINKED)
  • Filled: stamped, by sidecar

external_account_id

identifier external account · since v14 · preview

Names the external account the activity is on.

  • Means: as the plugin reported it (W2.8), which the sidecar translates
  • Does not mean: an account of the deployment
  • Empty: never empty
  • Filled: as-reported, by custody
  • Required on: RecordActivity from v14

source

text · since v14 · preview

Names the source the activity was read from.

  • Means: the plugin's scheme for its source, as on a statement; with the account and the custodian's identifier, the street's key
  • Does not mean: the institution holding the account
  • Empty: never empty
  • Filled: as-reported, by custody
  • Required on: RecordActivity from v14

activity

message CustodialActivity · since v14 · preview

Carries the activity as the custodian states it.

  • Means: one activity
  • Does not mean: a batch, or a statement's row
  • Empty: never unset
  • Filled: as-reported, by custody
  • Required on: RecordActivity from v14

RecordActivityReply

meridian.v1.RecordActivityReply, a message.

activity_id

text · since v14 · preview

Identifies the activity the street recorded.

  • Means: minted by the street; what a break's cause and an adjustment name it by
  • Does not mean: the custodian's external_activity_id
  • Empty: never empty
  • Filled: minted, by street

already_recorded

boolean · since v14 · preview

Says the activity had already been recorded.

  • Means: a redelivery, by its source, account and the custodian's identifier: the existing activity is returned, and nothing is recorded twice
  • Does not mean: a refusal
  • Empty: false for an activity recorded now
  • Filled: decided, by street

ListActivitiesRequest

meridian.v1.ListActivitiesRequest, a message.

account_id

identifier account · since v14 · preview

Names the account whose activity to read.

  • Means: an account in the plugin's read scope
  • Does not mean: an external account
  • Empty: empty for every account in the reader's scope
  • Filled: as-reported

trade_date_from

date · since v14 · preview

Bounds the read by trade date, from.

  • Means: an ISO 8601 date, inclusive
  • Does not mean: a point in the street's record, which since is
  • Empty: empty for no earliest date
  • Filled: as-reported

trade_date_to

date · since v14 · preview

Bounds the read by trade date, to.

  • Means: an ISO 8601 date, inclusive
  • Does not mean: a point in the street's record, which since is
  • Empty: empty for no latest date
  • Filled: as-reported

since

message Watermark · since v14 · preview

Asks only for activities recorded after a point.

  • Means: a point in the street's record
  • Does not mean: a time, or a trade date
  • Empty: unset for every activity recorded
  • Filled: as-reported

page_size

integer · since v14 · preview

Bounds a page.

  • Means: how many activities a page holds at most
  • Does not mean: a promise that a page is full
  • Empty: 0 is 100; past 500, answered at 500
  • Filled: as-reported
  • Unit: records
  • Bounds: from 0 to 500; past it, answered at the bound

cursor

text · since v14 · preview

Asks for the next page.

  • Means: opaque: the previous reply's next_cursor
  • Does not mean: anything a reader parses
  • Empty: empty for the first page
  • Filled: as-reported

ListActivitiesReply

meridian.v1.ListActivitiesReply, a message.

activities

repeated message ActivityRecordedEvent · since v14 · preview

Answers the activities recorded.

  • Means: each as it was announced (W2.12), by trade date; read since a watermark, in the order recorded
  • Does not mean: positions or lots: the street derives none from them
  • Empty: empty when none is in scope and range
  • Filled: decided, by street

next_cursor

text · since v14 · preview

Points at the next page.

  • Means: opaque, passed back as cursor
  • Does not mean: anything a reader parses
  • Empty: empty on the last page
  • Filled: decided, by street

as_of

message Watermark · since v14 · preview

Says the point in the street's record the page was read at.

  • Means: what a reader passes as since
  • Does not mean: a time
  • Empty: never unset
  • Filled: decided, by street

history_from

date · since v14 · preview

Says how far back the named account's history reaches.

  • Means: the first date the account's source can read activity from, as its sync status last said (W2.1): an opening balance older than it has no activity to explain it
  • Does not mean: the earliest activity listed, or a statement that the history is complete
  • Empty: empty where the request names no account, or the account's source has not said
  • Filled: decided, by street

re_resolutions

repeated message ActivityReResolution · since v15 · preview

Carries the re-resolutions beside the activities, so a reader sees each activity's first record and its latest resolution.

  • Means: the re-resolutions of the activities answered, each naming its activity, in the order recorded; on a read since a watermark, every re-resolution recorded after it, whether or not its activity was
  • Does not mean: a change to the activities answered, which stay as first recorded
  • Empty: empty where no activity answered was re-resolved, and before v15
  • Filled: decided, by street

ReResolveActivityRequest

meridian.v1.ReResolveActivityRequest, a message.

account_id

identifier account · since v15 · preview

Names the account the activity is recorded against.

  • Means: the deployment's account the external account is linked to (W6.4)
  • Does not mean: anything a plugin sets
  • Empty: a plugin leaves it empty; the sidecar sets it from the link, and refuses the re-resolution when there is none (REFUSAL_REASON_EXTERNAL_ACCOUNT_NOT_LINKED)
  • Filled: stamped, by sidecar

external_account_id

identifier external account · since v15 · preview

Names the external account the activity is on.

  • Means: as the plugin reported it (W2.8), which the sidecar translates
  • Does not mean: an account of the deployment
  • Empty: never empty
  • Filled: as-reported, by custody
  • Required on: ReResolveActivity from v15

source

text · since v15 · preview

Names the source the activity was recorded from.

  • Means: the source it was recorded under (W2.10); with the account and the custodian's identifier, the key that names the activity
  • Does not mean: the institution holding the account
  • Empty: never empty
  • Filled: as-reported, by custody
  • Required on: ReResolveActivity from v15

external_activity_id

text · since v15 · preview

Names the recorded activity by the custodian's identifier.

  • Means: the identifier it was recorded under (W2.10); no activity under it is a refusal, naming it
  • Does not mean: the street's activity_id
  • Empty: never empty
  • Filled: as-reported, by custody
  • Bounds: 1 to 200 characters; past it, refused
  • Required on: ReResolveActivity from v15

instrument_id

identifier instrument · since v15 · preview

Names the instrument the activity now resolves to.

  • Means: the deployment's record, resolved as a holding's is (W3.1)
  • Does not mean: an identifier of a scheme, or the custodian's own code
  • Empty: empty where the link the activity had been resolved by was removed: unresolved again, its code as first reported
  • Filled: as-reported, by custody

provenance

message Provenance · since v15 · preview

Says how the instrument was resolved this time.

  • Means: supplied by the named person who set the link it resolves by, or derived by a named rule
  • Does not mean: the custodian's word, which a re-resolution never is
  • Empty: never unset
  • Filled: as-reported, by custody
  • Required on: ReResolveActivity from v15

resolved_at_ns

moment · since v15 · preview

Says when what resolves the activity was made.

  • Means: when the link was set, a table setting row's changed_at, or when the rule resolved it
  • Does not mean: when the street records it, which it stamps
  • Empty: never 0
  • Filled: as-reported, by custody
  • Unit: nanoseconds since the epoch
  • Required on: ReResolveActivity from v15

ReResolveActivityReply

meridian.v1.ReResolveActivityReply, a message.

activity_id

text · since v15 · preview

Names the activity re-resolved.

  • Means: the street's identifier for it (W2.10)
  • Does not mean: an identifier for the re-resolution
  • Empty: never empty
  • Filled: decided, by street

already_recorded

boolean · since v15 · preview

Says the activity's latest resolution already named this.

  • Means: the instrument and provenance were the latest's, so nothing was recorded
  • Does not mean: a refusal
  • Empty: false for a re-resolution recorded now
  • Filled: decided, by street

ActivityReResolvedEvent

meridian.v1.ActivityReResolvedEvent, a message.

account_id

identifier account · since v15 · preview

Names the account the re-resolved activity is on.

  • Means: the deployment's account, as its re-resolution names it, by which the event is delivered only to a plugin whose read scope holds it
  • Does not mean: the external account
  • Empty: never empty
  • Filled: decided, by street

re_resolution

message ActivityReResolution · since v15 · preview

Carries the re-resolution as the street recorded it.

  • Means: the record kept beside the activity it names
  • Does not mean: the activity, which stays as first recorded
  • Empty: never unset
  • Filled: decided, by street

cause

message ChangeCause · since v15 · preview

Says who caused the re-resolution.

  • Means: the custody plugin's command that re-resolved it, and the person it was sent for where there was one
  • Does not mean: who set the link, which the provenance names
  • Empty: never unset
  • Filled: decided, by street

journal

message JournalRef · since v15 · preview

Says where the re-resolution sits in the street's record, at the top of what is delivered.

  • Means: the re-resolution's own number, as its record's journal says it: chained per account with the re-resolutions before it, apart from the activities' chain
  • Does not mean: the activity's own number
  • Empty: never unset
  • Filled: decided, by street

ListSyncStatusesRequest

meridian.v1.ListSyncStatusesRequest, a message.

account_id

identifier account · since v14 · preview

Names the account whose sync status to read.

  • Means: an account in the plugin's read scope
  • Does not mean: an external account
  • Empty: empty for every account in the reader's scope
  • Filled: as-reported

since

message Watermark · since v14 · preview

Asks for every sync status recorded after a point.

  • Means: a point in the street's record: set, every record after it, in the order recorded, not only the latest
  • Does not mean: a time
  • Empty: unset for the latest sync status of each account
  • Filled: as-reported

page_size

integer · since v14 · preview

Bounds a page.

  • Means: how many sync statuses a page holds at most
  • Does not mean: a promise that a page is full
  • Empty: 0 is 100; past 500, answered at 500
  • Filled: as-reported
  • Unit: records
  • Bounds: from 0 to 500; past it, answered at the bound

cursor

text · since v14 · preview

Asks for the next page.

  • Means: opaque: the previous reply's next_cursor
  • Does not mean: anything a reader parses
  • Empty: empty for the first page
  • Filled: as-reported

ListSyncStatusesReply

meridian.v1.ListSyncStatusesReply, a message.

statuses

repeated message SyncStatusRecordedEvent · since v14 · preview

Answers the sync statuses recorded.

  • Means: each as it was announced (W2.13): the latest per account, or, read since a watermark, every one after it in the order recorded
  • Does not mean: a statement that a connection is healthy: an empty page says only that none was heard
  • Empty: empty when none was heard for an account in scope
  • Filled: decided, by street

next_cursor

text · since v14 · preview

Points at the next page.

  • Means: opaque, passed back as cursor
  • Does not mean: anything a reader parses
  • Empty: empty on the last page
  • Filled: decided, by street

as_of

message Watermark · since v14 · preview

Says the point in the street's record the page was read at.

  • Means: what a reader passes as since
  • Does not mean: a time
  • Empty: never unset
  • Filled: decided, by street

ExternalAccountsEvent

meridian.v1.ExternalAccountsEvent, a message.

accounts

repeated message ExternalAccount · since v2 · stable

Lists every external account a connection reaches, as the plugin sees it now.

  • Means: the whole list each time, published before anything is recorded against any of them, so linking one (W6.4) is a choice among those on offer; one missing from it is one the connection no longer reaches
  • Does not mean: accounts of the deployment
  • Empty: empty when the connection reaches none
  • Filled: as-reported, by custody

ExternalAccount

meridian.v1.ExternalAccount, a message.

external_account_id

identifier external account · since v2 · stable

Identifies an external account, stably.

  • Means: stable across the connection's reconnections, which the plugin makes so where its source does not; the external_account_id the account's rows name; a handle the source wants on each call stays inside the plugin
  • Does not mean: an account of the deployment
  • Empty: never empty
  • Filled: as-reported, by custody

name

text · since v2 · stable

Names the external account as a person there would recognise it.

  • Means: the custodian's own name for it
  • Does not mean: the deployment's account's name
  • Empty: empty where the custodian gives none
  • Filled: as-reported, by custody

venue_account_type

text · since v2 · stable · deprecated in v11

Deprecated in v11

the plugin converts the venue's type to the account kind, and sends it as reported only when it does not convert. Use meridian.v1.ExternalAccount.account_kind instead.

Showed, until v11, the custodian's own word for the kind of account.

  • Means: verbatim and for display only; accepted from a plugin before v11 for its notice, and shown only where no kind is sent
  • Does not mean: what the account may do: nothing reads meaning into it
  • Empty: empty where the custodian gives none, and from a plugin on v11
  • Filled: as-reported, by custody

account_kind

enum AccountKind · since v11 · stable

Says the account's kind, in the platform's own words.

  • Means: converted by the plugin from the custodian's own type; for display and for grouping accounts across plugins
  • Does not mean: what the account may do, which is the platform's restriction set when it is ruled; nothing gates on the kind
  • Empty: unspecified is not known, and then the custodian's type travels as reported
  • Filled: derived, by custody
Value Means
ACCOUNT_KIND_UNSPECIFIED not known: the custodian's type says neither cash nor margin nor retirement; what a plugin sends when the type does not convert, with the type as reported beside it
ACCOUNT_KIND_CASH trades settle in full from the account's own cash, with no borrowing
ACCOUNT_KIND_MARGIN the account may borrow against its holdings under a margin agreement
ACCOUNT_KIND_RETIREMENT a tax-advantaged retirement account, whether or not it allows limited margin

account_kind_as_reported

message AsReported · since v11 · stable

Carries the custodian's type that did not convert to a kind.

  • Means: for a person to map, and counted as evidence the kinds may need to grow
  • Does not mean: a kind any reader may act on: nothing past the plugin interprets it
  • Empty: unset whenever the kind is known: set only beside a kind not known
  • Filled: as-reported, by custody

Generated from boundaries/fields.json in meridian-schema at a6a0af7, contract v24.