Skip to main content
POST
Confirm a draft sales order or invoice into the OPEN state

Authorizations

Authorization
string
header
required

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.

Headers

Idempotency-Key
string

Client-generated unique key for idempotent POST/PATCH/DELETE operations. Alias for the Idempotency parameter. Max 255 chars. On retry with the same key, the original response is returned without re-executing the operation. Keys expire after 24 hours.

Maximum string length: 255

Path Parameters

id
string<uuid>
required

Body

application/json
acknowledge_delinquency
boolean

Set to true to bypass the delinquency soft-warning (account has overdue invoices but is not on manual / credit-limit hold). Must be paired with acknowledge_reason (min 10 chars after trim). Requires accounts.acknowledge_delinquency permission (HTTP 403 if denied). Industry: NetSuite Customer Past-Due Override, Acumatica Past Due workflow override, Brightpearl override-credit-limit prompt.

acknowledge_reason
string

Operator-typed reason for proceeding despite delinquency. Required when acknowledge_delinquency: true. Minimum 10 characters after trim. Stored in orders.delinquency_acknowledged_reason and emitted in the order_timeline + activity_log row so AR teams can review via the controller audit report surface. Returns HTTP 422 delinquency_acknowledge_requires_reason if omitted or too short.

Minimum string length: 10
Example:

"Customer confirmed ACH payment of overdue invoices en route; GM approved."

override_credit_hold
boolean

Set to true to push an on-hold order through the credit gate WITHOUT placing it on hold. Requires accounts.override_credit_hold permission AND a paired override_reason (min 10 chars after trim). Audit-logged via activity_log + order_timeline + realtime broadcast.

override_reason
string

Operator-typed reason for the credit-hold override. Required when override_credit_hold: true. Stored in orders.credit_hold_override_reason + audit log metadata.

Minimum string length: 10
Example:

"GM John approved by phone; card on file pre-charged for full balance."

send_email
boolean

Send the order confirmation email on success.

Response

Confirmed order

An Arcus ERP order document. One table holds quotes, sales_orders, invoices, returns, and purchase_orders -- always filter by document_type. entity_id is always from the API key (Layer 1 isolation).

id
string<uuid>
object
enum<string>
Available options:
order
entity_id
string<uuid>
read-only
order_number
string
read-only
document_type
enum<string>
Available options:
quote,
sales_order,
invoice,
return,
purchase_order
order_status
enum<string>
Available options:
draft,
confirmed,
partially_fulfilled,
fulfilled,
cancelled,
voided,
awaiting_ach_clearance,
on_hold
payment_status
enum<string>
Available options:
unpaid,
partially_paid,
paid,
overpaid,
refunded,
partially_refunded,
voided
fulfillment_status
enum<string>
Available options:
unfulfilled,
partially_fulfilled,
fulfilled
account_id
string<uuid> | null
location_id
string<uuid> | null
po_number
string | null
order_date
string<date-time> | null
due_date
string<date-time> | null
subtotal
number
discount_total
number
shipping_total
number
tax_total
number
fee_total
number
order_total
number
list_price_total
number
read-only

Derived (display-only): SUM(list_price * qty) over non-kit lines. The gross baseline of the gross-to-net bridge (List price minus pricing_savings equals subtotal). Never part of order_total.

pricing_savings
number
read-only

Derived (display-only): SUM(pricing_rule_adjustment * qty) over non-kit lines (positive magnitude). Per-unit pricing-rule savings already baked into subtotal via sell_rate (ASC 606 transaction price); shown as an informational List-to-Subtotal bridge, never subtracted from order_total.

amount_paid
number
read-only

SSOT: utils/ar-helpers.mjs::updateARBalance. Do not write directly.

balance_due
number
read-only
tax_exempt
boolean
delivery_option
enum<string>
Available options:
ship,
pick_up,
local_delivery
notes
string | null
internal_notes
string | null
invoice_number
string | null
read-only
invoice_type
enum<string> | null
Available options:
order,
manual,
proforma,
correction
is_on_hold
boolean
read-only
hold_type
string | null
read-only
ship_complete
boolean
source_platform
string | null
external_order_id
string | null
external_order_number
string | null
metadata
object | null
created_at
string<date-time>
read-only
updated_at
string<date-time>
read-only