create_prices
Stop entering prices one by one; record many commodity or currency quotes in a single call, with existing entries updated instead of duplicated.
Instructions
Record MANY prices in one call (bulk quote entry).
INPUT — prices is a TSV block: a header row, then one row
per price. Required columns ref, commodity, date, value;
optional columns extend the header IN ORDER:
ns, cur, source, type (stop anywhere; rows may end early;
empty cells take defaults)::
ref<TAB>commodity<TAB>date<TAB>value<TAB>cur<TAB>source
1<TAB>VTSAX<TAB>2026-07-21<TAB>148.32<TAB><TAB>web:yahoo
2<TAB>EUR<TAB>2026-07-21<TAB>1.0845<TAB><TAB>web:ecbref: your correlation key, echoed in results.ns: commodity namespace; empty auto-resolves when the symbol is unambiguous across namespaces.cur: quote currency; empty = book default.source: where the quote came from (provenance — default "user:price");type: nav/last/bid/ask.
Per-row semantics are create_price's exactly: an existing
price with the same commodity/currency/date/source is UPDATED
in place (status: updated), never duplicated. One book
open, one save, on_error="abort" (default) sinks the
whole batch on any bad row; dry_run=true previews as
would_create / would_update.
The companion work list: list_commodities(stale_days=30, held_only=true).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| prices | Yes | ||
| dry_run | No | ||
| on_error | No | abort |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |