Apply or release the account credit hold
Applies or releases the credit hold on an account. Delegates to the
canonical setCreditHold writer (utils/credit-hold-helpers.mjs),
which owns the single SSOT path for every flip of
accounts.is_credit_hold (Rule 23).
Side effects on apply (on_hold: true):
accounts.is_credit_hold = true- For every open sales order on this account
(
order_status IN ('draft','open','processing','awaiting_ach_clearance')), setsorders.is_credit_hold_blocked = trueandcredit_hold_blocked_at = NOW(). Theorders_credit_hold_syncCHECK constraint enforces the pair stays consistent. - Realtime broadcast
account.credit_hold_changedwith full payload + secondaryaccount.updatedbroadcast. activity_logentry with actionaccount_credit_hold_changed.
Side effects on release (on_hold: false):
accounts.is_credit_hold = false- Clears
is_credit_hold_blocked/credit_hold_blocked_aton every order still carrying the flag for this account. - Same broadcast + activity log shape.
Idempotent: a re-POST that matches the current state returns 200 with
changed: false and emits no new broadcast or activity row.
is_credit_hold is intentionally readOnly on the Account schema and
BLOCKED by the PATCH allowlist on PATCH /v1/accounts/{id} (returns
422 forbidden_field). This dedicated action endpoint is the SSOT
write surface, mirroring NetSuite’s creditHoldOverride writable
field on the customer record.
Requires accounts:write scope.
Authorizations
API key issued per entity via Settings > Developers > API Keys.
Each key carries scopes (e.g. orders:read, products:write).
Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.
Path Parameters
Body
true to apply the credit hold (and cascade-block open
sales orders), false to release.
Optional human-readable reason recorded in the
activity_log row and the account.credit_hold_changed
broadcast payload. Defaults to manual on apply and
released on release when omitted.
"manual"
Response
Credit hold transition result

