Orders commands

Reference for the `revenexx orders` commands — every subcommand with a runnable example.

Auto-generated. This page is generated from the revenexx CLI by tools/sync-cli-reference.mjs. Don't edit it by hand — your changes will be overwritten.

Every revenexx orders subcommand. The example shows the required arguments; the options table lists every flag the command accepts, with a ✓ marking required flags. Some flag names carry a -_ (e.g. --attribute-_values) — that is the exact token the CLI accepts, so copy them verbatim. Run revenexx orders <command> --help for the live options.

acknowledge

Bash
revenexx orders acknowledge \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--external-ref <external-ref>The FULFILLING system's reference for this order, typically the ERP order number. Written once by POST /orders/{id}/acknowledge and null until an integration acknowledged it. Keeps the existing value when omitted.

cancel

Bash
revenexx orders cancel \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--cancelled-by <cancelled-by>Who cancelled, as the caller reported it — an operator, a desk, a system. Free text; this app does not resolve it against a user directory.
--reason <reason>Why it was cancelled, free text. Mandatory when the tenant sets cancel_requires_reason — for those merchants an unexplained cancellation is refused with a 400.

comments-create

Bash
revenexx orders comments-create \
    --id '' \
    --body Called the customer, delivery agreed for next week.
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--body <body>The comment itself. Plain text; this app neither renders nor sanitizes it.
--author <author>Who wrote it, as the caller reported it. Free text; not resolved against a user directory.
--visibility <visibility>Who may see it: 'internal' is a note between operators, 'customer' is meant to be shown in the customer's order view. Nothing here enforces that — this app labels the comment and the client showing it decides. Defaults to the tenant's default_comment_visibility. Defaults to the tenant's default_comment_visibility setting, which is 'internal' out of the box.

comments-list

Bash
revenexx orders comments-list \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--id-query <id-query>Filter to rows whose \
--body <body>Filter to rows whose \
--visibility <visibility>Filter to internal notes or to the customer-visible ones. \
--author <author>Filter by exact author, as it was reported. Free text — this is not resolved against a user directory, so it matches only what was written. Who wrote it, as the caller reported it. Free text; not resolved against a user directory.
--created-at <created-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--limit <limit>Page size (default 50, max 200). A larger value is clamped to 200 rather than refused.
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort by one column: 'column' | 'column.asc' | 'column.desc'. A bare column sorts ascending, the direction is lower case, and the column has to exist — the value reaches the data plane verbatim and anything else is a 400.
--filter <column=value>Filter rows by column equality (repeatable).

complete

Bash
revenexx orders complete \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--completed-by <completed-by>Who closed the order, as the caller reports it. Not stored on the order: it is carried in the order.completed event's payload, which is where the audit trail keeps who did what. Free text, not resolved against a user directory.

events-list

Bash
revenexx orders events-list \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--id-query <id-query>Filter to rows whose \
--name <name>Filter the trail to one kind of event — \
--actor <actor>Filter to the events one principal caused. Only order.placed and order.requested carry an actor, so this filters to those two names by construction. Who caused it: the resolved contact id of the acting principal. Only order.placed and order.requested carry one today — every other row is null — so filtering on it filters to those two names. The database constrains nothing here (the column is text); the uuid shape is what this app WRITES, which is also why no example is published: no id an app invents names a row a tenant holds.
--created-at <created-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--limit <limit>Page size (default 50, max 200). A larger value is clamped to 200 rather than refused.
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort by one column: 'column' | 'column.asc' | 'column.desc'. A bare column sorts ascending, the direction is lower case, and the column has to exist — the value reaches the data plane verbatim and anything else is a 400.
--filter <column=value>Filter rows by column equality (repeatable).

get

Bash
revenexx orders get \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.

hold

Bash
revenexx orders hold \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--reason <reason>Why the order is held, in the words the shipping guard quotes back. Null when it is not held — releasing a hold clears it.

items-cancel

Bash
revenexx orders items-cancel \
    --id '' \
    --positions one two three
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--positions [positions...]The quantities to take off the order. Required here, unlike on /ship and /return: cancelling everything by default is not a thing anybody should be able to do by omission — that is what /cancel is for.
--cancelled-by <cancelled-by>Who cancelled, as the caller reported it — an operator, a desk, a system. Free text; this app does not resolve it against a user directory.
--reason <reason>Why it was cancelled, free text. Mandatory when the tenant sets cancel_requires_reason — for those merchants an unexplained cancellation is refused with a 400.

list

Bash
revenexx orders list
FlagRequiredDescription
--id <id>Filter to exactly one order. GET /orders/{id} is the direct form and answers the aggregate; this exists because the list honours it too. Primary key of the order, and the id every other route takes. Not the order number.
--number <number>Look an order up by its NUMBER — the one filter a service desk starts from, and the way to turn the number a customer quotes into the uuid every other route wants. Exact match; there is no substring search on this API. The order number a human quotes — drawn from the tenant's order range at place-time, unique per tenant and never reused. It is NOT the id: every route addresses an order by uuid, and GET /orders?number=… is how a number becomes one.
--customer-order-number <customer-order-number>Look an order up by the BUYER's own PO number. Not unique: the same buyer reference can legitimately sit on several orders. The BUYER's own reference — their purchase-order number. Free text, not unique, never generated here: it exists so the paperwork can carry the number the buyer's accounts payable will look for. One of the few fields PUT /orders/{id} may still change.
--external-ref <external-ref>Find the order behind a reference in the fulfilling system — the ERP order number. Exact match, and null on everything not yet acknowledged. The FULFILLING system's reference for this order, typically the ERP order number. Written once by POST /orders/{id}/acknowledge and null until an integration acknowledged it.
--acknowledged-at <acknowledged-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--cart-id <cart-id>Find the order a given cart became. The reverse of the carts hand-over, and how a storefront checks whether a checkout already went through. The cart this order was placed from, when a storefront handed one over. A reference across an app boundary (the carts app), not a foreign key — nothing here checks that it resolves. Null for an order an integration or an operator created.
--contact-id <contact-id>Filter to one person's orders — their order history. The PERSON who ordered — a contact in the customers app. Resolved from the acting principal whenever the caller carries one, and a body value that disagrees is refused rather than silently overridden. Null for a guest checkout.
--organization-id <organization-id>Filter to one company's orders, across everyone who ordered for it. The B2B view, and the same attribution orders.reports.customer-rollup aggregates by. The COMPANY the order is booked on — an organization in the customers app, and the B2B half of who ordered. This is what orders.reports.customer-rollup aggregates by and what makes an order visible to a buyer's colleagues. Null on a private or guest order, which the rollup counts separately because it cannot attribute it.
--channel-id <channel-id>Filter to rows whose \
--currency <currency>Filter by ISO 4217 code. Worth remembering before summing \
--status <status>Filter by lifecycle status. \
--payment-status <payment-status>Filter by the payment dimension, independently of the lifecycle: \
--fulfillment-status <fulfillment-status>Filter by the derived shipping dimension. \
--on-hold [value]Filter to the held orders — the list somebody has to work through before anything of theirs can ship. A business stop, ORTHOGONAL to status: a held order keeps its lifecycle state and is refused at the guards. How far the hold reaches is the tenant's call (on_hold_blocks: shipping only, shipping and cancellation, or nothing at all).
--hold-reason <hold-reason>Filter to rows whose \
--item-count <item-count>Filter to rows whose \
--subtotal <subtotal>Filter to rows whose \
--shipping-total <shipping-total>Filter to rows whose \
--tax-total <tax-total>Filter to rows whose \
--grand-total <grand-total>Filter to rows whose \
--placed-at <placed-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--completed-at <completed-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--cancelled-at <cancelled-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--created-at <created-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--updated-at <updated-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--limit <limit>Page size (default 50, max 200). A larger value is clamped to 200 rather than refused.
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort by one column: 'column' | 'column.asc' | 'column.desc'. A bare column sorts ascending, the direction is lower case, and the column has to exist — the value reaches the data plane verbatim and anything else is a 400.
--filter <column=value>Filter rows by column equality (repeatable).

number-ranges-create

Bash
revenexx orders number-ranges-create \
    --code order
FlagRequiredDescription
--code <code>Which counter this is, in the app's own words: 'order' numbers orders, 'delivery' numbers delivery notes, 'return' numbers returns. Unique per tenant, and the value the order_number_range_code / delivery_number_range_code / return_number_range_code settings point at — a setting naming a code no range carries is the 422 'number_range_missing'.
--channel-id <channel-id>The sales channel this range was created for, as a label. It does NOT select the range: a draw finds the range by \
--counter <counter>The last number DRAWN — state, not configuration. The next draw is counter + step and writes the new value back, so moving this forward skips numbers and moving it back re-issues them (and the unique index then answers 409). Defaults to 0, so the first number drawn is step.
--metadata <metadata>Free-form data for the caller. This app stores it and returns it, and reads nothing out of it.
--padding <padding>How wide the counter is written, zero-padded: 6 makes 123 into 000123. 0 writes the bare number. Widening it later does not renumber what was already drawn. Defaults to 6.
--position-step <position-step>The gap between the position numbers of a new order: 10 numbers the lines 10, 20, 30 — room to slot a line in between later without renumbering the rest. Read from the ORDER range only. Defaults to 10.
--prefix <prefix>Literal text in front of the counter: 'ORD-' turns counter 123 into ORD-000123. Empty by default. Defaults to ''.
--step <step>How far the counter moves per draw. 1 is consecutive numbering; a larger step is what a merchant chooses who does not want their order volume readable off an invoice. Defaults to 1.
--suffix <suffix>Literal text after the counter — a market or year marker on merchants who number that way. Empty by default, which is what most of them use. Defaults to ''.

number-ranges-defaults

Bash
revenexx orders number-ranges-defaults

number-ranges-delete

Bash
revenexx orders number-ranges-delete \
    --id ''
FlagRequiredDescription
--id <id>The number range id (uuid).

number-ranges-get

Bash
revenexx orders number-ranges-get \
    --id ''
FlagRequiredDescription
--id <id>The number range id (uuid).

number-ranges-list

Bash
revenexx orders number-ranges-list
FlagRequiredDescription
--id <id>Filter to rows whose \
--code <code>Look a range up by its code — 'order', 'delivery', 'return', or whatever a settings key points at. Which counter this is, in the app's own words: 'order' numbers orders, 'delivery' numbers delivery notes, 'return' numbers returns. Unique per tenant, and the value the order_number_range_code / delivery_number_range_code / return_number_range_code settings point at — a setting naming a code no range carries is the 422 'number_range_missing'.
--prefix <prefix>Filter to rows whose \
--suffix <suffix>Filter to rows whose \
--padding <padding>Filter to rows whose \
--counter <counter>Filter to rows whose \
--step <step>Filter to rows whose \
--position-step <position-step>Filter to rows whose \
--channel-id <channel-id>Filter to rows whose \
--created-at <created-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--updated-at <updated-at>Exact timestamp equality — this API has no range filter. To bound a period, sort with \
--limit <limit>Page size (default 50, max 200). A larger value is clamped to 200 rather than refused.
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort by one column: 'column' | 'column.asc' | 'column.desc'. A bare column sorts ascending, the direction is lower case, and the column has to exist — the value reaches the data plane verbatim and anything else is a 400.
--filter <column=value>Filter rows by column equality (repeatable).

number-ranges-update

Bash
revenexx orders number-ranges-update \
    --id ''
FlagRequiredDescription
--id <id>The number range id (uuid).
--channel-id <channel-id>The sales channel this range was created for, as a label. It does NOT select the range: a draw finds the range by \
--code <code>Which counter this is, in the app's own words: 'order' numbers orders, 'delivery' numbers delivery notes, 'return' numbers returns. Unique per tenant, and the value the order_number_range_code / delivery_number_range_code / return_number_range_code settings point at — a setting naming a code no range carries is the 422 'number_range_missing'.
--counter <counter>The last number DRAWN — state, not configuration. The next draw is counter + step and writes the new value back, so moving this forward skips numbers and moving it back re-issues them (and the unique index then answers 409). Defaults to 0, so the first number drawn is step.
--metadata <metadata>Free-form data for the caller. This app stores it and returns it, and reads nothing out of it.
--padding <padding>How wide the counter is written, zero-padded: 6 makes 123 into 000123. 0 writes the bare number. Widening it later does not renumber what was already drawn. Defaults to 6.
--position-step <position-step>The gap between the position numbers of a new order: 10 numbers the lines 10, 20, 30 — room to slot a line in between later without renumbering the rest. Read from the ORDER range only. Defaults to 10.
--prefix <prefix>Literal text in front of the counter: 'ORD-' turns counter 123 into ORD-000123. Empty by default. Defaults to ''.
--step <step>How far the counter moves per draw. 1 is consecutive numbering; a larger step is what a merchant chooses who does not want their order volume readable off an invoice. Defaults to 1.
--suffix <suffix>Literal text after the counter — a market or year marker on merchants who number that way. Empty by default, which is what most of them use. Defaults to ''.

payment-status-update

Bash
revenexx orders payment-status-update \
    --id '' \
    --status open
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--status <status>The new value of the payment dimension. Whether the order is PAID, and the dimension this app does not decide: it is fed from outside through POST /orders/{id}/payment-status (the payments app or an ERP), and only seeded at place-time from payment.status. Orthogonal to the lifecycle — a completed order can still be open, and a paid one can still be pending.
--payment-id <payment-id>The reference into the payment system. MERGED into the order's payment snapshot under 'payment_id' — the rest of the snapshot is left alone — and carried in the order.payment_status.changed event. Omitted leaves the snapshot untouched.

place

Bash
revenexx orders place \
    --items one two three
FlagRequiredDescription
--items [items...]The order positions — at least one, and at most the tenant's max_items_per_order (500 out of the box; a longer list is a 400 naming the limit).
--billing-address <billing-address>The invoice address, FROZEN at place-time. Changing the customer's address afterwards does not change what this order was billed to.
--buyer <buyer>The ordering party as it was at place-time, FROZEN: a copy, not a reference, so the order still reads correctly after the customer record is renamed, merged or deleted. The caller decides what goes in; this app stores it and reads nothing out of it.
--cart-id <cart-id>The cart this order was placed from, when a storefront handed one over. A reference across an app boundary (the carts app), not a foreign key — nothing here checks that it resolves. Null for an order an integration or an operator created. The carts.order hand-over sets it.
--channel-id <channel-id>The sales channel the order arrived through — webshop, app, phone desk, EDI. Null when the caller named none.
--contact-id <contact-id>The PERSON who ordered — a contact in the customers app. Resolved from the acting principal whenever the caller carries one, and a body value that disagrees is refused rather than silently overridden. Null for a guest checkout. Ignored when the caller carries a principal — the RESOLVED contact wins, and a body value that disagrees is a 400 rather than a silent override.
--currency <currency>ISO 4217 code of EVERY amount on this order. Frozen at place-time from the market's default_currency unless the caller named one. Nothing on this order is ever converted, and the approval threshold is read in this currency — which is why the threshold is a per-market setting. Defaults to the market's default_currency setting.
--customer-order-number <customer-order-number>The BUYER's own reference — their purchase-order number. Free text, not unique, never generated here: it exists so the paperwork can carry the number the buyer's accounts payable will look for. One of the few fields PUT /orders/{id} may still change.
--grand-total <grand-total>Optional, and CHECKED rather than used: the order always computes its own total from the positions, the shipping cost and the tax. Send it as a checksum on that arithmetic — if it agrees the order is placed, and if it disagrees the call is refused with 400 naming both numbers, yours and the computed one. The comparison is at 2 decimal places (this app stores 4, ERPs work to 2, so a difference below a cent is agreement). It is never taken as the order value: the approval threshold and the revenue rollup read the computed number, which is why a total that disagrees is an error rather than an override.
--metadata <metadata>Free-form data belonging to the INTEGRATION side — an ERP's own bookkeeping about this order. Stored and returned untouched; nothing here reads it.
--organization-id <organization-id>The COMPANY the order is booked on — an organization in the customers app, and the B2B half of who ordered. This is what orders.reports.customer-rollup aggregates by and what makes an order visible to a buyer's colleagues. Null on a private or guest order, which the rollup counts separately because it cannot attribute it. A principal's own organization wins over this when it has one.
--payment <payment>The payment arrangement as it was chosen, FROZEN. This app reads exactly two keys and stores the rest untouched: 'status' seeds payment_status at place-time when it names one of the permitted values (anything else is ignored and the order starts 'open'), and 'payment_id' is merged in by POST /orders/{id}/payment-status. The method itself, its provider fields and any redirect state belong to the payments app.
--shipping <shipping>The shipping arrangement as it was chosen, FROZEN. Two keys are READ at place-time and feed the totals: 'price' becomes shipping_total (the shipping_total field is only the fallback when this is absent) and 'tax_rate' is what shipping is taxed at, because shipping is a Nebenleistung and is taxed too. Everything else — the carrier product, the delivery window, the pickup point — is stored untouched and belongs to the shipping app.
--shipping-address <shipping-address>The delivery address, FROZEN at place-time — what goes on the label of every shipment of this order. Null on an order that is never delivered (a service, a digital item, a collection).
--shipping-total <shipping-total>NET shipping cost, taken from shipping.price or, when the snapshot carries no price, from the request's shipping_total. In \
--user-data <user-data>Free-form data belonging to the ORDERING side — carried through from the storefront or the cart and handed back untouched. One of the few fields PUT /orders/{id} may still change.

reports-customer-rollup

Bash
revenexx orders reports-customer-rollup
FlagRequiredDescription
--as-of <as-of>Anchor for the rolling windows (default now). Pin it and send it back on every call of a loop, otherwise the windows drift by the duration of the loop.
--cursor <cursor>Continue an unfinished scan: the exact value the previous call returned, which is the id of the last order it read. Do not construct one — it is a resume point, not an offset. Omit it on the first call. It is honoured in BOTH call shapes, organization_ids included: send the whole batch again alongside it whenever \
--organization-ids [organization-ids...]Roll up exactly these organizations and no others — at most 200, because the ids travel to the data plane as one in.() filter. Naming them does NOT make the answer complete by itself: the scan is the same paged, time-budgeted loop either way, so a batch with more orders than one page can still stop early with \
--statuses [statuses...]Which lifecycle statuses count as revenue. Defaults to placed, in_fulfillment and completed: a pending order was never placed, and a cancelled one is not revenue. Widening this is how a merchant who books on approval gets their own definition of the same numbers.

return

Bash
revenexx orders return \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--metadata <metadata>Free-form data for the caller — the returns portal's own reference. Stored and returned untouched.
--positions [positions...]What is coming back. Omitted = every position with a returnable (shipped, not yet returned) quantity, in full.
--reason <reason>Why the goods are coming back, free text as the customer or the desk stated it. Also what /reject stores when it is given no resolution out of the published set.
--restock [value]The default restock flag for positions that carry none of their own — and the only way to say "put it all back into stock" when the positions are defaulted. It does not restock anything itself: it decides what the completion REPORTS for the orchestrator's inventories.restock call.

returns-complete

Bash
revenexx orders returns-complete \
    --id '' \
    --rid ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--rid <rid>The return id (uuid). It must belong to the order in {id} — a return of another order is a 404, not a cross-order write.
--resolution <resolution>How the return was settled. Omitted = settled without recording how.

returns-receive

Bash
revenexx orders returns-receive \
    --id '' \
    --rid '' \
    --data '{ "key": "value" }'
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--rid <rid>The return id (uuid). It must belong to the order in {id} — a return of another order is a 404, not a cross-order write.
--data <data>Request body

returns-reject

Bash
revenexx orders returns-reject \
    --id '' \
    --rid ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--rid <rid>The return id (uuid). It must belong to the order in {id} — a return of another order is a 404, not a cross-order write.
--reason <reason>Free-text fallback for 'resolution' — a sentence about this one return, not a value out of the set.
--resolution <resolution>Why the return was refused.

ship

Bash
revenexx orders ship \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--carrier <carrier>Who is carrying it, in the merchant's own words. Free text — this app neither validates it nor knows the carrier's API.
--metadata <metadata>Free-form data for the caller — the warehouse system's own reference for this handover. Stored and returned untouched.
--number <number>The DELIVERY NOTE number — drawn from the tenant's delivery range, unique per tenant, and a different series from the order number. A caller may supply its own when the number is issued by the warehouse system instead. Drawn from the 'delivery' range when omitted; supply one only when the number is issued elsewhere.
--positions [positions...]What this shipment carries. Omitted = every position with an open quantity, in full. GET /orders/{id}/shippable answers exactly the budget each one is guarded against.
--shipped-at <shipped-at>When the goods actually left. Defaults to now, and a caller may backdate it — a shipment booked on Monday for a Friday handover says Friday.
--tracking-code <tracking-code>The consignment number the carrier issued. Free text: every carrier formats it differently and this app stores whatever it is given.
--tracking-url <tracking-url>Where a human can follow the parcel. Supplied by the caller — this app does not build it, because only the caller knows the carrier's tracking address.

shippable

Bash
revenexx orders shippable \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.

unhold

Bash
revenexx orders unhold \
    --id '' \
    --data '{ "key": "value" }'
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--data <data>Request body

update

Bash
revenexx orders update \
    --id ''
FlagRequiredDescription
--id <id>The order id (uuid). This segment reaches a uuid column: an order NUMBER is not accepted here — filter GET /orders by ?number= to resolve one.
--billing-address <billing-address>The invoice address, FROZEN at place-time. Changing the customer's address afterwards does not change what this order was billed to. Replaced wholesale — send the whole address, not a patch of it.
--buyer <buyer>The ordering party as it was at place-time, FROZEN: a copy, not a reference, so the order still reads correctly after the customer record is renamed, merged or deleted. The caller decides what goes in; this app stores it and reads nothing out of it. Replaced wholesale — send the whole snapshot, not a patch of it.
--customer-order-number <customer-order-number>The BUYER's own reference — their purchase-order number. Free text, not unique, never generated here: it exists so the paperwork can carry the number the buyer's accounts payable will look for. One of the few fields PUT /orders/{id} may still change.
--metadata <metadata>Free-form data belonging to the INTEGRATION side — an ERP's own bookkeeping about this order. Stored and returned untouched; nothing here reads it. Replaced wholesale.
--shipping-address <shipping-address>The delivery address, FROZEN at place-time — what goes on the label of every shipment of this order. Null on an order that is never delivered (a service, a digital item, a collection). Replaced wholesale. This is the one correction that actually matters after placement: the label of every shipment still to go out is printed from it.
--user-data <user-data>Free-form data belonging to the ORDERING side — carried through from the storefront or the cart and handed back untouched. One of the few fields PUT /orders/{id} may still change. Replaced wholesale.

vocabularies-get

Bash
revenexx orders vocabularies-get \
    --name cancellation-scopes
FlagRequiredDescription
--name <name>The vocabulary name — the part after the dot in the qualified id.

vocabularies-list

Bash
revenexx orders vocabularies-list
FlagRequiredDescription
--filter <column=value>Filter rows by column equality (repeatable).
Was this page helpful?