# ShipEngine is becoming ShipStation API

Over the next few months you'll notice the ShipEngine website, documentation portal, and dashboard being rebranded as ShipStation API. For our ShipEngine customers, you don't need to take any action or change any of your integrations in any way. All endpoints will remain the same and continue to function as they always have.

To learn more about what's coming, review our [New ShipStation API page](/content/docs/new-shipstation-api/index.html).

## DHL Express from ShipStation

DHL Express from ShipStation offers international shipping services to ShipStation API accounts based in the US and Canada.

This guide provides developers with the details needed to build DHL Express from ShipStation shipping capabilities into your ShipStation API workflows.

ShipStation API also allows you to connect your own existing DHL Express account, and the requirements and service details are different than those for DHL Express from ShipStation. For details about connecting and using your own DHL Express account with ShipStation API, see the DHL Express guide specific to your account country:

- [DHL Express Australia](/content/docs/carriers/dhl-express-australia/index.html)
- [DHL Express Canada](/content/docs/carriers/dhl-express-canada/index.html)
- [DHL Express UK](/content/docs/carriers/dhl-express-uk/index.html)
- [DHL Express US](/content/docs/carriers/dhl-express-guide/index.html)

### Requirements

US accounts `carrier_name`: `dhl_express_worldwide`  
Canada accounts `carrier_name`: `dhl_express_walleted`

- A ShipStation API account based in either the US or Canada.
- ShipStation Carriers must be activated for the account and have a positive account balance to create labels. See our [Using ShipStation Carriers page](/content/docs/carriers/setup/index.html) for details about activating it in your account.

### Rates

DHL Express from ShipStation supports [rate shopping](/content/docs/rates/index.html) with ShipStation API.

### Service Details

Available DHL Express from ShipStation services are provided below. Please note that carriers may update their available services at any time. To ensure you are always using valid services, you can use the [list carrier services](/content/docs/reference/list-carrier-services/index.html) endpoint at any time.

#### International Services

| Service | API Code | Origin Countries |
| --- | --- | --- |
| Express Worldwide | `dhl_express_worldwide` | US, CA |
| Express Worldwide Documents | `dhl_express_worldwide_documents` | CA |
| Express 12:00 Documents | `dhl_express_worldwide_1200_documents` | CA |
| Express 12:00 | `dhl_express_worldwide_1200` | CA |
| Express 10:30 Documents | `dhl_express_worldwide_1030_documents` | CA |
| Express 10:30 | `dhl_express_worldwide_1030` | CA |
| Express 9:00 Documents | `dhl_express_worldwide_900_documents` | CA |
| SERVIExpress 9:00CENAME | `dhl_express_worldwide_900` | CA |

> **NOTE: DHL Shipping Unavailable to US Territories​**  
> Services for DHL (Express and Ecommerce) and DHL Express by ShipStation no longer support shipments to US territories.

### Optimizing Customs Data for International Shipments to Prevent Delays

To ensure smooth customs clearance and minimize the risk of shipment inspections or delays, it is critical to provide high-quality data for every international shipment. Poor data quality, specifically vague descriptions and missing HS codes, often triggers manual reviews by destination authorities.

#### Key Takeaways for Merchants

- _Be Literal_: Describe the item as if you are explaining it to someone who cannot see it.
- _Include Part Numbers_: If your product has a Part Number (PAN), include it in the reference field to help customs verify the item.
- _The "Rule of Three"_: A great description usually answers What it is, What it's made of, and What it's for.

#### Write Accurate Line Item Descriptions

Customs authorities need to know exactly what is being imported, what it is made of, and its intended use. Avoid using internal _marketing_ descriptions or vague terms.

- **Avoid Stop Words**: Words like "Sample," "Variety," or "Gift" are frequently flagged and may trigger an automatic inspection. This is a [List of Common Stop Words](/content/docs/img/media/carriers/dhl-my-dhl-api/List-of-Stop-Words.pdf).
- **Include Material Composition**: For items like footwear or apparel, specify the materials (e.g., "Men’s jeans, 80% cotton, 20% polyester" instead of just "Jeans").
- **Detail the Product Type**: Instead of "VINTAGE FOOTWEAR," use "Women’s shoes - leather upper and rubber sole."
- **Be Specific**: Instead of "Wheel adjusted," use "Bicycle rear pivot part."

#### Utilizing Harmonized System (HS) Codes

Providing a correct HS code (or Commodity Code) is the most effective way to help customs officials categorize your goods.

- **US-Based Shippers**: Use the [US Census Bureau’s Schedule B Search Engine](https://uscensus.prod.3ceonline.com/ui/) to find the correct code.
- **Global Shippers**: Ensure you are using the most current codes required by the destination country to avoid incorrect duty/tax calculations.

#### Provide Part and Reference Numbers

When possible, include the specific part or item number in your commercial invoice data. Mapping these to the correct reference fields in your shipping tool (e.g., the "PAN" reference type) provides an extra layer of clarity for clearance agents and helps verify the item against the provided description.

#### Prohibited Stop Words & Description Comparison

Using vague language is the fastest way to get a shipment flagged for inspection. Below are examples of poor descriptions found in recent audit data versus the clear, detailed descriptions required by customs authorities.

| Poor Description (Vague) | Better Description (Detailed) | Why it Matters |
| --- | --- | --- |
| VINTAGE FOOTWEAR | Women's shoes: leather upper, rubber sole | Defines gender, material, and sole type. |
| JEANS | Men’s jeans: 80% cotton, 20% polyester | Specifies material composition for textiles. |
| SAMPLE / VARIETY | Stainless steel kitchen whisk (K792) | **Stop Words** like "Sample" or "Variety" trigger automatic flags. |
| HAIR PRODUCT | Organic argan oil hair serum (100ml) | Identifies the specific substance and volume. |
| The Mesa - Medium | Canvas messenger bag with brass buckles | Moves past marketing names to actual physical traits. |

#### Merchant Checklist: International Shipping Compliance

To ensure your international shipments clear customs without delay, use this checklist to review your data before printing your labels.

- [ ] Is the description specific? (e.g., "Men's 100% cotton t-shirt" instead of "Apparel")
- [ ] Did you avoid Stop Words? (Ensure "Sample," "Gift," and "Variety" are not used)
- [ ] Is the material composition listed? (e.g., "Stainless steel," "Leather," "Plastic")
- [ ] Is the HS code/Commodity code included? (Use a search tool if you aren't 100% sure)
- [ ] Is the Part Number (PAN) mapped correctly? (Helps verify the item in the clearance system)
- [ ] Is the unit value and currency accurate? (Ensure values match your commercial invoice)

#### Description Logic: The "Physical" Rule

When writing descriptions, ignore your marketing names. Customs authorities don't know what a _Polaris IGX 144+ Linkage Kit_ is. Instead, describe the physical object: _Steel mechanical linkage parts for vehicle suspension_.

#### Technical Note: Mapping Compliance Data

When integrating with international carriers, how you map data fields in your API payload directly impacts customs clearance rates. While the UI may show a single "Description" field, the backend mapping should prioritize the following:

1. **Reference Field Mapping (PAN)**  
To assist customs authorities in verifying shipments against digital records, ensure that product part numbers are mapped to the correct reference type.

- _Reference Type_: PAN (Part Number)  
- _Usage_: Map your internal SKU or manufacturer part number here. This allows clearance systems to match the physical item to the digital declaration more efficiently.

2. **Data Integrity vs. UX Display**  
It is important to note that what the customer sees in the ShipStation or Shopify UI may not always reflect the full data payload sent to the carrier.

- _Payload Enrichment_: Even if a merchant uses a short marketing title in their store, the integration should attempt to send the most granular `description` available in the product database to the `description` field in the customs object.
- _Stop Word Scrubbing_: Consider implementing a validation layer that flags or prevents the use of **Stop Words** (Sample, Gift, Variety) in the `description` field before the API call is finalized. This is a [List of Common Stop Words](/content/docs/img/media/carriers/dhl-my-dhl-api/List-of-Stop-Words.pdf).

3. **HS Code Automation**  
Automating the `harmonized_tariff_code` field is the highest-value optimization you can provide. Ensuring this field is populated with a 6 to 10-digit code reduces the reliance on the text description alone, as the code provides a universal language for customs agents worldwide.

### Return Services

DHL Express from ShipStation does not currently support return services.

### Packages

The following [carrier package types](/content/docs/shipping/carrier-packaging/index.html) are available for DHL Express from ShipStation services:

| Name | API Code | Details |
| --- | --- | --- |
| Express Envelope | `dhl_express_wallet_exp_env` | Available for US shipments using Express Worldwide service only. |

You can also use [custom package types](/content/docs/shipping/custom-package-types/index.html) or the generic `package` package type.

### Adding Shipment Insurance

DHL Express from ShipStation does not support adding carrier insurance to shipments created in ShipStation API. US accounts can add Parcelguard protection to DHL Express from ShipStation shipments.

Review the [Parcel Insurance page](/content/docs/shipping/insurance/index.html) for details about adding shipment insurance with ShipStation API.

### Label Support

- Label sizes: 4" x 6", 4" x 8"  
- Label formats: PDF

### Label Reference Fields

DHL Express from ShipStation does not support adding [custom label messages](/content/docs/labels/messages/index.html).

### Multi-Package Labels

DHL Express from ShipStation supports creating [multi-package shipments](/content/docs/shipping/multi-package/index.html) for Canada services only.

### Label Branding

DHL Express from ShipStation does not support [label branding](/content/docs/labels/branding/index.html).

### Voiding Labels

DHL Express from ShipStation supports voiding labels with ShipStation API. Labels must be voided within 30 days of the label's creation date.

See our [Void a Label page](/content/docs/labels/voiding/index.html) for details about voiding labels with ShipStation API.

### Paperless Labels

DHL Express from ShipStation does not support creating [paperless labels](/content/docs/labels/paperless/index.html) for details about creating paperless labels with ShipStation API.

### Customs Declarations

DHL Express electronically submits your customs declarations. However, you can also download commercial invoices for DHL Express shipments from the `forms_download` object in the label response if needed.

### Delivery Confirmation

| Confirmation Type | API Code | Description |
| --- | --- | --- |
| Electronic signature | `signature` | Signature is required for the shipment to be delivered. This signature may be a neighbor, building manager, or the recipient can authorize the release of the package (without being present). |

See our [Delivery Confirmation page](/content/docs/shipping/delivery-confirmation/index.html) for more details about using the `confirmation` property.

### Advanced Options

DHL Express from ShipStation supports certain [advanced options](/content/docs/carriers/advanced-options/index.html), which you can add to the `shipment` object when creating a shipment or label.

| Option | Type | Default Value | Description |
| --- | --- | --- | --- |
| `saturday_delivery` | _boolean_ | `false` | Indicates that the carrier should charge for delivery on Saturday for services that do not otherwise include Saturday delivery. Available to both US and Canada-based accounts. |
| `delivery_duty_paid` | _boolean_ | `false` | Indicates the shipment is DDP (that is, the shipper is paying the duties/taxes for the shipment rather than the recipient). Available for US accounts only. |

To ensure you always have the most up-to-date information about a carrier's advanced options, use the [list carrier options call](/content/docs/reference/list-carrier-options/index.html).

### Manifests

DHL Express from ShipStation does not require [manifesting](/content/docs/shipping/manifests/index.html) your shipments.

### Scheduling Pickups

DHL Express from ShipStation supports [scheduling pickups](/content/docs/shipping/pickups/index.html) using ShipStation API.

### Service Points (PUDO)

DHL Express from ShipStation does not support shipping to [service points](/content/docs/pick-up-drop-off/pudo-intro/index.html).

### Tracking

DHL Express from ShipStation supports receiving tracking updates. Review our ​ [Track a Package guides​](/content/docs/tracking/index.html) ​ for details on tracking with the ShipStation API.
