Skip to main content
POST
Set Shipping Method
Select shipping methods at the shipment level, enabling different shipping speeds and costs for each shipment in a multi-shipment cart.
Default Selection: When a cart is created or shipping information is set, Firmly automatically selects the cheapest available shipping method for each shipment. You only need to call this endpoint if you want to change from the default selection.

Request

string
required
The merchant’s domain (e.g. staging.luma.gift)
string
required
Device authentication token for session identification
string
required
Target shipment identifier
string
required
Selected method ID from the shipment’s shipping_method_options
string
Special delivery instructions for this shipment
string
For scheduled delivery, the selected date in YYYY-MM-DD format

Response

Returns the updated shopping cart with the selected shipping method applied.
array
Array of shipments with updated shipping methodShipment Properties:
  • shipment_id (string): Unique shipment identifier
  • shipping_method (object): Selected shipping method details
    • id (string): Method identifier
    • description (string): Method display name
    • price (object): Shipping cost for this method
    • estimated_delivery (string): Delivery time estimate
  • notes (string): Stored delivery instructions
  • selected_date (string): Selected delivery date (for scheduled delivery)
object
Updated total shipping cost across all shipments
object
Updated cart total including new shipping costs

Shipping Method Types

Important: Firmly does not standardize shipping method IDs or names. The values shown in examples are for illustration only. Each merchant defines their own shipping method IDs and descriptions, which Firmly exposes exactly as provided by the merchant’s platform.
Available shipping methods are dynamic and depend on:
  • The merchant’s shipping configuration
  • Shipment fulfillment type
  • Item characteristics and requirements
  • Destination address
  • Merchant-specific business rules

Example Method Patterns

These are common patterns you might encounter, but actual values will vary by merchant:
  • Ground shipping (e.g., “standard”, “ground”, “regular”)
  • Express options (e.g., “2day”, “express”, “priority”)
  • Overnight delivery (e.g., “overnight”, “nextday”, “1day”)
  • Economy options (e.g., “economy”, “basic”, “saver”)

Examples

V2 Multi-Shipment Scenarios

V2’s shipment-level method selection enables complex fulfillment scenarios where different items have different shipping speeds and costs.

Mixed Shipping Speeds

Cost Optimization

Method Selection Process

1

Get Available Options

Use Get Cart to retrieve shipping_method_options for each shipment
2

Choose Method

Select an id from the available options based on cost/speed preference
3

Set Method

Call this endpoint with the selected shipping_method_id
4

Verify Selection

Check response for updated shipping_method and recalculated totals

Behavior Notes

  • The shipping_method_id must exactly match an ID from the shipment’s current shipping_method_options
  • Method IDs are case-sensitive and must match the merchant’s values exactly
  • Available methods and their IDs are determined entirely by the merchant
  • Changing fulfillment type clears the selected shipping method
  • Shipping costs automatically recalculate for the entire cart
  • Date validation applies only to scheduled delivery fulfillment types

Next Steps

After setting shipping methods:
  1. For Standard Shipping: Proceed to set shipping address
  2. For Scheduled Delivery: May need to select specific time slot
  3. For Pickup: Confirm pickup time and proceed to checkout

Error Codes