Skip to main content
POST
Spree Admin SDK

Authorizations

x-spree-api-key
string
header
required

Secret API key for admin access

Authorization
string
header
required

JWT token for admin user authentication

Headers

x-spree-api-key
string
required
Authorization
string
required

Bearer token for admin authentication

Path Parameters

order_id
string
required

Order ID

Body

application/json
stock_location_id
string
required

The location the fulfillment ships from. On update, moving it re-prices the fulfillment against that location's rates.

external_references
object

Identities the record has in external systems, keyed by system: the same { system: external_id } map the Admin API renders, so what you read can be sent straight back. Systems you do not name keep the reference they have. A list of { system, external_id } entries is accepted too.

source_fulfillment_id
string

The only fulfillment of this order to move units from, its exchange and claim replacements included: how a canceled replacement is sent again. Omitted, the customer's bought units are taken from every unshipped fulfillment.

tracking
string

Carrier tracking number, or a full https:// tracking link, which is served back as tracking_url unchanged.

delivery_method_id
string

Delivery method attached as the selected rate. Defaults to the delivery method of the fully drained source fulfillments.

cost
string<decimal>

Explicit shipping cost, such as the 3PL price. Defaults to the summed cost of the fully drained source fulfillments, which keeps the order total unchanged. Persists only with status: shipped; pending fulfillments are re-priced by the rate engine.

Pattern: ^-?\d+(\.\d+)?$
Example:

"7.42"

status
enum<string>

Pass shipped to register an already-shipped external fulfillment.

Available options:
shipped
metadata
object
items
object[]

Line item quantities to fulfill. Omit to fulfill every unit not yet shipped.

Response

fulfillment created