FlxpointAPI Help CenterBeta

Patch Shipment

patchhttps://api.flxpoint.com/shipments

Use 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

Bodyapplication/json
idintegerrequired
The identifier for this shipment.
fulfillmentRequestIdinteger
The 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.
notestring
trackingUrlstring
a url to track current status of the shipment.
trackingNumberstring
unique number identifying this package across a carrier.
carrierstring
The carrier responsible for delivering the shipment.
methodstring
the delivery method used to ship the package.
shippedAtstring (date-time)
date-time at which this was shipped.
shippingCostnumber
The cost of delivering the items to the destination.
suppressedboolean
When 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.
idinteger
namestring
valuestring
allowDuplicateTrackingNumbersboolean
Indicates that the tracking number should be allowed more than once for the associated fulfillment request.
default false

Example request

patch/shipments
curl -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
idinteger
notestring
trackingUrlstring
trackingNumberstring
carrierstring
methodstring
shippedAtstring (date-time)
insertedAtstring (date-time)
shippingCostnumber
orderIdinteger
purchaseOrderIdinteger
fulfillmentRequestIdinteger
rmaIdinteger
sourceIdinteger
accountIdinteger
partialboolean
suppressedboolean
syncedToChannelboolean
syncErrorstring
crossDockPurchaseOrderIdinteger
shipmentItemsarray[ShipmentItem]
idinteger
skustring
quantityinteger
shipmentIdinteger
inventoryVariantIdinteger (int64)
partialboolean
orderItemIdinteger
purchaseOrderItemIdinteger
this field will soon be deprecated, please start using `fulfillmentRequestItemId` instead. there are basically the same thing, just there has been a terminology change.
fulfillmentRequestItemIdinteger
committedStockReleasedQuantityinteger
rmaItemIdinteger
customFieldsarray[ShipmentCustomField]
idinteger
namestring
valuestring
customFieldsarray[ShipmentCustomField]
idinteger
namestring
valuestring
updatedAtstring (date-time)
accountingSyncedboolean
Example 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