Search Documentation
Search for a documentation page...
Shipping API
REST API endpoints for managing shipping methods shown at checkout.
Shipping methods are the delivery options customers choose at checkout. Each method has a delivery type, a price, optional free-shipping threshold, an option to ship orders with a subscription free, delivery-time estimates, country restrictions, an associated tax rate, and per-currency price overrides for multi-currency stores.
Shipping methods can optionally be linked to a carrier addon (GLS, InPost, or Furgonetka). Linked pickup_point or parcel rates show the carrier's point picker at checkout. See the Addons API for managing carrier connections.
List Shipping Methods
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | number | 10 | Methods per page (1-100) |
offset | number | 0 | Methods to skip |
query | string | – | Search by method name or description |
Response
Create Shipping Method
Creates a checkout delivery option. Prices are in the store's primary currency; use currencyPrices to override per currency on multi-currency stores.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name shown at checkout, e.g. Standard courier |
description | string | No | Optional description shown at checkout |
type | "courier" | "parcel" | "pickup_point" | "in_store" | Yes | Delivery type |
price | number | Yes | Shipping price in the store's primary currency |
freeShippingThreshold | number | No | Order subtotal above which this method is free (store currency) |
freeWithSubscription | boolean | No | Free, whatever the threshold, for any order holding a subscription product (the whole order, one-time products included), and so for every renewal of the subscriptions sold with it. Subscriptions sold before it was turned on keep the shipping they were sold with. Default false; updates are full-replace, so omitting it on PATCH turns it off |
minShippingTime | number | No | Minimum delivery time in days |
maxShippingTime | number | No | Maximum delivery time in days |
countries | string[] | No | ISO country codes this method ships to (empty = all) |
taxRateId | string | No | Tax rate UUID to apply to this shipping method |
position | number | No | Sort order at checkout (lower shows first) |
currencyPrices | object | No | Per-currency overrides ({ "EUR": { "price": 9, "freeShippingThreshold": 90 } }) |
addonName | "gls" | "inpost" | "furgonetka" | No | Carrier addon to link – must be connected first (see Addons API). Linked pickup_point/parcel rates show the carrier's point picker at checkout. Updates are full-replace – omitting addonName/addonData on PATCH unlinks the carrier, so resend them when changing other fields. |
addonData | object | No | Carrier payload for the rate. Optional for gls/inpost (derived automatically); required for furgonetka (pass { id, name, service } from the Furgonetka services list). |
Response (201)
Get Shipping Method
Returns a single shipping method by UUID, including its tax rate and per-currency prices.
Response
Update Shipping Method
Replaces the shipping method's fields. Uses the same body as Create Shipping Method.
Request Body
Same fields as Create Shipping Method.
Response (200)
Delete Shipping Method
Hard-deletes the shipping method by UUID.