# Split Ship a Sales Order

This guide demonstrates how to split ship a sales order by creating multiple shipments from a single order with multiple items.

## Process Overview

The split shipping process involves:

1. **Retrieve the Sales Order** with multiple items
2. **Create separate shipments** for each item
3. **Generate labels** for the individual shipments


## API Examples

### 1. Use a Sales Order with Multiple Sales Order Items


```http
GET /v-beta/sales_orders/0d3c142a-7516-5f5b-8a40-b437b5e01317 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
```

### 2. Create a Shipment for the First Item


```http
POST /v-beta/shipments HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
```


```json
{
  "shipments": [{
    "validate_address": "validate_and_clean",
    "carrier_id": "se-123890",
    "service_code": "usps_priority_mail",
    "warehouse_id": "se-241419",
    "ship_to": {
      "name": "Amanda Miller",
      "phone": "555-555-5555",
      "address_line1": "525 S Winchester Blvd",
      "city_locality": "San Jose",
      "state_province": "CA",
      "postal_code": "95128",
      "country_code": "US",
      "address_residential_indicator": "yes"
    },
    "packages": [{
      "package_code": "package",
      "weight": {
        "value": 1.0,
        "unit": "ounce"
      }
    }],
    "items": [{
      "sales_order_id": "0d3c142a-7516-5f5b-8a40-b437b5e01317",
      "sales_order_item_id": "0399c595-774a-599b-a566-27ea86fec17d",
      "quantity": 1
    }]
  }]
}
```

### 3. Create a Shipment for the Second Item

The request structure is similar, but references a different `sales_order_item_id`:


```json
{
  "shipments": [{
    "validate_address": "validate_and_clean",
    "carrier_id": "se-123890",
    "service_code": "usps_priority_mail",
    "warehouse_id": "se-241419",
    "ship_to": {
      "name": "Amanda Miller",
      "phone": "555-555-5555",
      "address_line1": "525 S Winchester Blvd",
      "city_locality": "San Jose",
      "state_province": "CA",
      "postal_code": "95128",
      "country_code": "US",
      "address_residential_indicator": "yes"
    },
    "packages": [{
      "package_code": "package",
      "weight": {
        "value": 1.0,
        "unit": "ounce"
      }
    }],
    "items": [{
      "sales_order_id": "0d3c142a-7516-5f5b-8a40-b437b5e01317",
      "sales_order_item_id": "4afd6df4-d679-51d7-a858-8aff7d6103c2",
      "quantity": 1
    }]
  }]
}
```

### 4. Create Labels for the Shipments


```http
POST /v-beta/labels/shipment/se-201053690 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
```


```json
{
  "label_format": "pdf"
}
```

## Key Features

- Split orders across multiple shipments
- Each shipment references specific order items
- Address validation included
- Support for various carriers and services
- Multiple label formats available