Patch Shipment
patch
https://api.flxpoint.com/shipmentsUse this when you want to update shipment data through the API.
🔑 X-API-TOKEN⏱ 2 req/sToken: Account · Source · Channel
This page explains the endpoint. To send a live test request, use the interactive tester in Stoplight or your own Postman / HTTP client.
Update fields on an existing shipment. Only non-null fields in the request will be modified.
A source token or account token may be used.
Request
Body
application/jsonidintegerrequiredThe identifier for this shipment.
fulfillmentRequestIdintegerThe ID of the fulfillment request this shipment corresponds to. If changed, shipment items will be re-associated to items from the fulfillment request specified. Item associations can be directly configured using the `fulfillmentRequestItemId`, `orderItemId`, or `inventoryVariantId`; otherwise `sku` will be used. If no matching fulfillment request item is found, a 400 status will be returned.
notestringtrackingUrlstringa url to track current status of the shipment.
trackingNumberstringunique number identifying this package across a carrier.
carrierstringThe carrier responsible for delivering the shipment.
methodstringthe delivery method used to ship the package.
shippedAtstring (date-time)date-time at which this was shipped.
shippingCostnumberThe cost of delivering the items to the destination.
suppressedbooleanWhen true, the shipment information will **not** be synced back to the channel.
shipmentItemsarray[any]Items in this shipment to save (new or existing). Items must be deleted separately. ID is required to update an existing item.
customFieldsarray[ShipmentCustomField]Custom fields in this shipment to save (new or existing). Custom fields must be deleted separately. ID is required to update an existing custom field. Any Custom Field with an empty name or value will be ignored (won't be saved). Also, each Custom Field should have a unique name; duplicates will also be ignored.
idintegernamestringvaluestringallowDuplicateTrackingNumbersbooleanIndicates that the tracking number should be allowed more than once for the associated fulfillment request.
default
falseExample request
patch
/shipmentscurl -X PATCH "https://api.flxpoint.com/shipments" \
-H "Accept: application/json" \
-H "X-API-TOKEN: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"fulfillmentRequestId": 0,
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2026-04-20T00:00:00Z",
"shippingCost": 0,
"suppressed": true,
"shipmentItems": [
null
],
"customFields": [
{
"id": 0,
"name": "string",
"value": "string"
}
],
"allowDuplicateTrackingNumbers": true
}'Example body · application/json
{
"id": 0,
"fulfillmentRequestId": 0,
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2026-04-20T00:00:00Z",
"shippingCost": 0,
"suppressed": true,
"shipmentItems": [
null
],
"customFields": [
{
"id": 0,
"name": "string",
"value": "string"
}
],
"allowDuplicateTrackingNumbers": true
}Responses
200OKapplication/json
idintegernotestringtrackingUrlstringtrackingNumberstringcarrierstringmethodstringshippedAtstring (date-time)insertedAtstring (date-time)shippingCostnumberorderIdintegerpurchaseOrderIdintegerfulfillmentRequestIdintegerrmaIdintegersourceIdintegeraccountIdintegerpartialbooleansuppressedbooleansyncedToChannelbooleansyncErrorstringcrossDockPurchaseOrderIdintegershipmentItemsarray[ShipmentItem]idintegerskustringquantityintegershipmentIdintegerinventoryVariantIdinteger (int64)partialbooleanorderItemIdintegerpurchaseOrderItemIdintegerthis field will soon be deprecated, please start using `fulfillmentRequestItemId` instead.
there are basically the same thing, just there has been a terminology change.
fulfillmentRequestItemIdintegercommittedStockReleasedQuantityintegerrmaItemIdintegercustomFieldsarray[ShipmentCustomField]idintegernamestringvaluestringcustomFieldsarray[ShipmentCustomField]idintegernamestringvaluestringupdatedAtstring (date-time)accountingSyncedbooleanExample response
{
"id": 0,
"note": "string",
"trackingUrl": "string",
"trackingNumber": "string",
"carrier": "string",
"method": "string",
"shippedAt": "2026-04-20T00:00:00Z",
"insertedAt": "2026-04-20T00:00:00Z",
"shippingCost": 0,
"orderId": 0,
"purchaseOrderId": 0,
"fulfillmentRequestId": 0,
"rmaId": 0,
"sourceId": 0,
"accountId": 0,
"partial": true,
"suppressed": true,
"syncedToChannel": true,
"syncError": "string",
"crossDockPurchaseOrderId": 0,
"shipmentItems": [
{
"id": 0,
"sku": "string",
"quantity": 0,
"shipmentId": 0,
"inventoryVariantId": 0,
"partial": true,
"orderItemId": 0,
"purchaseOrderItemId": 0,
"fulfillmentRequestItemId": 0,
"committedStockReleasedQuantity": 0,
"rmaItemId": 0,
"customFields": [
{
"id": null,
"name": null,
"value": null
}
]
}
],
"customFields": [
{
"id": 0,
"name": "string",
"value": "string"
}
],
"updatedAt": "2026-04-20T00:00:00Z",
"accountingSynced": true
}400Bad Request
No schema documented for this status.
401Unauthorized
No schema documented for this status.
404Not Found
No schema documented for this status.
409Conflict
No schema documented for this status.
412Precondition Failed
No schema documented for this status.
OpenAPI fragment
{
"patch": {
"summary": "Patch Shipment",
"description": "Update fields on an existing shipment. Only non-null fields in the request will be modified.\n\nA source token or account token may be used.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatchShipmentRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Shipment"
}
}
}
},
"400": {
"description": "Bad Request"
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Not Found"
},
"409": {
"description": "Conflict"
},
"412": {
"description": "Precondition Failed"
}
}
}
}Ready to run it? Send the curl from your terminal or Postman, or use the interactive tester in Stoplight.Open in Stoplight