Docs
Firmly Agentic Commerce
Set theme to dark (⇧+D)

Shipment Configuration

The Shipment Configuration API provides endpoints to manage how shipments are fulfilled and delivered.

​​ Overview

This API allows you to:

  • Set Fulfillment Type: Configure how each shipment will be fulfilled (standard shipping, scheduled delivery, or in-store pickup)
  • Set Shipping Method: Select the shipping method for a shipment — including scheduled date / time slot when applicable
  • Get Availability: Query available dates and time slots for scheduled delivery

​​ Available Endpoints

​​ Fulfillment Types

Each shipment can be configured with one of these fulfillment types:

​​ SHIP_TO_ADDRESS

Standard shipping to the buyer’s address. Requires a shipping method to be selected.

​​ SCHEDULED_DELIVERY

Delivery with appointment scheduling. Use Get Availability to fetch eligible dates / time slots, then pass them to Set Shipping Method.

​​ PICKUP_IN_STORE

Buyer pickup at a store location (availability depends on merchant support). The pickup location_id is passed in the same Set Fulfillment Type call.

​​ Prerequisite

Set Shipping Info must be called first. Until then, the cart has shipments: [] and the endpoints on this page have nothing to operate on.

​​ Workflow

​​ Set Shipping Info

Call Set Shipping Info to populate the cart’s shipments array. The response carries the initial fulfillment_type and shipping_method the merchant selected for each shipment.

​​ (Optional) Set Fulfillment Type

Change the fulfillment type for a shipment if the merchant default isn’t what the buyer wants. For PICKUP_IN_STORE, include location_id in the same request.

​​ (Optional) Configure Delivery

  • SHIP_TO_ADDRESS — Call Set Shipping Method with shipping_method_id if the buyer wants a different method than the merchant default.
  • SCHEDULED_DELIVERY — Call Get Availability to retrieve eligible dates/time slots, then Set Shipping Method with shipping_method_id plus selected_date and/or selected_time_slot.
  • PICKUP_IN_STORE — Already handled in Set Fulfillment Type via location_id; no additional call required for the pickup itself.

​​ Defaults

When shipments are first created (after Set Shipping Info), each shipment is initialized with whatever fulfillment_type and shipping_method the merchant returns. The buyer-facing UI typically only needs to call the Set endpoints when the buyer wants to change those defaults.