Medusa
Store APIAdmin API
Store APIAdmin API
Discord
Twitter
Linkedin
Github
  1. Shipping Options
  • Introduction
  • Authentication
  • HTTP Compression
  • Publishable API Key
  • Expanding Fields
  • Selecting Fields
  • Query Parameter Types
  • Pagination
  • Currencies
    • List Currencies
      GET
    • Get a Currency
      GET
  • Payment Providers
    • List Payment Providers
      GET
  • Return Reasons
    • List Return Reasons
      GET
    • Get a Return Reason
      GET
  • Auth
    • Retrieve Registration JWT Token
      POST
    • Authenticate Customer
      POST
    • Generate Reset Password Token for Customer
      POST
    • Refresh Authentication Token
      POST
    • Validate Authentication Callback
      POST
    • Delete Authentication Session
      DELETE
    • Set Authentication Session
      POST
    • Reset a Customer's Password
      POST
  • Collections
    • List Collections
      GET
    • Get a Collection
      GET
  • Regions
    • List Regions
    • Get a Region
  • Products
    • List Products
    • Get a Product
  • Customers
    • Get Logged-in Customer
    • Update Customer
    • Create Address for Logged-In Customer
    • List Customer's Addresses
    • Get Customer's Address
    • Update Customer's Address
    • Remove Customer's Address
    • Register Customer
  • Product Tags
    • List Product Tags
    • Get a Product Tag
  • Returns
    • Create Return
  • Product Types
    • Get a Product Type
    • List Product Types
  • Product Categories
    • List Product Categories
    • Get a Product Category
  • Carts
    • Create Cart
    • Set Cart's Customer
    • Add Shipping Method to Cart
    • Add Line Item to Cart
    • Calculate Cart Taxes
    • Get a Cart
    • Update a Cart
    • Update a Line Item in a Cart
    • Remove Line Item from Cart
    • Complete Cart
    • Add Promotions to Cart
    • Remove Promotions from Cart
  • Orders
    • List Logged-in Customer's Orders
    • Request Order Transfer
    • Get an Order
    • Cancel Order Transfer
    • Decline Order Transfer
    • Accept Order Transfer
  • Payment Collections
    • Initialize Payment Session of a Payment Collection
    • Create Payment Collection
  • Shipping Options
    • Calculate Shipping Option Price
      POST
    • List Shipping Options for Cart
      GET
  1. Shipping Options

Calculate Shipping Option Price

POST
/store/shipping-options/{id}/calculate
Shipping Options
Calculate the price of a shipping option in a cart.
Request Request Example
JavaScript
Shell
Java
Swift
curl --location -g --request POST '{{BASE_URL}}/store/shipping-options//calculate' \
--header 'x-publishable-api-key;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "cart_id": "string",
    "data": {}
}'
Response Response Example
200 - Example 1
{
    "shipping_option": {
        "id": "string",
        "name": "string",
        "service_zone_id": "string",
        "provider_id": "string",
        "shipping_profile_id": "string",
        "amount": 0,
        "insufficient_inventory": true,
        "price_type": "flat",
        "data": {},
        "provider": {
            "id": "string",
            "is_enabled": true
        },
        "type": {
            "id": "string",
            "label": "string",
            "description": "string",
            "code": "string"
        },
        "calculated_price": {
            "id": "string",
            "is_calculated_price_price_list": true,
            "calculated_amount": 0,
            "calculated_amount_with_tax": 0,
            "calculated_amount_without_tax": 0,
            "is_original_price_price_list": true,
            "original_amount": 0,
            "currency_code": "string",
            "original_amount_with_tax": 0,
            "original_amount_without_tax": 0,
            "is_calculated_price_tax_inclusive": true,
            "is_original_price_tax_inclusive": true,
            "calculated_price": {
                "id": "string",
                "price_list_id": "string",
                "price_list_type": "string",
                "min_quantity": 0,
                "max_quantity": 0
            },
            "original_price": {
                "id": "string",
                "price_list_id": "string",
                "price_list_type": "string",
                "min_quantity": 0,
                "max_quantity": 0
            }
        },
        "prices": [
            {
                "id": "string",
                "currency_code": "usd",
                "amount": 0,
                "min_quantity": 0,
                "max_quantity": 0,
                "price_rules": [
                    {
                        "id": "string",
                        "attribute": "string",
                        "value": "string",
                        "operator": "gt"
                    }
                ]
            }
        ]
    }
}

Request

Path Params
id
string 
required
The shipping option's ID.
Query Params
fields
string 
fields
optional
Comma-separated fields that should be included in the returned data.
if a field is prefixed with + it will be added to the default fields, using - will remove it from the default fields.
without prefix it will replace the entire default fields.
Header Params
x-publishable-api-key
string 
required
Publishable API Key created in the Medusa Admin.
Body Params application/json
The calculation's details.
cart_id
string 
cart_id
required
The ID of the cart the shipping option is used in.
data
object 
optional
Custom data that's useful for the fulfillment provider to calculate the price.
Examples

Responses

🟢200OK
application/json
OK
Body
The shipping option's details.
shipping_option
object (StoreCartShippingOption) 
required
The shipping option's details.
id
string 
id
required
The shipping option's ID.
name
string 
name
required
The shipping option's name.
service_zone_id
string 
service_zone_id
required
The ID of the service zone the shipping option belongs to.
provider_id
string 
provider_id
required
The ID of the fulfillment provider handling this option.
shipping_profile_id
string 
shipping_profile_id
required
The ID of the associated shipping profile.
amount
number 
amount
required
The shipping option's amount.
insufficient_inventory
boolean 
insufficient_inventory
required
Whether the shipping option's location doesn't have sufficient quantity for any of the cart's items.
price_type
enum<string> 
required
The shipping option's price type. If it's flat, the price is fixed and is set in the prices property. If it's calculated, the price is calculated on checkout by the associated fulfillment provider.
Allowed values:
flatcalculated
data
object 
required
The shipping option's data, useful for the provider handling fulfillment.
provider
object 
required
The fulfillment provider's details.
type
object 
required
The shipping option type's details.
calculated_price
object (StoreCalculatedPrice) 
required
The shipping option's calculated price.
prices
array[object (StorePrice) {6}] 
required
The shipping option's prices.
🟠400Bad Request
🟠401Unauthorized
🟠404Record Not Found
🟠409409
🟠422Parameter Error
🔴500Server Error
Modified at 2025-06-17 04:21:30
Previous
Create Payment Collection
Next
List Shipping Options for Cart
Built with