Customers commands

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

address-types-create

Bash
revenexx customers address-types-create \
    --code '' \
    --title Sample title
FlagRequiredDescription
--code <code>
--title <title>
--description <description>
--descriptions <descriptions>
--is-default [value]Promote this value; the previous default is demoted.
--labels <labels>
--position <position>
--tone <tone>

address-types-delete

Bash
revenexx customers address-types-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

address-types-get

Bash
revenexx customers address-types-get \
    --id sample-id
FlagRequiredDescription
--id <id>

address-types-list

Bash
revenexx customers address-types-list
FlagRequiredDescription
--filter <column=value>Filter rows by column equality (repeatable).

address-types-update

Bash
revenexx customers address-types-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--description <description>
--descriptions <descriptions>
--is-default [value]
--labels <labels>
--position <position>
--title <title>
--tone <tone>

addresses-create

Bash
revenexx customers addresses-create \
    --city sample city \
    --country sample country \
    --street sample street \
    --zip sample zip
FlagRequiredDescription
--city <city>
--country <country>ISO 3166-1 alpha-2 code.
--street <street>
--zip <zip>
--company <company>
--contact-id <contact-id>Owning contact (personal address).
--is-default [value]The default address of its owner and type.
--name <name>Recipient name.
--organization-id <organization-id>Owning organization (company address).
--phone <phone>
--region <region>
--street2 <street2>
--type <type>One of the tenant's own address types (GET /customers/address-types) — 'billing' and 'shipping' unless they added their own. A create without it gets the one flagged as default.

addresses-delete

Bash
revenexx customers addresses-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

addresses-get

Bash
revenexx customers addresses-get \
    --id sample-id
FlagRequiredDescription
--id <id>

addresses-list

Bash
revenexx customers addresses-list
FlagRequiredDescription
--contact-id <contact-id>Filter to one owning contact.
--organization-id <organization-id>Filter to one organization.
--limit <limit>Page size (default 50, max 200).
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.
--filter <column=value>Filter rows by column equality (repeatable).

addresses-update

Bash
revenexx customers addresses-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--city <city>
--company <company>
--contact-id <contact-id>Owning contact (personal address).
--country <country>ISO 3166-1 alpha-2 code.
--is-default [value]The default address of its owner and type.
--name <name>Recipient name.
--organization-id <organization-id>Owning organization (company address).
--phone <phone>
--region <region>
--street <street>
--street2 <street2>
--type <type>One of the tenant's own address types (GET /customers/address-types) — 'billing' and 'shipping' unless they added their own. A create without it gets the one flagged as default.
--zip <zip>

auth-login

Bash
revenexx customers auth-login \
    --email jane@example.com \
    --password sample password
FlagRequiredDescription
--email <email>
--password <password>

auth-logout

Bash
revenexx customers auth-logout \
    --session-id sample-id \
    --user-id sample-id
FlagRequiredDescription
--session-id <session-id>
--user-id <user-id>

auth-me

Bash
revenexx customers auth-me \
    --user-id sample-id
FlagRequiredDescription
--user-id <user-id>
--session-id <session-id>Optional session to verify — answers 401 when the session is expired or revoked.

auth-recovery

Bash
revenexx customers auth-recovery \
    --email jane@example.com \
    --url sample url
FlagRequiredDescription
--email <email>
--url <url>Redirect URL carrying userId + secret.

auth-recovery-confirm

Bash
revenexx customers auth-recovery-confirm \
    --password sample password \
    --secret sample secret \
    --user-id sample-id
FlagRequiredDescription
--password <password>
--secret <secret>
--user-id <user-id>

auth-register

Bash
revenexx customers auth-register \
    --email jane@example.com \
    --password sample password
FlagRequiredDescription
--email <email>
--password <password>
--first-name <first-name>
--last-name <last-name>
--locale <locale>BCP 47, e.g. de-DE
--organization-id <organization-id>Join an existing organization.
--organization-name <organization-name>Found a new organization; the contact becomes its admin.
--vat-id <vat-id>The new organization's VAT id; required when the tenant's organization_vat_id_required setting is on.

contact-event-kinds-create

Bash
revenexx customers contact-event-kinds-create \
    --code '' \
    --title Sample title
FlagRequiredDescription
--code <code>
--title <title>
--description <description>
--descriptions <descriptions>
--is-default [value]Promote this value; the previous default is demoted.
--labels <labels>
--position <position>
--tone <tone>

contact-event-kinds-delete

Bash
revenexx customers contact-event-kinds-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

contact-event-kinds-get

Bash
revenexx customers contact-event-kinds-get \
    --id sample-id
FlagRequiredDescription
--id <id>

contact-event-kinds-list

Bash
revenexx customers contact-event-kinds-list
FlagRequiredDescription
--filter <column=value>Filter rows by column equality (repeatable).

contact-event-kinds-update

Bash
revenexx customers contact-event-kinds-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--description <description>
--descriptions <descriptions>
--is-default [value]
--labels <labels>
--position <position>
--title <title>
--tone <tone>

contact-events-get

Bash
revenexx customers contact-events-get \
    --id sample-id
FlagRequiredDescription
--id <id>

contact-events-list

Bash
revenexx customers contact-events-list
FlagRequiredDescription
--contact-id <contact-id>Filter to one contact.
--organization-id <organization-id>Filter to one organization — the company timeline, without fanning out over its people.
--kind <kind>Filter by entry kind (system | note | call | email | meeting | visit | task). 'system' is the registration decision trail.
--name <name>Filter by event name (registration.submitted | registration.approved | registration.rejected | activity.).
--limit <limit>Page size (default 50, max 200).
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.
--filter <column=value>Filter rows by column equality (repeatable).

contacts-create

Bash
revenexx customers contacts-create \
    --email jane@example.com
FlagRequiredDescription
--email <email>
--first-name <first-name>
--is-primary [value]The primary contact of its organization.
--job-title <job-title>What this person does at the company — 'Werkstattleiter', 'Einkauf'. Free text on purpose: it is a title, not a grant. The permission ladder is \
--last-name <last-name>
--locale <locale>BCP 47, e.g. de-DE
--order-approval-limit <order-approval-limit>Amount ceiling for this person, in the market's currency. With the 'orders.approve' permission it is the most they may sign off; null means no ceiling. An amount, not a grant — the grant comes from the role.
--organization-id <organization-id>Owning organization — membership is mirrored to the platform team.
--phone <phone>
--registration-status <registration-status>Only on create, and only to file the contact as an APPLICATION: 'pending' creates the platform user disabled and routes the contact through approve/reject. Default 'approved'. Ignored on update — see the approve/reject routes.
--role <role>The person's role INSIDE its organization — also the team role on the platform mirror. One of the tenant's own roles (GET /customers/roles); a tenant that never edited the ledger has viewer, requester, buyer, approver, admin. A create without it gets the role flagged as default. Permissions are derived from it, never stored.
--status <status>Default 'invited' on create.

contacts-delete

Bash
revenexx customers contacts-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

contacts-events-create

Bash
revenexx customers contacts-events-create \
    --contact-id sample-id \
    --subject sample subject
FlagRequiredDescription
--contact-id <contact-id>
--subject <subject>One line a person can scan in a timeline.
--actor <actor>Who logged it (operator id or email).
--kind <kind>What happened. 'system' is deliberately NOT accepted — those rows are the registration decision trail and are written by the approve/reject routes. Default 'note'.
--note <note>The long form, stored in the event payload.
--occurred-at <occurred-at>When it actually happened. Defaults to now — a call logged on Monday about Friday should say Friday.

contacts-get

Bash
revenexx customers contacts-get \
    --id sample-id
FlagRequiredDescription
--id <id>

contacts-list

Bash
revenexx customers contacts-list
FlagRequiredDescription
--organization-id <organization-id>Filter to one organization.
--is-primary [value]Filter to the organization's primary contact.
--role <role>Filter by role (viewer | requester | buyer | approver | admin).
--status <status>Filter by status (invited | active | blocked).
--registration-status <registration-status>Filter by registration state (pending | approved | rejected). 'pending' is the approval inbox.
--email <email>Filter by exact email.
--limit <limit>Page size (default 50, max 200).
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.
--filter <column=value>Filter rows by column equality (repeatable).

contacts-permissions

Bash
revenexx customers contacts-permissions \
    --contact-id sample-id
FlagRequiredDescription
--contact-id <contact-id>

contacts-update

Bash
revenexx customers contacts-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--email <email>
--first-name <first-name>
--is-primary [value]The primary contact of its organization.
--job-title <job-title>What this person does at the company — 'Werkstattleiter', 'Einkauf'. Free text on purpose: it is a title, not a grant. The permission ladder is \
--last-name <last-name>
--locale <locale>BCP 47, e.g. de-DE
--order-approval-limit <order-approval-limit>Amount ceiling for this person, in the market's currency. With the 'orders.approve' permission it is the most they may sign off; null means no ceiling. An amount, not a grant — the grant comes from the role.
--organization-id <organization-id>Owning organization — membership is mirrored to the platform team.
--phone <phone>
--registration-status <registration-status>Only on create, and only to file the contact as an APPLICATION: 'pending' creates the platform user disabled and routes the contact through approve/reject. Default 'approved'. Ignored on update — see the approve/reject routes.
--role <role>The person's role INSIDE its organization — also the team role on the platform mirror. One of the tenant's own roles (GET /customers/roles); a tenant that never edited the ledger has viewer, requester, buyer, approver, admin. A create without it gets the role flagged as default. Permissions are derived from it, never stored.
--status <status>Default 'invited' on create.

defaults

Bash
revenexx customers defaults \
    --data '{ "key": "value" }'
FlagRequiredDescription
--data <data>Request body

lifecycle-stages-create

Bash
revenexx customers lifecycle-stages-create \
    --code '' \
    --title Sample title
FlagRequiredDescription
--code <code>
--title <title>
--description <description>
--descriptions <descriptions>
--is-default [value]Promote this value; the previous default is demoted.
--labels <labels>
--position <position>
--tone <tone>

lifecycle-stages-delete

Bash
revenexx customers lifecycle-stages-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

lifecycle-stages-get

Bash
revenexx customers lifecycle-stages-get \
    --id sample-id
FlagRequiredDescription
--id <id>

lifecycle-stages-list

Bash
revenexx customers lifecycle-stages-list
FlagRequiredDescription
--filter <column=value>Filter rows by column equality (repeatable).

lifecycle-stages-update

Bash
revenexx customers lifecycle-stages-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--description <description>
--descriptions <descriptions>
--is-default [value]
--labels <labels>
--position <position>
--title <title>
--tone <tone>

organization-metrics-freshness

Bash
revenexx customers organization-metrics-freshness

organization-metrics-get

Bash
revenexx customers organization-metrics-get \
    --id sample-id
FlagRequiredDescription
--id <id>

organization-metrics-list

Bash
revenexx customers organization-metrics-list
FlagRequiredDescription
--organization-id <organization-id>Read the metrics of one organization.
--limit <limit>Page size (default 50, max 200).
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.
--filter <column=value>Filter rows by column equality (repeatable).

organization-metrics-refresh

Bash
revenexx customers organization-metrics-refresh
FlagRequiredDescription
--as-of <as-of>Anchor for the rolling windows — pass back the value the previous call returned.
--cursor <cursor>Continue an unfinished refresh: the value the previous call returned.
--organization-ids [organization-ids...]Refresh exactly these organizations in one call instead of walking all of them.

organizations-create

Bash
revenexx customers organizations-create \
    --name Sample name
FlagRequiredDescription
--name <name>Company name — mirrored to the platform team.
--branche <branche>Industry / line of business (free text). Addressable from segment rules.
--credit-limit <credit-limit>Ceiling on open receivables in the market's currency. Null means no limit; a create without it inherits the tenant's default_credit_limit setting.
--customer-number <customer-number>The number this company carries in the merchant's ERP. Unique per tenant when set, and one of the fields duplicate detection can be pointed at.
--delivery-block [value]True stops shipments to this company without touching whether it may log in or order. Default false.
--lifecycle-stage <lifecycle-stage>Where the company stands in the sales pipeline. Deliberately a SEPARATE axis from status — a prospect that may log in and a customer that may not are both ordinary states, and one column cannot say that. One of the tenant's own stages (GET /customers/lifecycle-stages); a create without it gets the one flagged as default.
--payment-terms <payment-terms>When this company has to pay. One of the tenant's own terms (GET /customers/payment-terms). Null means nothing was agreed; a create without it inherits the market's default_payment_terms setting.
--price-list <price-list>Code of the price list this company buys on. Plain text — the list belongs to the prices app and ADR-0055 forbids the cross-app foreign key.
--settings <settings>Free-form organization settings. The commercial terms that used to live in here are typed columns now — put nothing in here a downstream app has to agree with you about.
--status <status>ACCESS, not pipeline: 'blocked' disables the login and is where a rejected registration parks a company. Default 'active'. For 'how far along is this company' use lifecycle_stage.
--vat-id <vat-id>

organizations-delete

Bash
revenexx customers organizations-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

organizations-events-create

Bash
revenexx customers organizations-events-create \
    --organization-id sample-id \
    --contact-id 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d \
    --subject sample subject
FlagRequiredDescription
--organization-id <organization-id>
--contact-id <contact-id>The person dealt with. Must be a contact of this organization.
--subject <subject>One line a person can scan in a timeline.
--actor <actor>Who logged it (operator id or email).
--kind <kind>What happened. 'system' is deliberately NOT accepted — those rows are the registration decision trail and are written by the approve/reject routes. Default 'note'.
--note <note>The long form, stored in the event payload.
--occurred-at <occurred-at>When it actually happened. Defaults to now — a call logged on Monday about Friday should say Friday.

organizations-get

Bash
revenexx customers organizations-get \
    --id sample-id
FlagRequiredDescription
--id <id>

organizations-list

Bash
revenexx customers organizations-list
FlagRequiredDescription
--status <status>Filter by status (active | blocked).
--lifecycle-stage <lifecycle-stage>Filter by pipeline stage (lead | prospect | customer | churned).
--branche <branche>Filter by exact industry / line of business.
--customer-number <customer-number>Look a company up by its ERP number.
--delivery-block [value]Filter to companies whose shipments are stopped.
--limit <limit>Page size (default 50, max 200).
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.
--filter <column=value>Filter rows by column equality (repeatable).

organizations-update

Bash
revenexx customers organizations-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--branche <branche>Industry / line of business (free text). Addressable from segment rules.
--credit-limit <credit-limit>Ceiling on open receivables in the market's currency. Null means no limit; a create without it inherits the tenant's default_credit_limit setting.
--customer-number <customer-number>The number this company carries in the merchant's ERP. Unique per tenant when set, and one of the fields duplicate detection can be pointed at.
--delivery-block [value]True stops shipments to this company without touching whether it may log in or order. Default false.
--lifecycle-stage <lifecycle-stage>Where the company stands in the sales pipeline. Deliberately a SEPARATE axis from status — a prospect that may log in and a customer that may not are both ordinary states, and one column cannot say that. One of the tenant's own stages (GET /customers/lifecycle-stages); a create without it gets the one flagged as default.
--name <name>Company name — mirrored to the platform team.
--payment-terms <payment-terms>When this company has to pay. One of the tenant's own terms (GET /customers/payment-terms). Null means nothing was agreed; a create without it inherits the market's default_payment_terms setting.
--price-list <price-list>Code of the price list this company buys on. Plain text — the list belongs to the prices app and ADR-0055 forbids the cross-app foreign key.
--settings <settings>Free-form organization settings. The commercial terms that used to live in here are typed columns now — put nothing in here a downstream app has to agree with you about.
--status <status>ACCESS, not pipeline: 'blocked' disables the login and is where a rejected registration parks a company. Default 'active'. For 'how far along is this company' use lifecycle_stage.
--vat-id <vat-id>

payment-terms-create

Bash
revenexx customers payment-terms-create \
    --code '' \
    --title Sample title
FlagRequiredDescription
--code <code>
--title <title>
--description <description>
--descriptions <descriptions>
--is-default [value]Promote this value; the previous default is demoted.
--labels <labels>
--position <position>
--tone <tone>

payment-terms-delete

Bash
revenexx customers payment-terms-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

payment-terms-get

Bash
revenexx customers payment-terms-get \
    --id sample-id
FlagRequiredDescription
--id <id>

payment-terms-list

Bash
revenexx customers payment-terms-list
FlagRequiredDescription
--filter <column=value>Filter rows by column equality (repeatable).

payment-terms-update

Bash
revenexx customers payment-terms-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--description <description>
--descriptions <descriptions>
--is-default [value]
--labels <labels>
--position <position>
--title <title>
--tone <tone>

principal-resolve

Bash
revenexx customers principal-resolve \
    --contact-id 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
FlagRequiredDescription
--contact-id <contact-id>The contact the caller is acting for.

registrations-approve

Bash
revenexx customers registrations-approve \
    --contact-id sample-id
FlagRequiredDescription
--contact-id <contact-id>
--decided-by <decided-by>Who decided — recorded on the contact and the event. Free text (operator id or email).

registrations-reject

Bash
revenexx customers registrations-reject \
    --contact-id sample-id \
    --reason sample reason
FlagRequiredDescription
--contact-id <contact-id>
--reason <reason>Why the application was declined. Always stored on the contact. It only reaches the APPLICANT when the tenant's registration_reason_disclosed setting is on — the event payload then carries it, and so does the 403 the login answers.
--decided-by <decided-by>Who decided — recorded on the contact and the event.

roles-defaults

Bash
revenexx customers roles-defaults \
    --data '{ "key": "value" }'
FlagRequiredDescription
--data <data>Request body

roles-list

Bash
revenexx customers roles-list
FlagRequiredDescription
--filter <column=value>Filter rows by column equality (repeatable).

roles-permissions-replace

Bash
revenexx customers roles-permissions-replace \
    --key sample key \
    --permissions one two three
FlagRequiredDescription
--key <key>The role key, e.g. "buyer".
--permissions [permissions...]The complete new set. Duplicates and blanks are ignored; an empty array revokes everything.

segment-members-create

Bash
revenexx customers segment-members-create \
    --organization-id 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d \
    --segment-id 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
FlagRequiredDescription
--organization-id <organization-id>The member organization.
--segment-id <segment-id>The segment this membership belongs to.
--source <source>Default 'manual'. A recompute only ever inserts or deletes 'rule' rows — hand-picked 'manual' rows survive untouched.

segment-members-delete

Bash
revenexx customers segment-members-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

segment-members-get

Bash
revenexx customers segment-members-get \
    --id sample-id
FlagRequiredDescription
--id <id>

segment-members-list

Bash
revenexx customers segment-members-list
FlagRequiredDescription
--segment-id <segment-id>Filter to one segment.
--organization-id <organization-id>Filter to one organization — answers the segments an organization belongs to.
--source <source>Filter by membership source (manual | rule).
--limit <limit>Page size (default 50, max 200).
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.
--filter <column=value>Filter rows by column equality (repeatable).

segment-members-update

Bash
revenexx customers segment-members-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--organization-id <organization-id>The member organization.
--segment-id <segment-id>The segment this membership belongs to.
--source <source>Default 'manual'. A recompute only ever inserts or deletes 'rule' rows — hand-picked 'manual' rows survive untouched.

segments-create

Bash
revenexx customers segments-create \
    --code sample code
FlagRequiredDescription
--code <code>Stable identifier, unique per tenant.
--labels <labels>Localized display names, e.g. {"de_DE": "Großkunden"}.
--position <position>Sort order in the cockpit (default 0).
--rule-match <rule-match>How the conditions combine. Default 'all'.
--rules <rules>

segments-delete

Bash
revenexx customers segments-delete \
    --id sample-id
FlagRequiredDescription
--id <id>

segments-get

Bash
revenexx customers segments-get \
    --id sample-id
FlagRequiredDescription
--id <id>

segments-list

Bash
revenexx customers segments-list
FlagRequiredDescription
--code <code>Filter by exact segment code.
--limit <limit>Page size (default 50, max 200).
--offset <offset>Row offset for pagination (default 0).
--order <order>Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.
--filter <column=value>Filter rows by column equality (repeatable).

segments-rules-preview

Bash
revenexx customers segments-rules-preview \
    --segment-id sample-id \
    --conditions one two three
FlagRequiredDescription
--segment-id <segment-id>
--conditions [conditions...]
--rule-match <rule-match>How the conditions combine. Default 'all'.
--target <target>Only 'organizations' is supported; any other value is rejected.

segments-rules-recompute

Bash
revenexx customers segments-rules-recompute \
    --segment-id sample-id
FlagRequiredDescription
--segment-id <segment-id>
--cursor <cursor>Continuation token from a previous response. Omit to resume/start automatically; pass null to force a restart from the beginning.

segments-rules-recompute-all

Bash
revenexx customers segments-rules-recompute-all \
    --data '{ "key": "value" }'
FlagRequiredDescription
--data <data>Request body

segments-update

Bash
revenexx customers segments-update \
    --id sample-id
FlagRequiredDescription
--id <id>
--code <code>Stable identifier, unique per tenant.
--labels <labels>Localized display names, e.g. {"de_DE": "Großkunden"}.
--position <position>Sort order in the cockpit (default 0).
--rule-match <rule-match>How the conditions combine. Default 'all'.
--rules <rules>

vocabularies-get

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

vocabularies-list

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