ai.v1.AssistantService
WatchRun
WatchRun streams a run's events in seq order: first the recorded events after after_seq, then new events as they are recorded. The stream ends after the run's last event, RunCompleted or RunFailed; watching an ended run replays its events and ends. The server may also end the stream early, for example during maintenance: reconnect with the seq of the last event received to continue without gaps or repeats. Watching does not keep a run alive, and a run continues when nobody watches it. Errors: - INVALID_ARGUMENT: malformed request. - NOT_FOUND: RUN_NOT_FOUND. - UNAVAILABLE: SERVICE_UNAVAILABLE; reconnect with the last seq. - UNAUTHENTICATED: missing or invalid credentials.
Request
curl --request POST \ \
--url 'https://api.testnet.polyester.com/ai.v1.AssistantService/WatchRun' \
--header 'Content-Type: application/json' \
--header 'Connect-Protocol-Version: 1' \
--data '{
"afterSeq": "1",
"runId": "1"
}'Responses
{
"event": {
"createdAt": "2025-01-01T00:00:00Z",
"seq": "1",
"textDelta": {
"text": "value"
}
}
}ai.v1.WatchRunRequestai.v1.WatchRunResponseRun to watch.
Return events with seq greater than this value. 0 replays the run from its first event; to resume, pass the seq of the last event received.
Position of the event in its run: 1 for the first event, then increasing by exactly one.
When the event was recorded.
Markdown text to append, in order, to the text received so far.
Drop the text of every TextDelta of this run whose seq is equal to or greater than this value, and received before this event. Tool, view and other events stay.
Identifier of the call, unique within the run.
Tool name, for example "get_candles".
TODO: description pending
TODO: description pending
Identifier of the call, as in its ToolStarted event.
Tool name.
True when the tool succeeded.
Short explanation of the failure. Omitted when ok is true.
Skill name, for example "market-analysis".
Identifier of the delegation, unique within the run.
Subagent name, for example "strategy-researcher".
Identifier of the delegation, as in its SubagentStarted event.
Subagent name.
True when the subagent completed its task.
Short summary of the subagent's result. Omitted when it has none.
Public approval ID, the argument of DecideApproval.
What approving does, written from the exact action, never by the model.
When the approval expires if undecided.
Short label, in plain words.
The value, in plain words, with its unit or asset when it has one.
Trading account (subaccount) the action acts on: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Numeric spot market identifier.
Market symbol, for example "SOL-USDT".
Base asset, for example "SOL".
Quote asset, for example "USDT".
BUY or SELL.
Total quantity, an exact decimal string in the base asset. Omitted only for a buy sized by quote_amount.
A buy market order, or buy immediate-or-cancel limit order, sized by spend: the most quote asset it spends, an exact decimal string. Omitted when quantity is set.
Estimated order value in the quote asset, a decimal string rounded to at most 2 decimals. Valued at: quote_amount when set; a market order or TWAP of market slices at reference_price; a limit order, ladder level or limit slice at its price; a stop at its limit price, else its trigger price; a trailing stop at its limit price, else its activation price, else the last price. Omitted when it cannot be estimated.
What the exchange reserves on the trading account when it creates a stop-loss, take-profit, trailing stop or ladder: an exact decimal string, in the base asset for a sell, in the quote asset (fee reserve included) for a buy. Omitted for market and limit orders, which reserve as they are placed, and for a TWAP, whose slices each use what is available when they are due.
The price, an exact decimal string in the quote asset.
Which market price it is.
When the price was set: for LAST_PRICE the time of the market's last trade, for the others when the assistant read it.
The most the price may move against the order, in basis points: 50 is 0.5%. Omitted when the market's default cap applies.
Exits attached to the order. Omitted when it has none.
The limit price, an exact decimal string in the quote asset.
GTC, GTD, IOC or FOK.
When a GTD order expires. Omitted for other times in force.
True when the order is refused instead of trading at once.
Exits attached to the order. Omitted when it has none.
The price that fires it, an exact decimal string in the quote asset.
The price it watches: LAST_PRICE or INDEX_PRICE.
Which way the watched price must move to reach trigger_price.
The limit price of the order it places, an exact decimal string in the quote asset. Omitted when it places a market order.
GTC, IOC or FOK for a limit order. Unspecified for a market order.
True when its limit order is refused instead of trading at once.
For a market order: the most the price may move against it, in basis points. Omitted for a limit order, or when the market's default cap applies.
True when the exchange reserves its funds when it creates it, before it fires. OrderPreview.reserved_amount states the amount when it is set.
The price that fires it, an exact decimal string in the quote asset.
The price it watches: LAST_PRICE or INDEX_PRICE.
Which way the watched price must move to reach trigger_price.
The limit price of the order it places, an exact decimal string in the quote asset. Omitted when it places a market order.
GTC, IOC or FOK for a limit order. Unspecified for a market order.
True when its limit order is refused instead of trading at once.
For a market order: the most the price may move against it, in basis points. Omitted for a limit order, or when the market's default cap applies.
True when the exchange reserves its funds when it creates it, before it fires. OrderPreview.reserved_amount states the amount when it is set.
A price distance, an exact decimal string in the quote asset.
A distance in basis points of the price: 50 is 0.5%.
Tracking starts once the price reaches it, an exact decimal string in the quote asset. Omitted when tracking starts at once.
The price it watches: LAST_PRICE or INDEX_PRICE.
The most a buy pays, an exact decimal string in the quote asset. Set only for a buy.
For a sell: the most the price may move against its market order, in basis points. Omitted when the market's default cap applies.
True when the exchange reserves its funds when it creates it, before it fires. OrderPreview.reserved_amount states the amount when it is set.
Total duration in milliseconds.
Milliseconds between two slices.
Number of slices.
The first slice's quantity, an exact decimal string in the base asset: quantity divided by slice_count, rounded down to the step size. Each later slice is the remaining quantity divided by the remaining slices, rounded down to the step size, so later slices may be slightly larger and the slices add up to quantity.
Every slice's limit price, an exact decimal string in the quote asset. Omitted when slices are market orders.
For market slices: the most the price may move against each slice, in basis points. Omitted for limit slices, or when the market's default cap applies.
What happens to a limit slice that has not filled when the next slice is due: CANCEL_BEFORE_NEXT. Unspecified for market slices.
True when the first slice is placed at once, when the TWAP is created; the later slices follow every slice_interval_ms.
The lowest level's price, an exact decimal string in the quote asset.
The highest level's price, an exact decimal string in the quote asset.
Every level, lowest price first: 2 to 100. The quantity is split equally, rounded down to the step size; the highest level gets the rest.
True when every level is refused instead of trading at once.
Every level's time in force: GTC.
True when every level is placed at once, when the ladder is created.
Which price of the order it is.
The resolved price, an exact decimal string in the quote asset, as the order carries it: the reference moved by offset_bps, then rounded onto the market's tick size in the direction never worse for the order that trades at it: down for a buy, up for a sell. An attached exit trades the other way from its order.
Whether the price is above or below the reference.
The offset from the reference in basis points: 1000 is 10%. From 0 to 10000 above the reference, from 0 to 9999 below it. Zero is the reference itself, rounded onto the tick size as price says. A positive offset always resolves strictly above or below the reference, as direction says: one smaller than one tick size step is refused, never resolved to the reference or past it.
A market price the assistant read: for a stop-loss, take-profit or trailing stop the price it watches (last or index), for the others the best ask for a buy or the best bid for a sell; for an attached exit of a market order, that order's best ask or best bid. A reference set more than the approval's 10-minute lifetime before the approval was requested (a last price by its last trade) is refused.
The order's own limit price, an exact decimal string in the quote asset: the reference of an attached exit of a limit order.
Which way the moved reference was rounded onto tick_size: DOWN for a price a buy trades at, UP for a sell.
The market's tick size the price was rounded onto, an exact decimal string in the quote asset.
Order ID.
Market symbol, for example "BTC-USDT".
BUY or SELL.
The limit price, an exact decimal string in the quote asset. Omitted for a market order.
Total quantity, an exact decimal string in the base asset.
Quantity filled so far, an exact decimal string in the base asset.
True for a cancel-all: every open order on symbols and side.
A cancel-all's markets, for example "BTC-USDT". Empty for every market, and for orders named one by one.
A cancel-all's side, BUY or SELL. Unspecified for both sides, and for orders named one by one.
A cancel-all's live triggers on its markets that stay active, as counted when it was requested. A lower bound when live_triggers_kept_lower_bound is true.
True when live_triggers_kept counts only the live triggers read, and more may stay active.
Numeric spot market identifier.
Market symbol, for example "BTC-USDT".
Base asset, for example "BTC".
Quote asset, for example "USDT".
Order ID.
BUY or SELL.
The limit price now, an exact decimal string in the quote asset.
The new limit price, an exact decimal string in the quote asset. Omitted when the price does not change.
The total quantity now, filled part included, an exact decimal string in the base asset.
The new total quantity, filled part included, an exact decimal string in the base asset. Omitted when the quantity does not change.
Quantity filled so far, an exact decimal string in the base asset.
True when the change replaces the order with a new order under a new order ID, at the back of the queue: a new price or a larger quantity. False when it amends the order in place, keeping its queue position.
Trigger ID.
Numeric spot market identifier.
Market symbol, for example "BTC-USDT".
Base asset, for example "BTC".
Quote asset, for example "USDT".
STOP_LOSS, TAKE_PROFIT or TRAILING_STOP.
BUY or SELL.
Its quantity, an exact decimal string in the base asset. Never changes.
MODIFY, PAUSE or RESUME.
The trigger's status: PAUSED after a pause; ARMED after a resume.
A stop-loss's or take-profit's trigger price, an exact decimal string in the quote asset. Omitted for a trailing stop.
A price distance, an exact decimal string in the quote asset.
A distance in basis points of the price: 50 is 0.5%.
A trailing stop's activation price, an exact decimal string in the quote asset. Omitted when tracking starts at once.
In basis points of the price: 50 is 0.5%.
A price distance, an exact decimal string in the quote asset.
The limit price of the order it places, or a buy trailing stop's most it pays, an exact decimal string in the quote asset. Never changes. Omitted when it places a market order.
The trigger's status: PAUSED after a pause; ARMED after a resume.
A stop-loss's or take-profit's trigger price, an exact decimal string in the quote asset. Omitted for a trailing stop.
A price distance, an exact decimal string in the quote asset.
A distance in basis points of the price: 50 is 0.5%.
A trailing stop's activation price, an exact decimal string in the quote asset. Omitted when tracking starts at once.
In basis points of the price: 50 is 0.5%.
A price distance, an exact decimal string in the quote asset.
The limit price of the order it places, or a buy trailing stop's most it pays, an exact decimal string in the quote asset. Never changes. Omitted when it places a market order.
The price, an exact decimal string in the quote asset.
Which market price it is.
When the price was set: for LAST_PRICE the time of the market's last trade, for the others when the assistant read it.
Which way the watched price must move to reach the trigger price. Unspecified for a trailing stop.
What the change reserves in addition.
What the change releases.
True for a resume when the watched price is already past the trigger price: the trigger fires as soon as it resumes.
Numeric spot market identifier.
Market symbol, for example "SOL-USDT".
Base asset, for example "SOL".
Quote asset, for example "USDT".
BUY or SELL.
Total quantity, an exact decimal string in the base asset. Omitted only for a buy sized by quote_amount.
A buy market order, or buy immediate-or-cancel limit order, sized by spend: the most quote asset it spends, an exact decimal string. Omitted when quantity is set.
Estimated order value in the quote asset, a decimal string rounded to at most 2 decimals. Valued at: quote_amount when set; a market order or TWAP of market slices at reference_price; a limit order, ladder level or limit slice at its price; a stop at its limit price, else its trigger price; a trailing stop at its limit price, else its activation price, else the last price. Omitted when it cannot be estimated.
What the exchange reserves on the trading account when it creates a stop-loss, take-profit, trailing stop or ladder: an exact decimal string, in the base asset for a sell, in the quote asset (fee reserve included) for a buy. Omitted for market and limit orders, which reserve as they are placed, and for a TWAP, whose slices each use what is available when they are due.
The current market price to draw the order against: for a stop-loss, take-profit or trailing stop the price it watches (last or index), for the others the best ask for a buy or the best bid for a sell. Omitted when the market has no such price.
A market order.
A limit order.
A stop-loss.
A take-profit.
A trailing stop.
A TWAP.
A ladder.
The prices the user gave relative to another price, as resolved, in the order they appear in the order. Empty when every price was given as an absolute price.
Quote asset, for example "USDT".
The value, a decimal string in quote_asset rounded to at most 2 decimals.
Asset spent, for example "USDT".
Asset received, for example "BTC".
Amount spent, an exact decimal string in source_asset.
Estimated amount received after fees at the quote's order-book depth, an exact decimal string in destination_asset. Indicative.
The least the swap receives after fees for the whole amount, an exact decimal string in destination_asset. Every traded part nets at least this rate.
The accepted shortfall of min_amount_out from expected_amount_out, in basis points.
Market symbol, for example "BTC-USDT".
BUY or SELL: the side of the swap's order on the market.
Estimated average fill price, in the quote asset per base asset, as a decimal string. Indicative: it comes from the quote's order-book depth.
Distance of average_price from the best price of the book, in basis points: the cost of the order's size against the depth.
The account's spot taker fee rate on the market, in percent (for example "0.1" for 0.1%), as a decimal string.
Estimated fee, an exact decimal string in fee_asset.
Asset the fee is charged in: the asset the leg receives.
When the quote was priced.
The quote's expiry, 30 seconds after quoted_at. Approving after it executes nothing: the swap is requested again for a new quote.
Trigger ID.
Numeric spot market identifier.
Market symbol, for example "BTC-USDT".
STOP_LOSS, TAKE_PROFIT, TRAILING_STOP, TWAP or LADDER.
BUY or SELL.
Its total quantity, an exact decimal string in the base asset.
A stop-loss's or take-profit's trigger price, or a trailing stop's current trigger price, an exact decimal string in the quote asset. Omitted for a TWAP or ladder, and when it has none yet.
A TWAP's or ladder's quantity filled so far, an exact decimal string in the base asset. Omitted for other types.
A TWAP's slices done so far. Omitted for other types.
A TWAP's number of slices. Omitted for other types.
A ladder's levels with at least one fill. Omitted for other types.
A ladder's number of levels. Omitted for other types.
True when cancelling it also cancels its open orders: a TWAP's or a ladder's.
Public approval ID, as in its ApprovalRequested event.
APPROVED, REJECTED or EXPIRED.
Public order identifier as fixed64.
Trading symbol numeric identifier.
Client-provided, account-scoped identifier for correlation, lookup, and cancellation. Empty when none was supplied.
Order side.
Current order lifecycle status.
Order type.
Time-in-force policy.
Self-trade prevention mode.
Fee asset selected for fills.
True if the order was submitted as post-only (maker-only).
Current accepted total order quantity, updated by successful modifies, scaled by the pair's base_quantity_scale from GetSpotConfig for symbol_id.
Cumulative filled quantity across the lineage through this generation, scaled by the pair's base_quantity_scale from GetSpotConfig for symbol_id.
Cumulative filled base quantity inherited from predecessors when this replacement was accepted, scaled by the pair's base_quantity_scale from GetSpotConfig for symbol_id. Zero for the original order and immutable within a generation. cum_qty_scaled minus this value is the quantity executed by this generation, not the quantity new to a client session.
Remaining working quantity scaled by the pair's base_quantity_scale from GetSpotConfig for symbol_id. Zero for terminal orders.
Average execution price across the lineage through this generation, in quote units scaled by 1e9, rounded down. Zero if no fills. avg_price_e18 carries the exact average.
Average execution price across the lineage through this generation, in quote units scaled by 1e18: the exact executed quote amount divided by cum_qty_scaled, rounded half to even at the 18th decimal. Unset if no fills.
Exact quote amount of the fills across the lineage through this generation, before fees: the sum over the fills of their quantity, scaled as cum_qty_scaled, times their price in quote units scaled by 1e9. It is in quote units scaled by 10^(9 + base_quantity_scale), with the pair's base_quantity_scale from GetSpotConfig for symbol_id; REST shows it in quote units. avg_price_e18 is this amount over cum_qty_scaled. Unset if no fills. A fill settles its quote rounded down to 18 decimal places, which is this amount exactly unless base_quantity_scale is above 9. For a BUY sized by a quote amount (submitted_max_quote_debit_scaled), the quote the order used is this amount plus fee_total's amount_e18 when fee_asset is QUOTE, or minus it when fee_total's is_rebate is true, since a rebate is credited; it is this amount alone when fee_asset is BASE, whose fee is taken from the base received. What it left unspent is submitted_max_quote_debit_scaled less the quote it used.
Total fee of the fills across the lineage through this generation, net of rebates, in the order's fee asset. Order history reads and single-order reads that include execution history (the default) carry it. It can trail the order's fills: its quantity shows which fills it covers. Open-order reads, single-order reads without execution history and private stream order updates leave it unset.
Limit price in quote units scaled by 1e9. Zero for MARKET orders.
Creation timestamp in nanoseconds since epoch (UTC).
Terminal timestamp in nanoseconds since epoch (UTC). Zero for open orders.
For a REJECTED order, why it was refused: the same error code the Orders API returns for the same refusal. Not set for every other status; JSON and REST responses then omit it.
For a CANCELED order, why it ended. Not set for every other status; JSON and REST responses then omit it.
Attached risk controls + runtime state on the parent order. Empty when no attached risk exists. Order reads include it only when the request asks for it (include_attached_risk, include_attached_risk_state): an omission on request, never a removal. The private WebSocket always carries it in full, as a read asking for both does.
Runtime lineage metadata (why the order exists and what generated it).
Optional client-side reference price used for MARKET slippage protection, in quote units scaled by 1e9.
Non-negative MARKET maximum absolute price delta in Q9 execution-price ticks (1 tick = 1e-9 quote units). Zero means no absolute cap is configured.
Optional MARKET max slippage in basis points (1 bp = 0.01%).
Per-order state version: 0 while the order is accepted but not yet on the book (status PENDING), then 1 from its first book state and higher for every later published execution-state change. Higher values identify newer execution state. Fee totals and requested enrichments are not covered by this version and may differ between responses with the same version.
Batch-replace identity that admitted this order. Zero for other origins.
Submitted hard all-in quote debit limit, scaled by the pair's quote_quantity_scale from GetSpotConfig. Present only when that sizing method was submitted.
Logical-order identity and requested generation. Always populated by order reads.
Exact UTC expiry time for GTD orders, within the supported signed Unix-nanosecond range from 1677-09-21T00:12:43.145224193Z through 2262-04-11T23:47:16.854775807Z. Omitted for all other time-in-force policies. The order cannot execute when the current time equals this value.
True when more orders matched than the table shows.
Trading account (subaccount) the orders were read from: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Public unified asset id. Resolve symbol from SpotConfig; U128 amounts in this message always use fixed 18-decimal ledger scale.
Trading balance at fixed 18-decimal ledger scale.
Funding balance at fixed 18-decimal ledger scale.
Reserved amount in the trading bucket at fixed 18-decimal ledger scale.
Amount currently available for new trading activity at fixed 18-decimal ledger scale. This value already accounts for active reservations.
Opaque monotonic revision for the atomic trading, reserved, and available values. Higher means newer; zero means no trading state has been observed.
Opaque monotonic revision for the funding value. Higher means newer; zero means no funding state has been observed.
Trading account (subaccount) the balances were read from: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Numeric spot market identifier; resolve its symbol with GetSpotConfig.
Timeframe of every candle.
numeric spot market identifier
timeframe of this candle
bucket start timestamp (seconds since epoch, UTC)
Opening primary-market price in scale 9: the previous candle's close, or the first trade for a market's first candle.
highest primary-market price in scale 9, including the open
lowest primary-market price in scale 9, including the open
closing primary-market price in scale 9
Traded base-asset quantity scaled by the base asset's market_data_volume_scale from GetSpotConfig.
Exact traded quote-asset volume as a human-readable decimal string.
Column headings, each inline Markdown.
Cells in column order, each inline Markdown.
True when the source had more rows than the table shows.
Public alert ID.
Numeric spot market identifier; resolve its symbol with GetSpotConfig.
Price crossing the alert waits for.
Price the alert watches.
Alert price in quote units scaled by 1e9.
Price of price_source when the alert was created or last set again, in quote units scaled by 1e9.
True once the price has been seen on the far side of the alert price, so the next crossing fires the alert. False while an alert created past its alert price waits for the price to move back.
Current state of the alert.
Where the alert is delivered when it fires, in ascending enum order.
Revision of the alert, starting at 1. It increases with every change the caller makes; pass it as expected_revision to UpdateAlert.
When the alert was created.
When the caller last changed the alert.
When the alert fired. Omitted unless status is TRIGGERED.
Price that fired the alert, in quote units scaled by 1e9. Zero unless status is TRIGGERED.
Trigger ID.
Public account or sub-account ID associated with the trigger. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Trading symbol numeric identifier.
Current trigger lifecycle status.
Parent order ID for attached-risk triggers; empty for standalone triggers.
Why an admitted trigger was canceled.
Why an admitted trigger failed.
Child quantity scaled by the pair's base_quantity_scale from GetSpotConfig.
Fee asset for BUY child orders.
Self-trade prevention mode for child orders.
Stop-loss configuration.
Take-profit configuration.
Trailing-stop configuration.
TWAP configuration.
Ladder configuration.
Stop-loss or take-profit trigger details.
Trailing-stop trigger details.
TWAP trigger details.
Ladder trigger details.
Client-provided trigger ID for idempotency and correlation.
Creation timestamp.
Last update timestamp.
Timestamp when the trigger became armed.
Instant the trigger became terminal, matching its terminal event timestamp. Set for completed, canceled (for any reason), or failed triggers, including terminal expiry or rejection. Absent while the trigger is live.
Per-trigger state version: 1 for the trigger's first state, then higher for every later published state change, whether a request or the market caused it. A higher version is always newer, and two copies of a trigger with the same version show the same state. GetTrigger, ListTriggers and realtime trigger updates carry the same version for the same state. List results can briefly lag realtime updates, and after a reconnect or a service recovery a realtime update can repeat an earlier state, so keep the copy of each trigger with the highest version and ignore any copy whose version is not higher than the one you hold.
True when more triggers matched than the table shows.
Trading account (subaccount) the triggers were read from: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
PolyChain-registered source chain id used across deposit flows.
Assigned external-chain deposit address for the selected account target.
Public unified asset ID (AssetConfig.ledger_id) the caller asked to deposit to this address. Omitted when the card shows the address without one asset, for example in a list of the caller's addresses.
Trading account (subaccount) the address belongs to: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Resolved history window.
Sampling interval between points, such as "5m" or "1h".
First point timestamp in seconds since epoch (UTC).
Last point timestamp in seconds since epoch (UTC).
Number of aligned points in each returned series.
Balance series ordered by asset ID, then account bucket.
Trading account (subaccount) the history was read from: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Resolved history window.
Sampling interval between points, such as "5m" or "1h".
First point timestamp in seconds since epoch (UTC).
Last point timestamp in seconds since epoch (UTC).
Human-readable quote asset symbol (always "USDT").
Number of aligned points in each returned series.
Equity series ordered by grouping identifier ascending.
BTC-USDT close price at each timestamp, scaled by 1e9 (same as price_ticks). Enables client-side conversion to BTC denomination without refetch.
Trading account (subaccount) the history was read from: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Public unified asset ID. Resolve its symbol through the spot configuration API. U128 amounts in this row always use a fixed 18-decimal ledger scale.
Transfer amount at fixed 18-decimal ledger scale.
Product reason for this transfer.
Account bucket affected by this transfer.
Transfer timestamp in microseconds since epoch (UTC).
Post-transfer balance at fixed 18-decimal ledger scale.
True when this row is the debit leg; false when it is the credit leg.
Correlation ID used to group related transfer legs. Zero when unavailable.
Public lifecycle flow ID when this transfer belongs to a chain lifecycle flow.
Debit side of the transfer. This relationship is debit-to-credit rather than row-relative; use is_debit to determine whether this row is the debit leg.
Credit side of the transfer. This relationship is debit-to-credit rather than row-relative; use is_debit to determine whether this row is the credit leg.
Stable transfer identifier, an unsigned 128-bit integer as a decimal string. Both legs of a transfer share it; with account_code and is_debit it identifies this row.
True when more transfers matched than the table shows.
Trading account (subaccount) the transfers were read from: the run's account, as SendMessageRequest.subaccount_id named it. Public ID. ConnectRPC carries it as fixed64 (a decimal string in JSON).
Input tokens processed, cached input included.
Output tokens generated.
Input tokens served from the prompt cache; a subset of input_tokens.
Why the run failed.
Short explanation to show the user.
Input tokens processed, cached input included.
Output tokens generated.
Input tokens served from the prompt cache; a subset of input_tokens.
Identifier of the search's tool call, as in its ToolStarted and ToolFinished events.
Public memory ID, as ListMemories returns it and DeleteMemory accepts it.
The remembered fact, in plain text.
What kind of fact the memory holds.
Identifier of the tool call, as in its ToolStarted and ToolFinished events.
1 to 3 destination ids, most relevant first, each declared in the run's SendMessage destinations. A client that no longer knows an id skips it.
| Key | HTTP status | Connect code | Error | When |
|---|---|---|---|---|
| unauthenticated | 401 | unauthenticated | Unauthenticated | Authentication required. |
| permission-denied | 403 | permission_denied | Permission Denied | Permission denied. |
| invalid-argument | 400 | invalid_argument | Invalid Argument | Invalid argument. |
| not-found | 404 | not_found | Not Found | Not found. |
| unavailable | 503 | unavailable | Unavailable | Service unavailable. |