Skip to main content

Shipping Zone API

Shipping zones define geographic regions and the shipping methods available to them. Each zone can have multiple shipping methods with different pricing models.

Endpoints

Create a Shipping Zone

Creates a new shipping zone with a name, country, and optional province restrictions.

Request Schema (application/json)
Field NameField TypeRequired
namestringYes
countrystringYes
provincesarray of stringNo
POST/api/shippingZones
curl
-H "Accept: application/json"
-H "Authorization: Bearer <admin JWT token>"
--data-raw '<JSON DATA>'
https://<your domain>/api/shippingZones
Sample Of Response
{
"data": {
"shipping_zone_id": 3,
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "US West Coast",
"country": "US",
"provinces": ["CA", "OR", "WA"]
}
}

Update a Shipping Zone

Updates an existing shipping zone.

Request Schema (application/json)
Field NameField TypeRequired
namestringYes
countrystringYes
provincesarray of stringNo
PATCH/api/shippingZones/{id}
curl
-H "Accept: application/json"
-H "Authorization: Bearer <admin JWT token>"
--data-raw '<JSON DATA>'
https://<your domain>/api/shippingZones/{id}
Sample Of Response
{
"data": {
"shipping_zone_id": 3,
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "US West Coast Updated"
}
}

Delete a Shipping Zone

Permanently removes a shipping zone and all its associated methods.

Request Schema (application/json)
No request body required
DELETE/api/shippingZones/{id}
curl
-H "Accept: application/json"
-H "Authorization: Bearer <admin JWT token>"
https://<your domain>/api/shippingZones/{id}
Sample Of Response
{
"data": {
"success": true
}
}

Zone Methods

Add Method to Shipping Zone

Adds a shipping method to a zone with pricing and condition rules.

Request Schema (application/json)
Field NameField TypeRequired
method_idstringYes
coststring or numberNo
is_enabledinteger or string or boolean (0, 1, '0', '1', true, false)No
calculation_typestring (flat_rate, price_based_rate, weight_based_rate, api)No
condition_typestring (weight, price, none)Yes
minstring or numberNo
maxstring or numberNo
POST/api/shippingZones/{id}/methods
curl
-H "Accept: application/json"
-H "Authorization: Bearer <admin JWT token>"
--data-raw '<JSON DATA>'
https://<your domain>/api/shippingZones/{id}/methods
Sample Of Response
{
"data": {
"method_id": "standard_shipping",
"zone_id": 3,
"cost": 5.99,
"is_enabled": true,
"calculation_type": "flat_rate",
"condition_type": "none"
}
}

Update Zone Method

Updates an existing shipping method within a zone.

Request Schema (application/json)
Field NameField TypeRequired
coststring or numberNo
is_enabledinteger or string or boolean (0, 1, '0', '1', true, false)No
calculation_typestring (flat_rate, price_based_rate, weight_based_rate, api)Yes
condition_typestring (weight, price, none)Yes
PATCH/api/shippingZones/{zone_id}/methods/{method_id}
curl
-H "Accept: application/json"
-H "Authorization: Bearer <admin JWT token>"
--data-raw '<JSON DATA>'
https://<your domain>/api/shippingZones/{zone_id}/methods/{method_id}
Sample Of Response
{
"data": {
"method_id": "standard_shipping",
"cost": 7.99
}
}

Delete Zone Method

Removes a shipping method from a zone.

Request Schema (application/json)
No request body required
DELETE/api/shippingZones/{zone_id}/methods/{method_id}
curl
-H "Accept: application/json"
-H "Authorization: Bearer <admin JWT token>"
https://<your domain>/api/shippingZones/{zone_id}/methods/{method_id}
Sample Of Response
{
"data": {
"success": true
}
}