---
title: "Update a shipment"
method: PUT
path: "/shipping/{connection_id}/shipment/{id}"
tags: ["shipping", "shipment"]
---

# Update a shipment

`PUT /shipping/{connection_id}/shipment/{id}`

## Request

- Base URL: `http://api.unified.to`
- URL: `http://api.unified.to/shipping/{connection_id}/shipment/{id}`
- Auth: API key in header `authorization`

## Path parameters

- `connection_id` string, required
- `id` string, required

## Query parameters

- `fields` string[]
- `raw` string

## Request body

- ShippingShipment
  - `id` string: Unique identifier for this shipment object
  - `created_at` string, date-time: The date that this shipment object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `updated_at` string, date-time: The last date that this shipment object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `order_id` string: Reference to commerce_order or accounting_order
  - `organization_id` string: ref -> accounting Organization this shipment belongs to (multi-company ERPs)
  - `from_address` ShippingShipmentFromAddress: Origin address
    - `address1` string
    - `address2` string
    - `city` string
    - `region` string
    - `region_code` string
    - `postal_code` string
    - `country` string
    - `country_code` string: ISO 2-digit country code
    - `name` string: Recipientsender name
    - `company_name` string: Company name (for commercial addresses)
    - `telephone` string: Phone number (required by FedEx, UPS, DHL)
    - `email` string: Email address (for delivery notifications)
    - `is_residential` boolean: Alias for address_type === 'RESIDENTIAL'
    - `is_validated` boolean: Whether address has been validated
    - `delivery_instructions` string: Special delivery notes
  - `to_address` ShippingShipmentToAddress: Destination address
    - `address1` string
    - `address2` string
    - `city` string
    - `region` string
    - `region_code` string
    - `postal_code` string
    - `country` string
    - `country_code` string: ISO 2-digit country code
    - `name` string: Recipientsender name
    - `company_name` string: Company name (for commercial addresses)
    - `telephone` string: Phone number (required by FedEx, UPS, DHL)
    - `email` string: Email address (for delivery notifications)
    - `is_residential` boolean: Alias for address_type === 'RESIDENTIAL'
    - `is_validated` boolean: Whether address has been validated
    - `delivery_instructions` string: Special delivery notes
  - `packages` ShippingPackage[]: Array of packages in this shipment
    - `weight` number: Weight of the package
    - `weight_unit` 'g' | 'kg' | 'oz' | 'lb': Unit for weight (g, kg, oz, lb)
    - `length` number: Length of the package
    - `width` number: Width of the package
    - `height` number: Height of the package
    - `size_unit` 'cm' | 'inch': Unit for dimensions (cm, inch)
    - `description` string: Description of the package contents
    - `value` number: Declared value of the package
    - `currency` string: ISO 4217 currency code
    - `tracking_number` string: Package-level tracking (for multi-package shipments)
    - `insured_amount` number: Insured value for this package
  - `carrier_id` string: Reference to the carrier
  - `service_code` string: Code for the shipping service used
  - `status` 'PENDING' | 'PROCESSING' | 'IN_TRANSIT' | 'DELIVERED' | 'EXCEPTION' | 'CANCELLED' | 'LABEL_CREATED' | 'PICKED_UP' | 'OUT_FOR_DELIVERY' | 'DELIVERY_ATTEMPTED' | 'RETURNED_TO_SENDER' | 'HELD_AT_LOCATION' | 'CUSTOMS_CLEARANCE' | 'EXCEPTION_RESOLVED': Current status of the shipment
  - `rate_id` string: Optional reference to the selected rate (for traceability)
  - `label_id` string: Optional reference to the shipping label
  - `tracking_id` string: Optional reference to the tracking information
  - `shipped_at` string, date-time: When shipment was createddispatched (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `rate_amount` number: The rate amount used (may differ from shipping_cost due to adjustments)
  - `rate_currency` string: Currency for rate_amount
  - `rate_service_name` string: Service name from the rate (e.g., "Priority Mail")
  - `rate_estimated_days` number: Estimated delivery days from the rate
  - `rate_estimated_delivery_at` string, date-time: Estimated delivery date from the rate (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `is_rate_guaranteed` boolean: Whether delivery is guaranteed (from rate)
  - `return_address` ShippingShipmentReturnAddress: Return address (may differ from from_address)
    - `address1` string
    - `address2` string
    - `city` string
    - `region` string
    - `region_code` string
    - `postal_code` string
    - `country` string
    - `country_code` string: ISO 2-digit country code
    - `name` string: Recipientsender name
    - `company_name` string: Company name (for commercial addresses)
    - `telephone` string: Phone number (required by FedEx, UPS, DHL)
    - `email` string: Email address (for delivery notifications)
    - `is_residential` boolean: Alias for address_type === 'RESIDENTIAL'
    - `is_validated` boolean: Whether address has been validated
    - `delivery_instructions` string: Special delivery notes
  - `return_authorization_number` string: RMA number if return shipment
  - `warehouse_location_id` string: Origin warehouselocation ID; points to CommerceLocation
  - `warehouse_location_name` string: Origin warehouse location name
  - `customs` ShippingShipmentCustoms: Customs information
    - `contents_type` 'MERCHANDISE' | 'DOCUMENTS' | 'GIFT' | 'RETURNED_GOODS' | 'SAMPLE' | 'OTHER'
    - `description` string: Explanation of contents
    - `amount` number: Customs declared value
    - `currency` string
    - `duties_paid_by` 'SENDER' | 'RECIPIENT' | 'THIRD_PARTY'
    - `taxes_paid_by` 'SENDER' | 'RECIPIENT' | 'THIRD_PARTY'
    - `shipper_eori` string: Exporter EORI number
    - `recipient_eori` string: Importer EORI number
    - `shipper_tax_number` string: Exporter tax ID
    - `recipient_tax_number` string: Importer tax ID
    - `items` ShippingCustomsItem[]: Customs items
      - `description` string: Item description
      - `quantity` number: Quantity
      - `amount` number: Value per unit
      - `currency` string
      - `weight` number: Weight per unit
      - `weight_unit` 'g' | 'kg' | 'oz' | 'lb'
      - `harmonized_tariff_code` string: HS code
      - `country_of_origin` string: Country of origin (ISO code)
      - `sku` string: SKU
    - `restrictions` string[]: Any restrictions
    - `non_delivery_option` 'RETURN' | 'ABANDON'
  - `is_international` boolean: Whether shipment is international
  - `insurance` ShippingShipmentInsurance: Insurance details
    - `insured_value` number: Insured value
    - `currency` string
    - `insurance_provider` string: Insurance provider name
    - `insurance_provider_code` string: Provider code
    - `insurance_cost` number: Cost of insurance
    - `insurance_cost_currency` string
    - `coverage_type` 'STANDARD' | 'PREMIUM' | 'CUSTOM'
    - `coverage_amount` number: Coverage amount (may differ from insured_value)
  - `special_instructions` string[]: Array of special instructions
  - `is_signature_required` boolean: Signature required on delivery
  - `is_adult_signature_required` boolean: Adult signature required
  - `reference_number` string: Customer reference number
  - `is_return` boolean: Whether this is a return shipment
  - `original_shipment_id` string: Reference to original shipment if return; points to ShippingShipment
  - `return_reason` string: Reason for return
  - `return_type` 'CUSTOMER' | 'VENDOR' | 'WARRANTY' | 'DEFECTIVE' | 'OTHER': Type of return
  - `carrier_name` string: Human-readable carrier/provider name when there is no carrier record to reference (e.g. commerce-platform fulfillments)
  - `tracking_url` string: Carrier tracking URL for this shipment
  - `lineitems` ShippingShipmentLineitem[]: Item-level fulfillment lines (what shipped); used by commerce-platform fulfillments
    - `id` string: Unique identifier for this fulfillment line
    - `item_id` string: Reference to the CommerceItem being fulfilled (reference to CommerceItem)
    - `item_variant_id` string: Reference to the CommerceItemvariant being fulfilled (reference to CommerceCommerceItemvariant)
    - `order_lineitem_id` string: The order line being fulfilled
    - `quantity` number: Units fulfilled on this line
    - `item_name` string: Item name (for display)
    - `sku` string: Item SKU
  - `metadata` ShippingMetadata[]
    - `id` string
    - `slug` string
    - `value` unknown
    - `namespace` string
    - `format` 'TEXT' | 'NUMBER' | 'DATE' | 'BOOLEAN' | 'FILE' | 'TEXTAREA' | 'SINGLE_SELECT' | 'MULTIPLE_SELECT' | 'MEASUREMENT' | 'PRICE' | 'YES_NO' | 'CURRENCY' | 'URL'
    - `extra_data` unknown
  - `raw` unknown

## Response `200`

Successful

- ShippingShipment
  - `id` string: Unique identifier for this shipment object
  - `created_at` string, date-time: The date that this shipment object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `updated_at` string, date-time: The last date that this shipment object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `order_id` string: Reference to commerce_order or accounting_order
  - `organization_id` string: ref -> accounting Organization this shipment belongs to (multi-company ERPs)
  - `from_address` ShippingShipmentFromAddress: Origin address
    - `address1` string
    - `address2` string
    - `city` string
    - `region` string
    - `region_code` string
    - `postal_code` string
    - `country` string
    - `country_code` string: ISO 2-digit country code
    - `name` string: Recipientsender name
    - `company_name` string: Company name (for commercial addresses)
    - `telephone` string: Phone number (required by FedEx, UPS, DHL)
    - `email` string: Email address (for delivery notifications)
    - `is_residential` boolean: Alias for address_type === 'RESIDENTIAL'
    - `is_validated` boolean: Whether address has been validated
    - `delivery_instructions` string: Special delivery notes
  - `to_address` ShippingShipmentToAddress: Destination address
    - `address1` string
    - `address2` string
    - `city` string
    - `region` string
    - `region_code` string
    - `postal_code` string
    - `country` string
    - `country_code` string: ISO 2-digit country code
    - `name` string: Recipientsender name
    - `company_name` string: Company name (for commercial addresses)
    - `telephone` string: Phone number (required by FedEx, UPS, DHL)
    - `email` string: Email address (for delivery notifications)
    - `is_residential` boolean: Alias for address_type === 'RESIDENTIAL'
    - `is_validated` boolean: Whether address has been validated
    - `delivery_instructions` string: Special delivery notes
  - `packages` ShippingPackage[]: Array of packages in this shipment
    - `weight` number: Weight of the package
    - `weight_unit` 'g' | 'kg' | 'oz' | 'lb': Unit for weight (g, kg, oz, lb)
    - `length` number: Length of the package
    - `width` number: Width of the package
    - `height` number: Height of the package
    - `size_unit` 'cm' | 'inch': Unit for dimensions (cm, inch)
    - `description` string: Description of the package contents
    - `value` number: Declared value of the package
    - `currency` string: ISO 4217 currency code
    - `tracking_number` string: Package-level tracking (for multi-package shipments)
    - `insured_amount` number: Insured value for this package
  - `carrier_id` string: Reference to the carrier
  - `service_code` string: Code for the shipping service used
  - `status` 'PENDING' | 'PROCESSING' | 'IN_TRANSIT' | 'DELIVERED' | 'EXCEPTION' | 'CANCELLED' | 'LABEL_CREATED' | 'PICKED_UP' | 'OUT_FOR_DELIVERY' | 'DELIVERY_ATTEMPTED' | 'RETURNED_TO_SENDER' | 'HELD_AT_LOCATION' | 'CUSTOMS_CLEARANCE' | 'EXCEPTION_RESOLVED': Current status of the shipment
  - `rate_id` string: Optional reference to the selected rate (for traceability)
  - `label_id` string: Optional reference to the shipping label
  - `tracking_id` string: Optional reference to the tracking information
  - `shipped_at` string, date-time: When shipment was createddispatched (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `rate_amount` number: The rate amount used (may differ from shipping_cost due to adjustments)
  - `rate_currency` string: Currency for rate_amount
  - `rate_service_name` string: Service name from the rate (e.g., "Priority Mail")
  - `rate_estimated_days` number: Estimated delivery days from the rate
  - `rate_estimated_delivery_at` string, date-time: Estimated delivery date from the rate (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
  - `is_rate_guaranteed` boolean: Whether delivery is guaranteed (from rate)
  - `return_address` ShippingShipmentReturnAddress: Return address (may differ from from_address)
    - `address1` string
    - `address2` string
    - `city` string
    - `region` string
    - `region_code` string
    - `postal_code` string
    - `country` string
    - `country_code` string: ISO 2-digit country code
    - `name` string: Recipientsender name
    - `company_name` string: Company name (for commercial addresses)
    - `telephone` string: Phone number (required by FedEx, UPS, DHL)
    - `email` string: Email address (for delivery notifications)
    - `is_residential` boolean: Alias for address_type === 'RESIDENTIAL'
    - `is_validated` boolean: Whether address has been validated
    - `delivery_instructions` string: Special delivery notes
  - `return_authorization_number` string: RMA number if return shipment
  - `warehouse_location_id` string: Origin warehouselocation ID; points to CommerceLocation
  - `warehouse_location_name` string: Origin warehouse location name
  - `customs` ShippingShipmentCustoms: Customs information
    - `contents_type` 'MERCHANDISE' | 'DOCUMENTS' | 'GIFT' | 'RETURNED_GOODS' | 'SAMPLE' | 'OTHER'
    - `description` string: Explanation of contents
    - `amount` number: Customs declared value
    - `currency` string
    - `duties_paid_by` 'SENDER' | 'RECIPIENT' | 'THIRD_PARTY'
    - `taxes_paid_by` 'SENDER' | 'RECIPIENT' | 'THIRD_PARTY'
    - `shipper_eori` string: Exporter EORI number
    - `recipient_eori` string: Importer EORI number
    - `shipper_tax_number` string: Exporter tax ID
    - `recipient_tax_number` string: Importer tax ID
    - `items` ShippingCustomsItem[]: Customs items
      - `description` string: Item description
      - `quantity` number: Quantity
      - `amount` number: Value per unit
      - `currency` string
      - `weight` number: Weight per unit
      - `weight_unit` 'g' | 'kg' | 'oz' | 'lb'
      - `harmonized_tariff_code` string: HS code
      - `country_of_origin` string: Country of origin (ISO code)
      - `sku` string: SKU
    - `restrictions` string[]: Any restrictions
    - `non_delivery_option` 'RETURN' | 'ABANDON'
  - `is_international` boolean: Whether shipment is international
  - `insurance` ShippingShipmentInsurance: Insurance details
    - `insured_value` number: Insured value
    - `currency` string
    - `insurance_provider` string: Insurance provider name
    - `insurance_provider_code` string: Provider code
    - `insurance_cost` number: Cost of insurance
    - `insurance_cost_currency` string
    - `coverage_type` 'STANDARD' | 'PREMIUM' | 'CUSTOM'
    - `coverage_amount` number: Coverage amount (may differ from insured_value)
  - `special_instructions` string[]: Array of special instructions
  - `is_signature_required` boolean: Signature required on delivery
  - `is_adult_signature_required` boolean: Adult signature required
  - `reference_number` string: Customer reference number
  - `is_return` boolean: Whether this is a return shipment
  - `original_shipment_id` string: Reference to original shipment if return; points to ShippingShipment
  - `return_reason` string: Reason for return
  - `return_type` 'CUSTOMER' | 'VENDOR' | 'WARRANTY' | 'DEFECTIVE' | 'OTHER': Type of return
  - `carrier_name` string: Human-readable carrier/provider name when there is no carrier record to reference (e.g. commerce-platform fulfillments)
  - `tracking_url` string: Carrier tracking URL for this shipment
  - `lineitems` ShippingShipmentLineitem[]: Item-level fulfillment lines (what shipped); used by commerce-platform fulfillments
    - `id` string: Unique identifier for this fulfillment line
    - `item_id` string: Reference to the CommerceItem being fulfilled (reference to CommerceItem)
    - `item_variant_id` string: Reference to the CommerceItemvariant being fulfilled (reference to CommerceCommerceItemvariant)
    - `order_lineitem_id` string: The order line being fulfilled
    - `quantity` number: Units fulfilled on this line
    - `item_name` string: Item name (for display)
    - `sku` string: Item SKU
  - `metadata` ShippingMetadata[]
    - `id` string
    - `slug` string
    - `value` unknown
    - `namespace` string
    - `format` 'TEXT' | 'NUMBER' | 'DATE' | 'BOOLEAN' | 'FILE' | 'TEXTAREA' | 'SINGLE_SELECT' | 'MULTIPLE_SELECT' | 'MEASUREMENT' | 'PRICE' | 'YES_NO' | 'CURRENCY' | 'URL'
    - `extra_data` unknown
  - `raw` unknown

---

[API](https://skmtc.dev/unified/apis/unified-to-api-2.md) · [All operations](https://skmtc.dev/unified/apis/unified-to-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/unified/apis/unified-to-api-2/revisions/7a38bdd7f089?raw)
