Developers
Start building
AI/Tool reference/Orders/Shipping

Shipping

The 19 tools of the Shipping toolset in the Orders area, with their permissions, approval rules and inputs.

On this page

Toolset shipping, 19 tools.

Records

courier

Every courier the store ships with or could add: the built-in manual delivery and each courier app, whether the app is installed, switched on and set up, the locations it is connected to, its services (parcel locker, home delivery) and whether a new shipping option can use it and checkout offers it. id is the provider_id a new shipping option takes; it is null until the app is installed.

  • Permission: settings.read
  • Tools: courier_list

Filters on the list:

FilterTypeRequiredDescription
stock_location_idstringOnly report connections to this location, e.g. the location of a shipping zone

fulfillment_provider

A carrier app or the manual provider that ships orders. get adds the options it offers, which a shipping option names in its data.

  • Permission: settings.read
  • Tools: fulfillment_provider_list, fulfillment_provider_get

Filters on the list:

FilterTypeRequiredDescription
is_enabledboolean
stock_location_idstring

shipping_option

A delivery method customers pick at checkout, or a return method, as the admin shows it: its courier, pricing, prices, whether checkout shows it, its conditions, zone, location and shipping profile, plus the ids the write tools take. The courier of an existing option is fixed. With order_id, the options that order can use.

  • Permission: settings.read
  • Tools: shipping_option_list, shipping_option_get
  • Sorts: created_at, name

Filters on the list:

FilterTypeRequiredDescription
order_idstringOnly the options that can ship this order, e.g. for a return or an edit
qstring
service_zone_idstring
shipping_profile_idstring
stock_location_idstring
is_returnbooleanReturn options only, or outbound only

shipping_option_type

A label shipping options are grouped under, e.g. Standard or Express.

  • Permission: settings.read
  • Tools: shipping_option_type_list, shipping_option_type_get
  • Sorts: created_at, label

Filters on the list:

FilterTypeRequiredDescription
qstring
codestring

shipping_profile

A group of products that ship the same way; every shipping option belongs to one profile.

  • Permission: settings.read
  • Tools: shipping_profile_list, shipping_profile_get
  • Sorts: created_at, name

Filters on the list:

FilterTypeRequiredDescription
qstring
typestring

Actions

shipping_option_create

Add a delivery or return method to a service zone.

provider_id is the id of a courier from courier_list that is connected to the location of the zone, and data is {"id": <one of its services>}; service_zone_id from shipping_option_list or fulfillment_set_list. Give type_id of an existing shipping option type or a new type, not both. A rule enabled_in_store eq "true" shows it at checkout; is_return eq "true" makes it a return method.

  • Action key: shipping_option.create
  • Permission: settings.write
  • Approval: Waits for approval when the store requires it for this action.
  • Effect: Changes the live store.
  • Retries: runs at most once; a repeat with the same idempotency key returns the first result.
FieldTypeRequiredDescription
namestringyesat least 1 characters
service_zone_idstringyes
shipping_profile_idstringyes
provider_idstringyes
price_typestringyesone of "flat", "calculated"
priceslist of object, one shape of:yesFlat prices per currency or region; empty for calculated
type_idstring
typeobject
type.labelstringyes
type.codestringyes
type.descriptionstring
ruleslist of object
rules[].attributestringyese.g. enabled_in_store or is_return
rules[].operatorstringyesone of "in", "eq", "ne", "gt", "gte", "lt", "lte", "nin"
rules[].valuestring or list of stringyes
datamap of string or number or boolean or list of any value or map of any value or nullThe provider option chosen

Example input:

{
  "name": "Home delivery",
  "service_zone_id": "019bb6f0-e6c3-7b49-9df3-11f85d8b1249",
  "shipping_profile_id": "019bb73d-bcc5-7993-83c9-5c9a9f7ada5a",
  "provider_id": "manual_manual",
  "price_type": "flat",
  "prices": [
    {
      "currency_code": "huf",
      "amount": 1490
    }
  ],
  "type_id": "019bb738-31cf-70f8-a14c-805d6a641a07",
  "rules": [
    {
      "attribute": "enabled_in_store",
      "operator": "eq",
      "value": "true"
    }
  ]
}

shipping_option_delete

Delete a shipping option; customers can no longer pick it.

  • Action key: shipping_option.delete
  • Permission: settings.write
  • Approval: Always waits for a person to approve it.
  • Effect: Changes the live store.
  • Destructive: in compact mode it runs with run_destructive_action.
  • Retries: safe to repeat with the same input.
FieldTypeRequiredDescription
shipping_option_idstringyesShipping option ID (so_…)

Example input:

{
  "shipping_option_id": "019bb70f-16d0-75b7-bdb6-d22f3f99c289"
}

shipping_option_rules_delete

Delete rules of a shipping option, which can offer it to more customers.

Read the rule ids with shipping_option_get.

  • Action key: shipping_option_rules.delete
  • Permission: settings.write
  • Approval: Always waits for a person to approve it.
  • Effect: Changes the live store.
  • Destructive: in compact mode it runs with run_destructive_action.
  • Retries: safe to repeat with the same input.
FieldTypeRequiredDescription
shipping_option_idstringyesShipping option ID (so_…)
rule_idslist of stringyesat least 1 items

Example input:

{
  "shipping_option_id": "019bb70f-16d0-75b7-bdb6-d22f3f99c289",
  "rule_ids": [
    "019bb72d-35a9-7cb6-a1fe-3572dae8ee66"
  ]
}

shipping_option_type_create

Add a label to group shipping options under, e.g. Express.

  • Action key: shipping_option_type.create
  • Permission: settings.write
  • Approval: Waits for approval when the store requires it for this action.
  • Effect: Changes the live store.
  • Retries: runs at most once; a repeat with the same idempotency key returns the first result.
FieldTypeRequiredDescription
labelstringyes
codestringyes
descriptionstring

Example input:

{
  "label": "Express",
  "code": "express"
}

shipping_option_type_delete

Delete a shipping option type no shipping option uses.

  • Action key: shipping_option_type.delete
  • Permission: settings.write
  • Approval: Always waits for a person to approve it.
  • Effect: Changes the live store.
  • Destructive: in compact mode it runs with run_destructive_action.
  • Retries: safe to repeat with the same input.
FieldTypeRequiredDescription
shipping_option_type_idstringyesShipping option type ID

Example input:

{
  "shipping_option_type_id": "019bb738-31cf-70f8-a14c-805d6a641a07"
}

shipping_option_type_update

Change a shipping option type's label, code or description.

  • Action key: shipping_option_type.update
  • Permission: settings.write
  • Approval: Waits for approval when the store requires it for this action.
  • Effect: Changes the live store.
  • Retries: safe to repeat with the same input.
FieldTypeRequiredDescription
shipping_option_type_idstringyesShipping option type ID
labelstring
codestring
descriptionstring

Example input:

{
  "shipping_option_type_id": "019bb738-31cf-70f8-a14c-805d6a641a07",
  "label": "Next day"
}

shipping_option_update

Change a shipping option's name, prices, profile, type or rules.

prices replaces the price list; pass a price id to keep and change one. rules adds and updates (by id) rules; shipping_option_rules_delete removes them.

  • Action key: shipping_option.update
  • Permission: settings.write
  • Approval: Waits for approval when the store requires it for this action.
  • Effect: Changes the live store.
  • Retries: safe to repeat with the same input.
FieldTypeRequiredDescription
shipping_option_idstringyesShipping option ID (so_…)
namestringat least 1 characters
shipping_profile_idstring
price_typestringone of "flat", "calculated"
priceslist of object
prices[].idstring
prices[].currency_codestring
prices[].region_idstring
prices[].amountnumberat least 0
type_idstring
rulesobject
rules.createlist of object
rules.create[].attributestringyese.g. enabled_in_store or is_return
rules.create[].operatorstringyesone of "in", "eq", "ne", "gt", "gte", "lt", "lte", "nin"
rules.create[].valuestring or list of stringyes
rules.updatelist of object
rules.update[].attributestringyese.g. enabled_in_store or is_return
rules.update[].operatorstringyesone of "in", "eq", "ne", "gt", "gte", "lt", "lte", "nin"
rules.update[].valuestring or list of stringyes
rules.update[].idstringyes

Example input:

{
  "shipping_option_id": "019bb70f-16d0-75b7-bdb6-d22f3f99c289",
  "prices": [
    {
      "currency_code": "huf",
      "amount": 1990
    }
  ]
}

shipping_profile_create

Add a group for products that ship the same way, e.g. bulky items.

  • Action key: shipping_profile.create
  • Permission: settings.write
  • Approval: Waits for approval when the store requires it for this action.
  • Effect: Changes the live store.
  • Retries: runs at most once; a repeat with the same idempotency key returns the first result.
FieldTypeRequiredDescription
namestringyesat least 1 characters
typestringyese.g. default or bulky. at least 1 characters

Example input:

{
  "name": "Bulky items",
  "type": "bulky"
}

shipping_profile_delete

Delete a shipping profile that no product or shipping option uses.

  • Action key: shipping_profile.delete
  • Permission: settings.write
  • Approval: Always waits for a person to approve it.
  • Effect: Changes the live store.
  • Destructive: in compact mode it runs with run_destructive_action.
  • Retries: safe to repeat with the same input.
FieldTypeRequiredDescription
shipping_profile_idstringyesShipping profile ID (sp_…)

Example input:

{
  "shipping_profile_id": "019bb73d-bcc5-7993-83c9-5c9a9f7ada5a"
}

shipping_profile_update

Rename a shipping profile or change its type.

  • Action key: shipping_profile.update
  • Permission: settings.write
  • Approval: Waits for approval when the store requires it for this action.
  • Effect: Changes the live store.
  • Retries: safe to repeat with the same input.
FieldTypeRequiredDescription
shipping_profile_idstringyesShipping profile ID (sp_…)
namestringat least 1 characters
typestringat least 1 characters

Example input:

{
  "shipping_profile_id": "019bb73d-bcc5-7993-83c9-5c9a9f7ada5a",
  "name": "Furniture"
}
Last updated