Spree Seller SDK
import { createSellerClient } from '@spree/seller-sdk'
const client = createSellerClient({
baseUrl: 'https://your-store.com',
jwtToken: 'eyJhbGciOi...',
sellerId: 'sel_UkLWZg9DAJ',
})
const { data: fulfillments } = await client.orders.fulfillments.split(
'or_UkLWZg9DAJ',
'ful_UkLWZg9DAJ',
{
variant_id: 'variant_86Rf07xd4z',
quantity: 1,
},
)curl --request PATCH \
--url http://{defaultHost}/api/v3/seller/orders/{order_id}/fulfillments/{id}/split \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Spree-Seller-Id: <x-spree-seller-id>' \
--data '
{
"variant_id": "<string>",
"quantity": 123,
"stock_location_id": "<string>"
}
'{
"data": [
{
"id": "ful_UkLWZg9DAJ",
"number": "R1001-F1",
"status": "unfulfilled",
"tracking": "U10000",
"tracking_url": null,
"fulfilled_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"fulfillment_type": "shipping",
"delivery_method_name": "UPS Ground 134",
"stock_location_name": "Fred Hand",
"stock_location_id": "sloc_UkLWZg9DAJ",
"fulfillment_items": [
{
"id": "fi_gbHJdmfrXB",
"quantity": 1,
"line_item_id": "li_gbHJdmfrXB",
"variant_id": "variant_gbHJdmfrXB",
"name": "Product 2581765",
"sku": "SKU-344",
"options_text": ""
}
],
"selected_delivery_rate_id": "dr_EfhxLZ9ck8",
"delivery_rates": [
{
"id": "dr_EfhxLZ9ck8",
"name": "UPS Ground 134",
"selected": true,
"cost": "10.00",
"total": "10.00",
"carrier": null,
"service_level": null,
"estimated_delivery_date": null,
"unpriced": false
}
],
"deliveries": [
{
"id": "dlv_UkLWZg9DAJ",
"tracking_number": "U10000",
"carrier": null,
"carrier_name": null,
"service": null,
"status": "pending",
"tracking_url": null,
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"shipping_label_id": null
}
],
"labels": []
},
{
"id": "ful_gbHJdmfrXB",
"number": "R1001-F2",
"status": "unfulfilled",
"tracking": null,
"tracking_url": null,
"fulfilled_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"fulfillment_type": "shipping",
"delivery_method_name": "UPS Ground 134",
"stock_location_name": "Fred Hand",
"stock_location_id": "sloc_UkLWZg9DAJ",
"fulfillment_items": [
{
"id": "fi_EfhxLZ9ck8",
"quantity": 1,
"line_item_id": "li_UkLWZg9DAJ",
"variant_id": "variant_UkLWZg9DAJ",
"name": "Product 2573520",
"sku": "SKU-343",
"options_text": ""
}
],
"selected_delivery_rate_id": "dr_VqXmZF31wY",
"delivery_rates": [
{
"id": "dr_VqXmZF31wY",
"name": "UPS Ground 134",
"selected": true,
"cost": "10.00",
"total": "10.00",
"carrier": null,
"service_level": null,
"estimated_delivery_date": null,
"unpriced": false
}
],
"deliveries": [],
"labels": []
}
]
}Split a parcel
Moves part of what this parcel holds onto a new one, for goods leaving separately. Answers with every fulfillment on the order, since splitting rewrites more than one.
PATCH
/
api
/
v3
/
seller
/
orders
/
{order_id}
/
fulfillments
/
{id}
/
split
Spree Seller SDK
import { createSellerClient } from '@spree/seller-sdk'
const client = createSellerClient({
baseUrl: 'https://your-store.com',
jwtToken: 'eyJhbGciOi...',
sellerId: 'sel_UkLWZg9DAJ',
})
const { data: fulfillments } = await client.orders.fulfillments.split(
'or_UkLWZg9DAJ',
'ful_UkLWZg9DAJ',
{
variant_id: 'variant_86Rf07xd4z',
quantity: 1,
},
)curl --request PATCH \
--url http://{defaultHost}/api/v3/seller/orders/{order_id}/fulfillments/{id}/split \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Spree-Seller-Id: <x-spree-seller-id>' \
--data '
{
"variant_id": "<string>",
"quantity": 123,
"stock_location_id": "<string>"
}
'{
"data": [
{
"id": "ful_UkLWZg9DAJ",
"number": "R1001-F1",
"status": "unfulfilled",
"tracking": "U10000",
"tracking_url": null,
"fulfilled_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"fulfillment_type": "shipping",
"delivery_method_name": "UPS Ground 134",
"stock_location_name": "Fred Hand",
"stock_location_id": "sloc_UkLWZg9DAJ",
"fulfillment_items": [
{
"id": "fi_gbHJdmfrXB",
"quantity": 1,
"line_item_id": "li_gbHJdmfrXB",
"variant_id": "variant_gbHJdmfrXB",
"name": "Product 2581765",
"sku": "SKU-344",
"options_text": ""
}
],
"selected_delivery_rate_id": "dr_EfhxLZ9ck8",
"delivery_rates": [
{
"id": "dr_EfhxLZ9ck8",
"name": "UPS Ground 134",
"selected": true,
"cost": "10.00",
"total": "10.00",
"carrier": null,
"service_level": null,
"estimated_delivery_date": null,
"unpriced": false
}
],
"deliveries": [
{
"id": "dlv_UkLWZg9DAJ",
"tracking_number": "U10000",
"carrier": null,
"carrier_name": null,
"service": null,
"status": "pending",
"tracking_url": null,
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"shipping_label_id": null
}
],
"labels": []
},
{
"id": "ful_gbHJdmfrXB",
"number": "R1001-F2",
"status": "unfulfilled",
"tracking": null,
"tracking_url": null,
"fulfilled_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"fulfillment_type": "shipping",
"delivery_method_name": "UPS Ground 134",
"stock_location_name": "Fred Hand",
"stock_location_id": "sloc_UkLWZg9DAJ",
"fulfillment_items": [
{
"id": "fi_EfhxLZ9ck8",
"quantity": 1,
"line_item_id": "li_UkLWZg9DAJ",
"variant_id": "variant_UkLWZg9DAJ",
"name": "Product 2573520",
"sku": "SKU-343",
"options_text": ""
}
],
"selected_delivery_rate_id": "dr_VqXmZF31wY",
"delivery_rates": [
{
"id": "dr_VqXmZF31wY",
"name": "UPS Ground 134",
"selected": true,
"cost": "10.00",
"total": "10.00",
"carrier": null,
"service_level": null,
"estimated_delivery_date": null,
"unpriced": false
}
],
"deliveries": [],
"labels": []
}
]
}Authorizations
JWT token for an authenticated seller session (seller_api audience)
Headers
Body
application/json
Response
200 - application/json
parcel split
Was this page helpful?
⌘I

