Get Shipping Method

Returns a single *Shipping Method* in a zone. Real Time Carrier Connections are also supported by this endpoint. ### Settings Objects A shipping methodʼs `type` and `settings` properties can match one of the following models: ### perorder Object – Properties Object model for flat-rate shipping quotes per order. | Name | Type | Description | | - | - | - | | rate | number | Flat rate per order. | #### JSON Example ```json { "name": "Flat Rate per Order", "type": "perorder", "settings": { "rate": 7 }, "channel_ids": [1] }, ``` ### peritem Object – Properties Object model for flat-rate shipping quotes per item ordered. | Name | Type | Description | | - | - | - | | rate | number | Flat rate per item. | #### JSON Example ```json { "name": "Flat Rate per Item", "type": "peritem", "settings": { "rate": 8 }, "channel_ids": [1] }, ``` ### weight Object – Properties Object model for shipping quotes by weight. | Name | Type | Description | | - | - | - | | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | range | number | Array of [range](#range-object--properties) objects. The units for these ranges' `lower_limit` and `upper_limit` properties depend on the default units set in the storeʼs control panel. | #### JSON Example ```json { "name": "Rate per Weight", "type": "weight", "settings": { "default_cost": 12, "default_cost_type": "fixed_amount", "range": [ { "lower_limit": 0, "upper_limit": 20, "shipping_cost": 8 }, { "lower_limit": 20, "upper_limit": 40, "shipping_cost": 12 } ] }, "channel_ids": [1] } ``` ### total Object – Properties Object model for shipping quotes by orderʼs total value. | Name | Type | Description | | - | - | - | | default_cost | number | null | Default shipping cost, applied either as a percentage of the orderʼs total value or as a fixed amount. If default cost is not required, you can supply a value of null. | | default_cost_type | string | How the default shipping cost is calculated; either `percentage_of_total` or `fixed_amount`. | | range | number | Array of [range](#range-object--properties) objects. The units for these ranges' `lower_limit` and `upper_limit` properties are values in the storeʼs currency. | #### JSON Example This example sets free shipping above a certain order total: ```json { "name": "Per Total or Free", "type": "total", "settings": { "default_cost": 12, "default_cost_type": "fixed_amount", "range": [ { "lower_limit": 0, "upper_limit": 5, "shipping_cost": 5 }, { "lower_limit": 5, "upper_limit": 10, "shipping_cost": 8 }, { "lower_limit": 10, "upper_limit": 20, "shipping_cost": 10 }, { "lower_limit": 20, "upper_limit": 49.99, "shipping_cost": 15 }, { "lower_limit": 50, "upper_limit": 100000, "shipping_cost": 0 } ] }, "channel_ids": [1] } ``` ### Range Object – Properties Object model to define ranges for shipping quotes. Units are defined in the parent object. | Property | Type | Description | | - | - | - | | lower_limit | number | Lower limit for order total. | | upper_limit | number | Upper limit for order total. | | shipping_cost | number | Shipping cost for orders whose total falls between the lower and upper limits. | #### JSON Example ```json { "lower_limit": 0, "upper_limit": 20, "shipping_cost": 8 } ``` ### Channels Example request body: ```json { "name": "Method associated to channels 1, 3", "type": "peritem", "settings": { "rate": 5 }, "channel_ids": [1, 3] } ``` | Property | Type | Description | | - | - | - | | channel_ids | array | Channels associated with the method as an array of integers. |

Authentication

X-Auth-Tokenstring
### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Information & Settings | modify | `store_v2_information` | | Information & Settings | read-only | `store_v2_information_read_only` | ### Authentication header | Header | Argument | Description | | - | - | - | | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

Path parameters

zone_idstringRequired
method_idstringRequired

Response

idintegerRead-only

Shipping method ID. Read-only.

namestring
Display name for shipping method.
typeenum
settingsobject

Depends on the shipping method type. See the supported settings object.

enabledboolean
Whether or not this shipping zone method is enabled.
handling_feesobject
is_fallbackboolean
Whether or not this shipping zone is the fallback if all others are not valid for the order.
channel_idslist of integers

List of channels associated to a method. When creating a new method, all available channels are associated by default. (Optional)