Skip to main content
POST
Create a shipping rule

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

Body

application/json
name
string
required
priority
integer
default:10

Lower runs first.

is_active
boolean
default:true
location_id
string<uuid> | null

Layer 4 per-location scope. NULL = entity-wide.

sales_channel_id
string<uuid> | null

Source-channel condition. NULL = applies to all channels.

product_category_id
string<uuid> | null

Category condition. When set, the rule wins over a non-category rule even at higher priority (TUF-TITE pattern).

min_weight
number
default:0

Inclusive weight band lower bound (lb).

max_weight
number
default:999999

Inclusive weight band upper bound (lb).

item_count_min
integer | null

Inclusive item-count band lower bound. NULL = no filter.

item_count_max
integer | null

Inclusive item-count band upper bound. NULL = no filter.

shipping_tokens
string[]

Allowed Shippo carrier service tokens. First = primary suggestion when preferred_service_token is unset.

preferred_service_token
string | null

Primary suggested Shippo service token (e.g. usps_ground_advantage).

preferred_carrier
string | null

Primary suggested carrier (USPS/UPS/FedEx/DHL Express).

free_shipping_threshold
number | null
flat_rate
number | null
auto_buy
boolean
default:false

When true and the rule resolves to one unambiguous service, Pack-with-Arcus auto-purchases the label.

absorb_cost
boolean | null

Per-rule cost-absorption override. NULL = use entity default; true = absorb (Freight Out GL); false = charge customer.

outcome
string | null

Freight-rule outcome (force_freight/force_parcel/etc). Presence marks a freight rule rather than a carrier-routing rule.

condition
object | null

Freight-rule condition JSONB (validated).

actions
object

Freight-rule actions (block_message / accessorials).

external_source
string | null

Migration provenance tag.

external_id
string | null

Response

Shipping rule created

The response is of type object.