Skip To Main Content
All modules

Orders

Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.

Orderorder

Something the user bought, with delivery and return state.

orders_findFindthrough vritto_find

Read Orders: one order by id (with notes and its scan timeline), orders filtered by status, kind, dates or text (view 'open' for everything still on its way), view 'spend' for spend totals, or no filter for counts by status. ALWAYS pass status, kind or from/to when the question names one.

Note: No filter returns counts by status; view 'open' lists what is still on its way; view 'spend' totals spend.

FieldTypeDescription
idstringReturn just this order, in full.
viewone of open, spend, stats'open' orders still on their way (placed, shipped, arriving or with an issue); 'spend' net spend per month, this month, this year and top merchants (USD figures plus accountFx to state them in the account's currency); 'stats' counts by status (the default with no filter).
statusone of placed, shipped, arriving, completed, issue, cancelledOnly orders in this lifecycle state.
kindone of shipment, pickup, delivery, digital, ticket, serviceOnly orders of this kind.
fromstringEarliest orderedOn to include.
tostringLatest orderedOn to include. ALWAYS pass from/to when the question concerns a period.
querystringText to match: merchant, item, order or tracking number.
detailone of summary, fullRow shape: "summary" (default, id, title, merchant, kind, status, order/tracking number, total, dates) or "full" (adds notes, pickup code, location, and the events[] scan timeline).
limitintegerMax orders to return (default 100); with view 'spend', merchant rows (default 20).
includeArchivedbooleanInclude removed orders (default false).
orderIdstringOlder name for id.
Example input
{
  "view": "open"
}
orders_addCreate or Updatethrough vritto_create or vritto_update

Add one order (a title or merchantName, plus what the person said). A record.id from orders_find merges into that order instead; only the fields you send change.

FieldTypeDescription
record*objectProvide at least a title or merchantName when creating.
record.idstringExisting order ID to update. Omit to create.
record.titlestringWhat was bought, e.g. 'Air Zoom Pegasus 41'. Falls back to the merchant name.
record.merchantNamestringRetailer, e.g. 'Nike'. Resolves the logo.
record.merchantDomainstringMerchant domain, e.g. 'nike.com'.
record.kindone of shipment, pickup, delivery, digital, ticket, serviceHow it reaches the user; inferred when omitted.
record.sourceone of manual, gmail, outlook, import, carrier, bankWhere the record came from. Set by the ingestion pipeline; leave unset.
record.statusone of placed, shipped, arriving, completed, issue, cancelledLifecycle state (default 'placed').
record.statusDetailstringLatest status line, e.g. why an order is in 'issue'.
record.orderNumberstringMerchant order number, e.g. '112-3456789'.
record.carrierone of ups, usps, fedex, dhl, amazon, ontrac, lasership, other, unknownDelivery carrier; kind 'shipment' only.
record.trackingNumberstringCarrier tracking number for THIS package. A second, different number on the same order adds a package rather than replacing the first.
record.pickupCodestringLocker or counter code; kind 'pickup'.
record.pickupLocationstringWhere to collect it.
record.pickupByOnstringDate the pickup window closes.
record.orderedOnstringDate the order was placed.
record.shippedOnstringDate it shipped.
record.expectedOnstringExpected arrival or pickup date.
record.completedOnstringDate it arrived, was collected, or was redeemed.
record.amountnumberOrder total (default 0).
record.currencystringISO 4217 code; leave out for the account's currency.
record.returnStateone of none, started, shipped, refundedReturn progress (default 'none').
record.returnByOnstringDate the return window closes.
record.refundAmountnumberAmount refunded.
record.refundedOnstringDate the refund landed.
record.cardIdstringFinance card id that paid for it. Never a card number or last4.
record.recipientPersonIdstringPeople id the order is for; omit for the account owner.
record.notesstringFree-form notes.
record.tagslist of stringTags.
record.showingobjectCinema tickets only: the booking. Omit for every other order.
trackingModeone of merge, primaryHow trackingNumber is meant. Default 'merge': it names one package, and a different number adds a second package (what a shipping email means). Use 'primary' ONLY when the user is correcting this order's existing tracking number, which replaces the primary package instead of adding one.
Example input
{
  "record": {
    "title": "Standing desk",
    "merchantName": "Uplift",
    "kind": "shipment",
    "status": "shipped",
    "carrier": "fedex",
    "trackingNumber": "771234567890",
    "expectedOn": "2026-10-01",
    "amount": 689,
    "currency": "USD"
  }
}
orders_changeUpdatethrough vritto_update

Change one order by record.id; sent fields merge. 'It arrived' is status 'completed', 'it shipped' status 'shipped', a return is returnState: these stamp their dates. Resolve the id with orders_find first.

Note: Only lifecycle fields (status, returnState, refundAmount and their dates) take the cheap path that stamps shippedOn, completedOn and refundedOn.

FieldTypeDescription
recordobjectThe order's id plus the fields to change.
record.id*stringOrder ID from a prior orders_find result, never invented.
record.titlestringWhat was bought, e.g. 'Air Zoom Pegasus 41'. Falls back to the merchant name.
record.merchantNamestringRetailer, e.g. 'Nike'. Resolves the logo.
record.merchantDomainstringMerchant domain, e.g. 'nike.com'.
record.kindone of shipment, pickup, delivery, digital, ticket, serviceHow it reaches the user; inferred when omitted.
record.sourceone of manual, gmail, outlook, import, carrier, bankWhere the record came from. Set by the ingestion pipeline; leave unset.
record.statusone of placed, shipped, arriving, completed, issue, cancelledLifecycle state (default 'placed').
record.statusDetailstringLatest status line, e.g. why an order is in 'issue'.
record.orderNumberstringMerchant order number, e.g. '112-3456789'.
record.carrierone of ups, usps, fedex, dhl, amazon, ontrac, lasership, other, unknownDelivery carrier; kind 'shipment' only.
record.trackingNumberstringCarrier tracking number for THIS package. A second, different number on the same order adds a package rather than replacing the first.
record.pickupCodestringLocker or counter code; kind 'pickup'.
record.pickupLocationstringWhere to collect it.
record.pickupByOnstringDate the pickup window closes.
record.orderedOnstringDate the order was placed.
record.shippedOnstringDate it shipped.
record.expectedOnstringExpected arrival or pickup date.
record.completedOnstringDate it arrived, was collected, or was redeemed.
record.amountnumberOrder total (default 0).
record.currencystringISO 4217 code; leave out for the account's currency.
record.returnStateone of none, started, shipped, refundedReturn progress (default 'none').
record.returnByOnstringDate the return window closes.
record.refundAmountnumberAmount refunded.
record.refundedOnstringDate the refund landed.
record.cardIdstringFinance card id that paid for it. Never a card number or last4.
record.recipientPersonIdstringPeople id the order is for; omit for the account owner.
record.notesstringFree-form notes.
record.tagslist of stringTags.
record.showingobjectCinema tickets only: the booking. Omit for every other order.
record.lastLocationstringMost recent known location.
trackingModeone of merge, primaryHow trackingNumber is meant. Default 'merge': it names one package, and a different number adds a second package (what a shipping email means). Use 'primary' ONLY when the user is correcting this order's existing tracking number, which replaces the primary package instead of adding one.
orderIdstringOlder form of a status change: the order, with the fields below.
statusone of placed, shipped, arriving, completed, issue, cancelledOlder form, with orderId.
statusDetailstringOlder form, with orderId.
lastLocationstringOlder form, with orderId.
expectedOnstringOlder form, with orderId.
completedOnstringOlder form, with orderId.
returnStateone of none, started, shipped, refundedOlder form, with orderId.
returnByOnstringOlder form, with orderId.
refundAmountnumberOlder form, with orderId.
Example input
{
  "record": {
    "id": "order_desk",
    "status": "completed",
    "completedOn": "2026-10-01"
  }
}
orders_removeDeletethrough vritto_delete

Remove (archive) one order. Only for explicit removal requests; a cancelled order is an orders_change with status 'cancelled'. Resolve the id with orders_find first.

Note: A cancelled order is an orders_change with status 'cancelled' instead.

FieldTypeDescription
idstringThe order to remove.
orderIdstringOlder name for id.

Kept in the Vritto app

  • orders_refreshTracking: Reaches outside Vritto: another service, a device, or the public web.