Using Custom Packages

Warning

Shipment Packages Accept Package Codes

Shipments, labels, and rates all take the package_code and do not take the package_id. The package_id is only for package management.

Example

POST /v1/shipments

POST /v1/shipments HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "shipments": [
    {
      "service_code": "usps_priority_mail",
      "shipment_status": "pending",
      "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"
      },
      "ship_from": {
        "company_name": "Example Corp.",
        "name": "John Doe",
        "phone": "111-111-1111",
        "address_line1": "4009 Marathon Blvd",
        "address_line2": "Suite 300",
        "city_locality": "Austin",
        "state_province": "TX",
        "postal_code": "78756",
        "country_code": "US",
        "address_residential_indicator": "no"
      },
      "confirmation": "none",
      "advanced_options": {},
      "insurance_provider": "none",
      "tags": [],
      "total_weight": {
        "value": 10.0,
        "unit": "ounce"
      },
      "packages": [
        {
          "package_code": "custom_laptop_box",
          "weight": {
            "value": 10.0,
            "unit": "ounce"
          }
        }
      ]
    }
  ]
}

In the request we simply added to the packages collection:

{
  "package_code": "custom_laptop_box"
}

In the response we see, it worked!

{
  "package_code": "custom_laptop_box",
  "dimensions": {
    "unit": "inch",
    "length": 15.00,
    "width": 20.00,
    "height": 5.00
  }
}