# Duplicate a shipment Create a copy of an existing shipment. ## What gets duplicated - Customer and customer rep - Order(s) with stops, freight, and references - Equipment and special requirements ## What is NOT duplicated - Loads and carriers - Services - Documents - Status history ## New shipment The duplicate is created in DRAFT status with new dates if provided. Endpoint: POST /shipments/{id}/duplicate Version: 1.0.0 Security: BearerAuth ## Path parameters: - `id` (string, required) Resource ID (UUID) or client key Example: "550e8400-e29b-41d4-a716-446655440000" ## Query parameters: - `by` (string) Specify lookup type for faster retrieval. If omitted, defaults to looking up by ID first, then falls back to client key if not found. Use by=key when you know you're providing a client key for best performance. Enum: "id", "key" ## Request fields (application/json): - `pickUpDate` (string) New pickup date for the duplicate - `deliveryDate` (string) New delivery date for the duplicate ## Response 201 fields (application/json): - `originalShipmentId` (string, required) - `newShipmentId` (string, required) - `newShipmentKey` (string, required) ## Response 400 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 401 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 404 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message