| cap | No | The preview cap applied to the inline rates array. | |
| note | No | Contextual note reminding that these are official reporting rates, not market rates. | |
| error | No | Present when the call failed. Absent on success. | |
| rates | No | Exchange rates for the requested countries/quarter, newest first. Whole in mode=latest — a quarter is a bounded set. In mode=series an inline preview of at most 20 rows; compare its length against retrieved_records to detect the cap, and reach the rest through canvas_id when one is returned. | |
| shown | No | Rate rows returned inline. | |
| notice | No | Guidance when a requested country matched no records, when the inline series is a preview, when the series was staged as a DataCanvas table, or when the returned rows were published in more than one quarter. | |
| canvas_id | No | DuckDB table name (df_XXXXX_XXXXX) holding the staged series. Pass it to treasury_dataframe_describe for the column schema, then use it as the FROM target in treasury_dataframe_query SQL. Absent when nothing was staged. | |
| truncated | No | True when the inline rates array holds fewer rows than were retrieved. | |
| as_of_date | No | Most recent quarter-end record_date among the returned rows (YYYY-MM-DD). Not necessarily a date every row shares — check mixed_record_dates. | |
| total_records | No | In mode=latest, the number of rows in rates. In mode=series, the full upstream match — larger than rates.length whenever the preview cap applied, and larger than retrieved_records when paging stopped first. | |
| effective_date | No | Effective date of the as_of_date row (YYYY-MM-DD). Every row carries its own effective_date; this one does not describe the rest. | |
| canvas_expires_at | No | ISO 8601 expiry for the canvas dataframe. | |
| retrieved_records | No | Rows actually fetched for mode=series across every page, and the row count of the canvas table when one was registered. Never larger than total_records. | |
| mixed_record_dates | No | True when the retrieved rows were not all published on as_of_date — including rows past the inline preview. Read each row's record_date rather than applying the top-level date to the set. | |