--- displayed_sidebar: jsClientSidebar slug: /references/js-client/ShippingOptionsResource --- import ParameterTypes from "@site/src/components/ParameterTypes" # ShippingOptionsResource This class is used to send requests to [Store Shipping Option API Routes](https://docs.medusajs.com/api/store#shipping-options). All its method are available in the JS Client under the `medusa.shippingOptions` property. A shipping option is used to define the available shipping methods during checkout or when creating a return. Related Guide: [Shipping Option architecture](https://docs.medusajs.com/modules/carts-and-checkout/shipping#shipping-option). ## Methods ### list Retrieve a list of shipping options. The shipping options can be filtered using the `query` parameter. #### Example ```ts import Medusa from "@medusajs/medusa-js" const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 }) medusa.shippingOptions.list().then(({ shipping_options }) => { console.log(shipping_options.length) }) ``` #### Parameters ", "description": "Custom headers to attach to the request.", "optional": false, "defaultValue": "{}", "expandable": false, "children": [] } ]} /> #### Returns ", "optional": false, "defaultValue": "", "description": "Resolves to the list of shipping options.", "expandable": false, "children": [ { "name": "StoreShippingOptionsListRes", "type": "`object`", "description": "The list of shipping options.", "optional": false, "defaultValue": "", "expandable": false, "children": [ { "name": "shipping_options", "type": "[`PricedShippingOption`](../modules/internal.mdx#pricedshippingoption)[]", "description": "An array of shipping options details.", "optional": false, "defaultValue": "", "expandable": false, "children": [ { "name": "admin_only", "type": "`boolean`", "description": "Flag to indicate if the Shipping Option usage is restricted to admin users.", "optional": false, "defaultValue": "false", "expandable": false, "children": [] }, { "name": "amount", "type": "``null`` \\| `number`", "description": "The amount to charge for shipping when the Shipping Option price type is `flat_rate`.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "created_at", "type": "`Date`", "description": "The date with timezone at which the resource was created.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "data", "type": "Record<`string`, `unknown`\\>", "description": "The data needed for the Fulfillment Provider to identify the Shipping Option.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "deleted_at", "type": "``null`` \\| `Date`", "description": "The date with timezone at which the resource was deleted.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "id", "type": "`string`", "description": "The shipping option's ID", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "includes_tax", "type": "`boolean`", "description": "Whether the shipping option price include tax", "optional": false, "defaultValue": "false", "expandable": false, "featureFlag": "tax_inclusive_pricing", "children": [] }, { "name": "is_return", "type": "`boolean`", "description": "Flag to indicate if the Shipping Option can be used for Return shipments.", "optional": false, "defaultValue": "false", "expandable": false, "children": [] }, { "name": "metadata", "type": "Record<`string`, `unknown`\\>", "description": "An optional key-value map with additional details", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "name", "type": "`string`", "description": "The name given to the Shipping Option - this may be displayed to the Customer.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "price_type", "type": "[`ShippingOptionPriceType`](../internal/enums/internal.internal.ShippingOptionPriceType.mdx)", "description": "The type of pricing calculation that is used when creatin Shipping Methods from the Shipping Option. Can be `flat_rate` for fixed prices or `calculated` if the Fulfillment Provider can provide price calulations.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "profile", "type": "[`ShippingProfile`](../internal/classes/internal.ShippingProfile.mdx)", "description": "The details of the shipping profile that the shipping option belongs to.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "profile_id", "type": "`string`", "description": "The ID of the Shipping Profile that the shipping option belongs to.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "provider", "type": "[`FulfillmentProvider`](../internal/classes/internal.internal.FulfillmentProvider.mdx)", "description": "The details of the fulfillment provider that will be used to later to process the shipping method created from this shipping option and its fulfillments.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "provider_id", "type": "`string`", "description": "The ID of the fulfillment provider that will be used to later to process the shipping method created from this shipping option and its fulfillments.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "region", "type": "[`Region`](../internal/classes/internal.Region.mdx)", "description": "The details of the region this shipping option can be used in.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "region_id", "type": "`string`", "description": "The ID of the region this shipping option can be used in.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "requirements", "type": "[`ShippingOptionRequirement`](../internal/classes/internal.internal.ShippingOptionRequirement.mdx)[]", "description": "The details of the requirements that must be satisfied for the Shipping Option to be available for usage in a Cart.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "updated_at", "type": "`Date`", "description": "The date with timezone at which the resource was updated.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "price_incl_tax", "type": "`number` \\| ``null``", "description": "Price including taxes", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "tax_amount", "type": "`number`", "description": "The taxes applied.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "tax_rates", "type": "[`TaxServiceRate`](../modules/internal.mdx#taxservicerate)[] \\| ``null``", "description": "An array of applied tax rates", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ] } ] } ] } ]} /> ___ ### listCartOptions Retrieve a list of shipping options available for a cart. #### Example ```ts import Medusa from "@medusajs/medusa-js" const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 }) medusa.shippingOptions.listCartOptions(cartId).then(({ shipping_options }) => { console.log(shipping_options.length) }) ``` #### Parameters ", "description": "Custom headers to attach to the request.", "optional": false, "defaultValue": "{}", "expandable": false, "children": [] } ]} /> #### Returns ", "optional": false, "defaultValue": "", "description": "Resolves to the list of shipping options.", "expandable": false, "children": [ { "name": "StoreShippingOptionsListRes", "type": "`object`", "description": "The list of shipping options.", "optional": false, "defaultValue": "", "expandable": false, "children": [ { "name": "shipping_options", "type": "[`PricedShippingOption`](../modules/internal.mdx#pricedshippingoption)[]", "description": "An array of shipping options details.", "optional": false, "defaultValue": "", "expandable": false, "children": [ { "name": "admin_only", "type": "`boolean`", "description": "Flag to indicate if the Shipping Option usage is restricted to admin users.", "optional": false, "defaultValue": "false", "expandable": false, "children": [] }, { "name": "amount", "type": "``null`` \\| `number`", "description": "The amount to charge for shipping when the Shipping Option price type is `flat_rate`.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "created_at", "type": "`Date`", "description": "The date with timezone at which the resource was created.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "data", "type": "Record<`string`, `unknown`\\>", "description": "The data needed for the Fulfillment Provider to identify the Shipping Option.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "deleted_at", "type": "``null`` \\| `Date`", "description": "The date with timezone at which the resource was deleted.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "id", "type": "`string`", "description": "The shipping option's ID", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "includes_tax", "type": "`boolean`", "description": "Whether the shipping option price include tax", "optional": false, "defaultValue": "false", "expandable": false, "featureFlag": "tax_inclusive_pricing", "children": [] }, { "name": "is_return", "type": "`boolean`", "description": "Flag to indicate if the Shipping Option can be used for Return shipments.", "optional": false, "defaultValue": "false", "expandable": false, "children": [] }, { "name": "metadata", "type": "Record<`string`, `unknown`\\>", "description": "An optional key-value map with additional details", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "name", "type": "`string`", "description": "The name given to the Shipping Option - this may be displayed to the Customer.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "price_type", "type": "[`ShippingOptionPriceType`](../internal/enums/internal.internal.ShippingOptionPriceType.mdx)", "description": "The type of pricing calculation that is used when creatin Shipping Methods from the Shipping Option. Can be `flat_rate` for fixed prices or `calculated` if the Fulfillment Provider can provide price calulations.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "profile", "type": "[`ShippingProfile`](../internal/classes/internal.ShippingProfile.mdx)", "description": "The details of the shipping profile that the shipping option belongs to.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "profile_id", "type": "`string`", "description": "The ID of the Shipping Profile that the shipping option belongs to.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "provider", "type": "[`FulfillmentProvider`](../internal/classes/internal.internal.FulfillmentProvider.mdx)", "description": "The details of the fulfillment provider that will be used to later to process the shipping method created from this shipping option and its fulfillments.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "provider_id", "type": "`string`", "description": "The ID of the fulfillment provider that will be used to later to process the shipping method created from this shipping option and its fulfillments.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "region", "type": "[`Region`](../internal/classes/internal.Region.mdx)", "description": "The details of the region this shipping option can be used in.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "region_id", "type": "`string`", "description": "The ID of the region this shipping option can be used in.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "requirements", "type": "[`ShippingOptionRequirement`](../internal/classes/internal.internal.ShippingOptionRequirement.mdx)[]", "description": "The details of the requirements that must be satisfied for the Shipping Option to be available for usage in a Cart.", "optional": false, "defaultValue": "", "expandable": true, "children": [] }, { "name": "updated_at", "type": "`Date`", "description": "The date with timezone at which the resource was updated.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "price_incl_tax", "type": "`number` \\| ``null``", "description": "Price including taxes", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "tax_amount", "type": "`number`", "description": "The taxes applied.", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "tax_rates", "type": "[`TaxServiceRate`](../modules/internal.mdx#taxservicerate)[] \\| ``null``", "description": "An array of applied tax rates", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ] } ] } ] } ]} />