For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
    • About Our APIs
  • REST
    • Overview
      • Overview
        • Abandoned Carts
        • Carts
        • Channels
        • Checkouts
        • Currencies
        • Customer Segmentation
        • Geography
        • Infrastructure Hosting
        • Inventory
        • Orders
        • Order Operations
        • Pickup
        • Pickup Methods
        • Pickup Options
        • Pricing
        • Price Lists
        • Promotions
        • Promotion Settings
        • Redirects
        • Scripts
        • Settings
        • Shipping
              • GETList Shipping Methods in Zone
              • POSTCreate Shipping Method
              • GETGet Shipping Method
              • PUTUpdate Shipping Method
              • DELDelete Shipping Method
        • Sites
        • Subscribers
        • System Logs
        • Tax
        • Wishlists
      • Payments
  • GraphQL
    • Overview
  • MCP
    • Overview
Dev Portal
LogoLogo
RESTAdminManagementShippingV2Shipping Method

Get Shipping Method

GET
https://api.bigcommerce.com/stores/:store_hash/v2/shipping/zones/:zone_id/methods/:method_id
GET
/stores/:store_hash/v2/shipping/zones/:zone_id/methods/:method_id
$curl https://api.bigcommerce.com/stores/store_hash/v2/shipping/zones/1/methods/1 \
> -H "Accept: application/json" \
> -H "X-Auth-Token: <apiKey>" \
> -H "Content-Type: application/json"
200Example 1
1{
2 "id": 1,
3 "name": "Standard Flat Rate Shipping",
4 "type": "perorder",
5 "settings": {
6 "rate": 12
7 },
8 "enabled": true,
9 "handling_fees": {
10 "fixed_surcharge": 2.5
11 },
12 "is_fallback": false,
13 "channel_ids": [
14 1
15 ]
16}
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 &#124; 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 &#124; 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. |
Was this page helpful?
Previous

Create Shipping Method

Next

Update Shipping Method

Built with

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.

NameTypeDescription
ratenumberFlat rate per order.

JSON Example

1{
2 "name": "Flat Rate per Order",
3 "type": "perorder",
4 "settings": {
5 "rate": 7
6 },
7 "channel_ids": [1]
8},

peritem Object – Properties

Object model for flat-rate shipping quotes per item ordered.

NameTypeDescription
ratenumberFlat rate per item.

JSON Example

1{
2 "name": "Flat Rate per Item",
3 "type": "peritem",
4 "settings": {
5 "rate": 8
6 },
7 "channel_ids": [1]
8},

weight Object – Properties

Object model for shipping quotes by weight.

NameTypeDescription
default_costnumber | nullDefault 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_typestringHow the default shipping cost is calculated; either percentage_of_total or fixed_amount.
rangenumberArray of range 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

1{
2 "name": "Rate per Weight",
3 "type": "weight",
4 "settings": {
5 "default_cost": 12,
6 "default_cost_type": "fixed_amount",
7 "range": [
8 {
9 "lower_limit": 0,
10 "upper_limit": 20,
11 "shipping_cost": 8
12 },
13 {
14 "lower_limit": 20,
15 "upper_limit": 40,
16 "shipping_cost": 12
17 }
18 ]
19 },
20 "channel_ids": [1]
21}

total Object – Properties

Object model for shipping quotes by orderʼs total value.

NameTypeDescription
default_costnumber | nullDefault 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_typestringHow the default shipping cost is calculated; either percentage_of_total or fixed_amount.
rangenumberArray of range 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:

1{
2 "name": "Per Total or Free",
3 "type": "total",
4 "settings": {
5 "default_cost": 12,
6 "default_cost_type": "fixed_amount",
7 "range": [
8 {
9 "lower_limit": 0,
10 "upper_limit": 5,
11 "shipping_cost": 5
12 },
13 {
14 "lower_limit": 5,
15 "upper_limit": 10,
16 "shipping_cost": 8
17 },
18 {
19 "lower_limit": 10,
20 "upper_limit": 20,
21 "shipping_cost": 10
22 },
23 {
24 "lower_limit": 20,
25 "upper_limit": 49.99,
26 "shipping_cost": 15
27 },
28 {
29 "lower_limit": 50,
30 "upper_limit": 100000,
31 "shipping_cost": 0
32 }
33 ]
34 },
35 "channel_ids": [1]
36}

Range Object – Properties

Object model to define ranges for shipping quotes. Units are defined in the parent object.

PropertyTypeDescription
lower_limitnumberLower limit for order total.
upper_limitnumberUpper limit for order total.
shipping_costnumberShipping cost for orders whose total falls between the lower and upper limits.

JSON Example

1{
2 "lower_limit": 0,
3 "upper_limit": 20,
4 "shipping_cost": 8
5}

Channels

Example request body:

1{
2 "name": "Method associated to channels 1, 3",
3 "type": "peritem",
4 "settings": {
5 "rate": 5
6 },
7 "channel_ids": [1, 3]
8}
PropertyTypeDescription
channel_idsarrayChannels 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-fundamentals/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-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/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_idintegerRequired
ID of the shipping zone.
method_idintegerRequired
ID of the shipping method within the shipping zone.
store_hashstringRequired
Permanent ID of the BigCommerce store.

Headers

AcceptstringRequiredDefaults to application/json
The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

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)

OAuth scopes

UI NamePermissionParameter
Information & Settingsmodifystore_v2_information
Information & Settingsread-onlystore_v2_information_read_only

Authentication header

HeaderArgumentDescription
X-Auth-Tokenaccess_tokenFor more about API accounts that generate access_tokens, see our Guide to API Accounts.

Further reading

For example requests and more information about authenticating BigCommerce APIs, see Authentication and Example Requests.

For more about BigCommerce OAuth scopes, see our Guide to API Accounts.

For a list of API status codes, see API Status Codes.

The MIME type of the response body.