List Account Rules
GET/api/product-account-rules
List account rules, paginated, in evaluation order.
accounting:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
How a product's account is chosen. For each account type, a product's own account override wins; otherwise the first active, non-archived rule (lowest position) whose conditions all match sets it; otherwise the company default applies. Sales channel, sub-channel and warehouse accounts still apply below this product level, and a rule with channel_accounts_take_priority: true steps aside for a channel that sets its own Sales, COGS or Discount account.
Authentication: Requires Bearer token with the accounting:read scope and the accounting view permission.
By default only non-archived rules are returned; use filter[archived] for archived ones. Default sort: position, then id. Default page size 10 (max 1000).
Filters use filter[<column>.<operator>]=<value> (a bare filter[<column>] means is), or a filter_groups tree for AND/OR combinations.
Rule fields: id, name, position (1 = evaluated first), is_active, deactivated_reason (why the rule was switched off automatically — e.g. a category, brand, supplier or tag it used was deleted; null while active), archived_at, channel_accounts_take_priority, specificity (number of condition groups used), conditions (normalized), conditions_summary (plain-English sentence), condition_labels (names for the category / brand / supplier / tag ids; a deleted record shows as #id (deleted)), accounts (per account type: {id, code, name, type, archived_at} or null), match_count (active products currently taking at least one account from this rule), applying.tracked_job_id (the re-apply run in progress, if any), created_by / updated_by ({id, name}), created_at, updated_at.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.