Skip to main content
POST
/
shipping-rules
/
rules
curl --request POST \
  --url https://panel.sendcloud.sc/api/v3/shipping-rules/rules \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Insure high-value orders",
  "is_active": true,
  "criteria": {
    "is_and": true,
    "conditions": [
      {
        "property": "order_value",
        "operator": "ge",
        "compare_to": "200"
      }
    ]
  },
  "actions": [
    {
      "identifier": "insurance_pc",
      "value": "100"
    }
  ]
}
'
{
  "id": 1,
  "name": "Insure high-value parcels",
  "is_active": true,
  "is_invalid": false,
  "order": 1,
  "updated_at": "2026-06-26T10:15:00Z",
  "criteria": {
    "is_and": true,
    "conditions": [
      {
        "property": "total_order_value",
        "operator": "greater_than",
        "compare_to": "100"
      }
    ]
  },
  "actions": [
    {
      "identifier": "set_insurance",
      "value": "500"
    }
  ]
}

Authorizations

Authorization
string
header
required

Basic Authentication using API key and secrets is currently the main authentication mechanism.

Body

application/json

Payload to create a shipping rule.

name
string
required

Name of the rule.

Maximum string length: 100
Example:

"Insure high-value parcels"

criteria
RuleCriteriaInput · object
required

Conditions that determine when the rule's actions are applied.

actions
RuleActionInput · object[]
required

Actions performed on a shipment when the criteria match.

is_active
boolean
default:true

Whether the rule should evaluate against shipments after creation.

Response

Created

A shipping rule including its conditions and actions.

id
integer
required

ID of the rule.

Example:

1

name
string
required

Name of the rule.

Example:

"Insure high-value parcels"

is_active
boolean
required

Whether the rule is currently evaluating shipments.

Example:

true

is_invalid
boolean
required

True when the rule cannot be evaluated (e.g. references an unavailable property or action).

Example:

false

order
integer | null

Position in the organization's evaluation order; lower values are evaluated first.

Example:

1

updated_at
string<date-time> | null

Timestamp of the last update to the rule.

Example:

"2026-06-26T10:15:00Z"

criteria
RuleCriteriaDetail · object

Criteria that determine when this rule fires.

actions
RuleActionDetail · object[]

Actions executed when the rule fires.