Articles on: API & Webhooks

DHL Express REST API Enhancements

Overview



Effective April 10, 2025, we’re doing key enhancements to your DHL Express REST API integration. These updates are designed to improve your shipping and returns experience with better API reliability, expanded features, and seamless operation.

Key details



The new REST API features improved shipment data, automatic paperless invoices, and new DHL box types.
Labels will reflect paperless processing (PLT), and rate results are now included in Labels API responses.
This update impacts all existing AfterShip Shipping and Returns customers using a MyDHL Express carrier account, as well as all new customers.
AfterShip Shipping and AfterShip Returns services will continue without downtime.
All enhancements will be made on the backend, so no action is required from the customer.

Key API Enhancements



Require action from your end


These enhancements require you to take some actions to ensure your shipping and returns services remain compatible with the updated API.

API enhancementDetailsBeforeAfterAction required
New set of box_type EnumLegacy box_type values are deprecated. New values should be used for DHL shipments.The following values were used. custom, dhl_express_envelope, dhl_other_dhl_packaging, dhl_flyer, dhl_jumbo_box, dhl_junior_jumbo_box, dhl_jumbo_document, dhl_jumbo_parcel, dhl_document, dhl_domestic, dhl_express_document, dhl_jumbo_junior_document, dhl_jumbo_junior_parcel, dhl_parcelNew values will be used. custom, dhl_box_2, dhl_box_3, dhl_box_4, dhl_box_5, dhl_box_6, dhl_box_7, dhl_box_8, dhl_tube_small, dhl_tube_large, dhl_card_envelopeCustomers using DHL-provided boxes should update their box_type values to match the new ones.
Rates API response detailed_charge.type value changedetailed_charge.type values are now in lowercase instead of uppercase."DEMAND SURCHARGE""demand_surcharge"Customers relying on this field should update parsing logic.
Handling carrier response charge = 0total_charge will now be null instead of 0 when no rates are returned."total_charge": { "amount": 0, "currency": null }"total_charge": null, "info_message": "No rate quotes returned from carrier."No action needed, but customers should expect this updated response format.


Require no action from your end


These enhancements don't require any changes or actions from you. The API will continue to work as it did before, but the changes are either internal or will be handled automatically by the API itself. You will greatly benefit from the improvements without needing to modify your integration.

API enhancementDetailsBeforeAfterAction required
Include getAdditionalInformation when creating shipmentsDHL shipments will now always include additional shipment data for future improvements.Not included in shipment requests.Now includes "getAdditionalInformation": [{ "typeCode": "optionalShipmentData", "isRequested": true }] . Note: This change only affects our API interactions with the carrier and does not impact the customer's API experience with us.No
Auto-apply paperless invoicePaperless invoices will be enabled by default. Non-paperless-eligible shipments will still succeed with bypassPLTError=true.
1. Domestic & EU to EU shipmentsNo impact on customer-facing API behavior or label output even though we make changes to our raw request to DHL.No
2. International shipments
Case 1: Non-qualified shipments created with paperless_invoiceLabel creation fails with error: Bad request: 7008Label creation will now succeed without error.No
Case 2: Qualified shipments not created with paperless_invoiceLabel shows ADI (Advance Data Included)Label will show PLT (Paperless Trade) instead of non-PLT.No
Case 3: Qualified Shipments created with paperless_invoiceNo impact. These shipments always succeeded as PLT.No
Case 4: Non-qualified shipments not created with paperless_invoiceNo impact. These shipments will continue as non-PLT.No
Always get DHL commercial invoiceDHL-generated commercial invoices will always be used when requested.API response varied and DHL commercial invoice was not always provided.API response remains unchanged, but now will always retrieve the DHL commercial invoice.No
Show "Original Export Tracking ID" on Returns commercial invoiceReturns invoices will display the original outbound tracking number if available."Original Export Tracking ID" was empty"Original Export Tracking ID" will display outbound tracking number if availableNo
Trim parcel.description and parcel.items.descriptionExtra spaces will be trimmed to prevent label failures.Label creation fails if descriptions contain leading or trailing spaces.Label creation will succeed after trimming spaces.No
Add Dangerous goods customDescription for PI001 shipments"LIMITED QUANTITIES ROAD ONLY" will now appear on labels for these shipments.No customDescription was sent to DHLcustomDescription = "LIMITED QUANTITIES ROAD ONLY" will appear on labels.No
Apply tax_id_type mappingtax_id_type will now determine registrationNumbers.typeCode, improving tax information accuracy.registrationNumbers.typeCode inferred from shipment datatax_id_type will be explicitly mapped to registrationNumbers.typeCode. Otherwise, we will refer to shipment data. Example: vat → VAT, gst → GST, ioss → SDT, eori → EORNo action needed, but providing tax_id_type ensures better mapping.
Include rate results in Labels API responseRate results will be returned in the Labels API response.The response always displayed No rate quotes returned from carrier, and total_charge had no value.The Labels API response will now include total_charge and detailed_charges.No
Trim address lines in Rates API requestAddress fields exceeding 45 characters will be trimmed to prevent rate calculation failures.Rate calculation fails if street1, street2, or street3 exceeds 45 characters.Only the first 45 characters will be used to prevent failure.No
Rates API Response date format updateDate format now includes the organization’s time zone.2024-12-06T22:00:002025-03-03T19:00:00+08:00No



Refer to DHL Express Troubleshooting Tips if you need more help on DHL Express.

Updated on: 07/04/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!