Order lists commands

Reference for the `revenexx orderlists` 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 orderlists 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 orderlists <command> --help for the live options.

create

Bash
revenexx orderlists create \
    --name Weekly office supplies \
    --owner-id '' \
    --owner-name Jamie Rivera
FlagRequiredDescription
--name <name>What the buyer calls this list. Free text, at least one character, and not unique: two contacts may both keep a "Weekly office supplies". It is also the name a NEW cart gets when POST /orderlists/{id}/cart creates one.
--owner-id <owner-id>The contact who owns the list. Ownership IS the authorization here: a caller the gateway resolved to a contact sees their own lists plus their organization's shared ones, and may write only their own — unless \
--owner-name <owner-name>The owner's display name as it stood when the list was created — a snapshot, so renaming the contact does not rewrite it. Carried so a shared list can say whose it is without a call to the contacts app.
--items [items...]Optional initial positions. Every one is validated — and article-checked where \
--kind <kind>List kind — the \
--metadata <metadata>Free-form data the tenant keeps on the list — an ERP requisition number, a department, whatever an integration needs to recognise the list again. Never read by this app, and never merged: a write replaces the whole document.
--organization-id <organization-id>The organization the sharing is scoped to. Null means the list can only ever be the owner's own: \
--shared [value]Whether the OWNING ORGANIZATION may see this list. False — the default — keeps it private to \

defaults

Bash
revenexx orderlists defaults

delete

Bash
revenexx orderlists delete \
    --id ''
FlagRequiredDescription
--id <id>The order list, by id.

get

Bash
revenexx orderlists get \
    --id ''
FlagRequiredDescription
--id <id>The order list, by id.

items-create

Bash
revenexx orderlists items-create \
    --list-id '' \
    --name Copy paper A4, 80 g/m², white
FlagRequiredDescription
--list-id <list-id>The list the position belongs to. An id no list in this tenant has — or one the caller may not read — answers 404.
--name <name>The article name AS IT WAS when the position was saved. A snapshot on purpose: the list is the buyer's own record, so a renamed or withdrawn article still reads the way they wrote it down.
--category-slug <category-slug>The catalogue category the article sat in when the position was saved, as a slug. Kept so a long list can be grouped the way the shop groups it without a call to the catalogue.
--cost-center-id <cost-center-id>The cost centre this position books to, as the tenant's ERP names it. Free text and not our enum. It survives into the ORDER position, which has a \
--custom-sku <custom-sku>The buyer's OWN article number for this article — what their purchasing system calls it, which is rarely what the shop calls it. Free text, and the field a B2B buyer searches their own lists by.
--image <image>The article image at the time the position was saved, as a URL or a path — a snapshot like \
--metadata <metadata>Free-form data the tenant keeps on the position. Never read by this app; it travels into the cart line / order position snapshot untouched. A write replaces the whole document rather than merging into it.
--position <position>Sort order within the list, ascending — the order the positions collection returns by default and the order the conversions hand the lines over in. Neither dense nor unique: an add with no \
--position-texts [position-texts...]Per-position notes the buyer wrote — an engraving, a delivery instruction, a reference for the picker. An ARRAY OF STRINGS, one entry per line; the order conversion joins them with newlines into the order position's single \
--price <price>Unit price snapshot — what the buyer saw when they saved the position, in whatever way the catalogue quoted it. It is a record, not a live price: the cart and the order reprice on their own terms, so this never becomes what somebody is charged.
--product-id <product-id>The catalogue product this position stands for. One of \
--quantity <quantity>How much of the article the list holds. Greater than zero — the database refuses the rest — and fractional to three decimals, because a B2B position may be 2.5 metres or 0.75 kilos.
--sku <sku>The article number as the catalogue knows it — the alternative identity to \
--subcategory-slug <subcategory-slug>The catalogue subcategory, as a slug. Same purpose as \
--tax-rate <tax-rate>The VAT rate that applied when the position was saved, as a PERCENT (19 = 19 %). Four decimals so a rate like 8.25 % survives; carts and orders document the same field the same way, and the conversion forwards the number unchanged.
--unit <unit>The unit \

items-delete

Bash
revenexx orderlists items-delete \
    --list-id '' \
    --id ''
FlagRequiredDescription
--list-id <list-id>The list the position belongs to. An id no list in this tenant has — or one the caller may not read — answers 404.
--id <id>The position, by id. A position that belongs to another list answers 404.

items-get

Bash
revenexx orderlists items-get \
    --list-id '' \
    --id ''
FlagRequiredDescription
--list-id <list-id>The list the position belongs to. An id no list in this tenant has — or one the caller may not read — answers 404.
--id <id>The position, by id. A position that belongs to another list answers 404.

items-list

Bash
revenexx orderlists items-list \
    --list-id ''
FlagRequiredDescription
--list-id <list-id>The list the position belongs to. An id no list in this tenant has — or one the caller may not read — answers 404.
--id <id>Exact-match filter on \
--product-id <product-id>Exact-match filter on \
--sku <sku>Exact-match filter on \
--name <name>Exact-match filter on \
--image <image>Exact-match filter on \
--quantity <quantity>Exact-match filter on \
--unit <unit>Exact-match filter on \
--price <price>Exact-match filter on \
--tax-rate <tax-rate>Exact-match filter on \
--cost-center-id <cost-center-id>Exact-match filter on \
--position-texts <position-texts>Exact-match filter on \
--custom-sku <custom-sku>Exact-match filter on \
--category-slug <category-slug>Exact-match filter on \
--subcategory-slug <subcategory-slug>Exact-match filter on \
--position <position>Exact-match filter on \
--metadata <metadata>Exact-match filter on \
--created-at <created-at>Exact-match filter on \
--updated-at <updated-at>Exact-match filter on \
--limit <limit>Page size (default 50, max 200). A larger value is clamped rather than refused.
--offset <offset>Row offset for pagination (default 0). Page with \
--order <order>Sort by one column: 'column' | 'column.asc' | 'column.desc'. A bare column sorts ascending. Anything else is refused with 400.
--filter <column=value>Filter rows by column equality (repeatable).

items-replace

Bash
revenexx orderlists items-replace \
    --list-id '' \
    --items one two three
FlagRequiredDescription
--list-id <list-id>The list the position belongs to. An id no list in this tenant has — or one the caller may not read — answers 404.
--items [items...]The new full set of positions, in the order they should carry. An empty array empties the list. Every existing position is deleted and rewritten, so ids are NOT preserved. The array order is the DEFAULT and not an override: an entry that names no \

items-update

Bash
revenexx orderlists items-update \
    --list-id '' \
    --id ''
FlagRequiredDescription
--list-id <list-id>The list the position belongs to. An id no list in this tenant has — or one the caller may not read — answers 404.
--id <id>The position, by id. A position that belongs to another list answers 404.
--category-slug <category-slug>The catalogue category the article sat in when the position was saved, as a slug. Kept so a long list can be grouped the way the shop groups it without a call to the catalogue.
--cost-center-id <cost-center-id>The cost centre this position books to, as the tenant's ERP names it. Free text and not our enum. It survives into the ORDER position, which has a \
--custom-sku <custom-sku>The buyer's OWN article number for this article — what their purchasing system calls it, which is rarely what the shop calls it. Free text, and the field a B2B buyer searches their own lists by.
--image <image>The article image at the time the position was saved, as a URL or a path — a snapshot like \
--metadata <metadata>Free-form data the tenant keeps on the position. Never read by this app; it travels into the cart line / order position snapshot untouched. A write replaces the whole document rather than merging into it.
--name <name>The article name AS IT WAS when the position was saved. A snapshot on purpose: the list is the buyer's own record, so a renamed or withdrawn article still reads the way they wrote it down.
--position <position>Sort order within the list, ascending — the order the positions collection returns by default and the order the conversions hand the lines over in. Neither dense nor unique: an add with no \
--position-texts [position-texts...]Per-position notes the buyer wrote — an engraving, a delivery instruction, a reference for the picker. An ARRAY OF STRINGS, one entry per line; the order conversion joins them with newlines into the order position's single \
--price <price>Unit price snapshot — what the buyer saw when they saved the position, in whatever way the catalogue quoted it. It is a record, not a live price: the cart and the order reprice on their own terms, so this never becomes what somebody is charged.
--product-id <product-id>The catalogue product this position stands for. One of \
--quantity <quantity>How much of the article the list holds. Greater than zero — the database refuses the rest — and fractional to three decimals, because a B2B position may be 2.5 metres or 0.75 kilos.
--sku <sku>The article number as the catalogue knows it — the alternative identity to \
--subcategory-slug <subcategory-slug>The catalogue subcategory, as a slug. Same purpose as \
--tax-rate <tax-rate>The VAT rate that applied when the position was saved, as a PERCENT (19 = 19 %). Four decimals so a rate like 8.25 % survives; carts and orders document the same field the same way, and the conversion forwards the number unchanged.
--unit <unit>The unit \

kinds-create

Bash
revenexx orderlists kinds-create \
    --code reagents \
    --title Reagent list
FlagRequiredDescription
--code <code>What \
--title <title>What a person reads. \
--description <description>What this kind is for, in one sentence — the line a select shows under the title.
--descriptions <descriptions>Localized descriptions, keyed by language tag.
--is-default [value]Promote this kind; the previous default is demoted.
--labels <labels>Localized titles, keyed by language tag.
--position <position>Where the kind sits in a select, ascending. Omitted means 0, which puts it first among the unpositioned.
--tone <tone>Semantic badge colour. The client owns what each tone looks like; omitted means \

kinds-delete

Bash
revenexx orderlists kinds-delete \
    --id ''
FlagRequiredDescription
--id <id>The list kind, by id.

kinds-get

Bash
revenexx orderlists kinds-get \
    --id ''
FlagRequiredDescription
--id <id>The list kind, by id.

kinds-list

Bash
revenexx orderlists kinds-list
FlagRequiredDescription
--limit <limit>Page size (default 50, max 200). A larger value is clamped rather than refused.
--offset <offset>Row offset for pagination (default 0).
--filter <column=value>Filter rows by column equality (repeatable).

kinds-make-default

Bash
revenexx orderlists kinds-make-default \
    --id '' \
    --data '{ "key": "value" }'
FlagRequiredDescription
--id <id>The list kind, by id.
--data <data>Request body

kinds-update

Bash
revenexx orderlists kinds-update \
    --id ''
FlagRequiredDescription
--id <id>The list kind, by id.
--description <description>What this kind is for, in one sentence. Explicit null clears it.
--descriptions <descriptions>Localized descriptions, keyed by language tag. Replaces the whole map rather than merging into it.
--is-default [value]True promotes this kind and demotes the previous default — the same move POST /orderlists/kinds/{id}/make-default makes on its own.
--labels <labels>Localized titles, keyed by language tag. Replaces the whole map rather than merging into it.
--position <position>Where the kind sits in a select, ascending.
--title <title>What a person reads. A blank title is ignored rather than stored — a kind with no words is unreadable in every UI.
--tone <tone>Semantic badge colour. The client owns what each tone looks like.

list

Bash
revenexx orderlists list
FlagRequiredDescription
--owner-id <owner-id>Exact-match filter on \
--organization-id <organization-id>Exact-match filter on \
--kind <kind>Filter by list kind — a \
--limit <limit>Page size (default 50, max 200). A larger value is clamped rather than refused.
--offset <offset>Row offset for pagination (default 0). Page with \
--order <order>Sort by one column: 'column' | 'column.asc' | 'column.desc'. A bare column sorts ascending. Anything else is refused with 400.
--filter <column=value>Filter rows by column equality (repeatable).

to-cart

Bash
revenexx orderlists to-cart \
    --id ''
FlagRequiredDescription
--id <id>The order list, by id.
--cart-id <cart-id>Add to this existing cart. Omit to create one for the list owner and make it their current cart.
--currency <currency>ISO 4217 code for the cart and its lines. Omit to let the carts app decide.
--mode <mode>'append' adds the positions (the carts app merges a line by product and price, so quantities accumulate); 'replace' makes the list the cart's entire contents. Defaults to the tenant's 'cart_merge_mode' setting.

to-order

Bash
revenexx orderlists to-order \
    --id ''
FlagRequiredDescription
--id <id>The order list, by id.
--currency <currency>ISO 4217 code. Omit to let the orders app apply the market default.
--customer-order-number <customer-order-number>The BUYER's own order or purchase-order number, forwarded to the orders app verbatim. Free text and never generated here: it exists so the paperwork can carry the number the buyer's accounts payable will look for.

update

Bash
revenexx orderlists update \
    --id ''
FlagRequiredDescription
--id <id>The order list, by id.
--kind <kind>List kind — the \
--metadata <metadata>Free-form data the tenant keeps on the list — an ERP requisition number, a department, whatever an integration needs to recognise the list again. Never read by this app, and never merged: a write replaces the whole document.
--name <name>What the buyer calls this list. Free text, at least one character, and not unique: two contacts may both keep a "Weekly office supplies". It is also the name a NEW cart gets when POST /orderlists/{id}/cart creates one.
--shared [value]Whether the OWNING ORGANIZATION may see this list. False — the default — keeps it private to \

vocabularies-get

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

vocabularies-list

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