Tamio

Update a shipping method

POST https://api.tamio.com/v2/shippings/update/{uuid}

Updates an existing shipping method identified by its UUID. All core fields are required. Bundling rules are fully replaced on each update.

Path Parameters

uuid string*

UUID of the shipping method to update.

Body Parameters

label string*

Display name for the shipping method.

price integer*

Base shipping price in smallest currency unit (e.g. cents).

currency string*

ISO currency code.

active boolean*

Whether this shipping method is available for selection.

destination array of string*

Country or region codes where shipping is available (ISO 3166-1 alpha-2).

states array of string

State/province restrictions within destinations.

postcodes array of string

Postcode restrictions (up to 10 characters each).

bundling_rules array of BundlingRuleInput

Quantity-based pricing tiers for multi-item orders. Each rule is either a range (from–to) or a max (up to N items) type. Only one max rule is allowed. Ranges must not overlap.

JSON
{ "bundling_rules": [ { "cost": 200, "cost_rule": "fixed", "type": "range", "max": null, "from": 2, "to": 5 } ] }
cost integer*

Shipping cost for this tier (smallest currency unit).

cost_rule string*

unit — cost per item; fixed — flat rate for the tier.

unitfixed
type string*

range — quantity between from and to; max — quantity up to max.

rangemax
max integer

Maximum quantity (required when type is max, null otherwise).

from integer

Starting quantity (required when type is range, null otherwise).

to integer

Ending quantity (required when type is range, null otherwise).

Responses

200 Shipping method updated

Shipping method updated

status integer
shipping Shipping
400 Validation or business-logic error.
401 Missing or invalid API key
/shippings/update/{uuid}
1const response = await fetch("https://api.tamio.com/v2/shippings/update/{uuid}", {
2 method: "POST",
3 headers: {
4 "Authorization": "Bearer YOUR_API_KEY",
5 "Content-Type": "application/json"
6 },
7 body: JSON.stringify({
8 "label": "Standard Delivery",
9 "price": 500,
10 "currency": "EUR",
11 "active": true,
12 "destination": [
13 "US",
14 "GB",
15 "DE"
16 ],
17 "states": [
18 "CA",
19 "NY"
20 ],
21 "postcodes": [
22 "90210",
23 "10001"
24 ],
25 "bundling_rules": [
26 {
27 "cost": 200,
28 "cost_rule": "fixed",
29 "type": "range",
30 "max": null,
31 "from": 2,
32 "to": 5
33 }
34 ]
35 })
36});
37const data = await response.json();
Responses
{
  "status": 200,
  "shipping": {
    "id": "999e4567-e89b-12d3-a456-426614174000",
    "label": "Standard Delivery",
    "object": "shipping",
    "currency": "EUR",
    "destination": [
      "US",
      "GB",
      "DE"
    ],
    "price": 500,
    "has_bundling": true,
    "postcodes": [
      "90210",
      "10001"
    ],
    "states": [
      "CA",
      "NY"
    ],
    "bundling_rules": [
      {
        "type": "range",
        "cost": 200,
        "cost_rule": "fixed",
        "max": null,
        "from": 2,
        "to": 5
      }
    ],
    "active": true,
    "has_notes": false
  }
}