Split Fulfillment Order

Splits selected line items from a fulfillment order into a new fulfillment order.

Use Cases

  • Shipping available items immediately while backordered items wait
  • Fulfilling from multiple locations when partial inventory exists
  • Separating items with different shipping requirements

Line Item Status Requirements

Only items in pending status (open or allocated) can be split:

  • open - Can be split
  • allocated - Can be split
  • fulfilled - Cannot be split
  • cancelled - Cannot be split
  • closed - Cannot be split

Split Process

Specify:

  • line_items (required): Items and quantities to move to the new FO
  • location_id (optional): New location for the split items (defaults to original FO's location)
  • partner_fulfillment_order_reference (optional): Your reference for the new FO

After splitting:

  • A new fulfillment order is created with a new fulfillment_order_id
  • The new FO inherits delivery and carriyo_metadata from the original
  • Line items get status allocated if location is set, otherwise open
  • Original FO quantities are reduced (items removed if quantity becomes 0)
  • Order status is recalculated
  • Webhooks are triggered

Inventory Impact

No direct inventory changes occur during split - items are simply reorganized.

SecurityOAuth2-Production or OAuth2-Demo
Request
path Parameters
orderReference
required
string

The order reference (order_id or partner_order_reference based on the key parameter).

fulfillmentOrderId
required
string

The unique identifier of the fulfillment order to split.

query Parameters
key
string
Default: "order_id"

Specifies which reference type is being used for the order reference.

Enum: "order_id" "partner_order_reference"
header Parameters
x-api-key
required
string

Your Carriyo API key for authentication.

tenant-id
required
string

Your unique tenant identifier in Carriyo.

Content-Type
string
Default: application/json
Request Body schema: application/json
required
required
Array of objects (Fulfillment Order Line Item Request)

Line items to move to the new fulfillment order.

partner_fulfillment_order_reference
string

Partner reference for the new fulfillment order.

location_id
string

Optional new location for the split fulfillment order.

Responses
200

Fulfillment order split successfully.

400

Cannot split fulfillment order.

404

Order or fulfillment order not found.

post/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/split
Request samples
application/json
{
  • "line_items": [
    ],
  • "partner_fulfillment_order_reference": "string",
  • "location_id": "string"
}
Response samples
application/json
{
  • "tenant": "string",
  • "order_id": "string",
  • "merchant": "string",
  • "partner_order_reference": "string",
  • "language": "string",
  • "order_date": "2019-08-24T14:15:22Z",
  • "sales_channel": "string",
  • "creation_source": {
    },
  • "update_source": {
    },
  • "carriyo_metadata": [
    ],
  • "status": "open",
  • "auto_allocation_failed": true,
  • "cancellation_reason": "CUSTOMER_CANCELLATION",
  • "shipping_address": {
    },
  • "billing_address": {
    },
  • "customer": {
    },
  • "payment": {
    },
  • "redacted": true,
  • "taxes_included": true,
  • "duties_included": true,
  • "discount_applications": [
    ],
  • "line_items": [
    ],
  • "fulfillment_orders": [
    ],
  • "shipping_lines": [
    ],
  • "error_details": [
    ],
  • "creation_date": "2019-08-24T14:15:22Z",
  • "update_date": "2019-08-24T14:15:22Z"
}