Skip to main content
The update counterpart of the preprinted-label create flow: same endpoint as Update a Return, but the Return is identified by its Shipmentshipment_id or shipment_uuid as the query parameter — and the body carries only the shipment object. Full specs: API reference.
The Returns APIs are available to accounts using the Perform.AI Returns Experience. Contact your account team to enable it.
The rules mirror the standard Update a Return:
  • Most shipment fields replace stored values entirely (whole line_items, whole address objects); tags, events, linked_shipments, documents are add-only.
  • shipment_id is write-once.
  • Don’t send tracking_number or carrier_reference — in this flow they were set at creation from the preprinted label and are managed by the system afterwards.
  • No updates after a successful carrier booking.
The response is the nested data.shipment + data.return_ticket shape.