{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Upload Shipment Documents","description":"itney Bowes Shipping API, developers can integrate features such as comparing shipping rates from multiple carriers, creating and purchasing shipping labels, tracking packages, scheduling pickups, managing returns, and accessing other shipping features. These APIs also offers a variety of shipping services, including international shipping and multi-carrier rate shopping, which allows developers to choose the best carrier and rate for each shipment.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"upload-shipment-documents","__idx":0},"children":["Upload Shipment Documents"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi/shipping/electronic-trade-document/uploadetd"},"children":["Upload Electronic Trade Document"]}," API is an international shipping document upload solution that enables you to electronically upload customs and trade documentation required for international shipments."," ","This API allows you to submit one or more shipment documents electronically, reducing the need to print, attach, or manually manage physical paperwork."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Considerations"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The Upload Electronic Trade Document API supports electronic upload of international shipping documents"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Multiple documents can be uploaded in a single API request"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["carrierAccountId"]}," is required for all carriers ( as of now only DHL and UPS carriers are supported)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parcelTrackingNumber"]}," is required only for UPS carrier accounts"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["DHL requires documents to be uploaded before shipment creation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["DHL Express supports ETDs with the special service ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PAPERLESS"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["UPS requires documents to be uploaded after shipment creation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["UPS associates shipment documents after shipment creation, using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parcelTrackingNumber"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In certain scenarios, original copies of specific international documents may still be required to be attached to the package."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-the-document-upload-workflow-works","__idx":1},"children":["How the Document Upload Workflow works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The document upload workflow depends on the carrier associated with the shipment. Currently DHL Express and UPS carriers supported document upload."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"dhl-express-workflow-upload-etd--create-international-shipment--attach-in-customsdocuments","__idx":2},"children":["DHL Express Workflow (Upload ETD → Create International Shipment → Attach in customsDocuments)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For DHL international shipments:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Upload documents before creating the shipment"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create the DHL international shipment"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Reference the uploaded documents using the s3FileId in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customs.customsDocuments"]}," object in the shipment request"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ensure the special service used is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PAPERLESS"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"how-the-workflow-operates","__idx":3},"children":["How the Workflow Operates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Submit Electronic Trade Document Metadata"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Initiate the process by making a POST request to the ETD Upload API with the document metadata (e.g., file name, document type, and content type)."," ","In response, the system returns:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A pre-signed S3 upload URL (url)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A fileName"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A relative ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["s3FileId"]}," used to reference the uploaded document later"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Upload the Document File"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After receiving the response, you must perform a separate HTTP PUT request to the provided url."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["This request must upload the binary content of the file (e.g., PDF or image)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Upload the same file whose metadata was submitted in step-1"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Reference the Document in Shipment Creation"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once the ETD uploaded successfully, the document is stored in the S3 bucket."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Once uploaded, the document is stored in the S3 bucket and can later be referenced via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["s3FileId"]}," in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi/shipping/shipment/createshipmentv2"},"children":["Create International Shipment"]}," API under ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customsDocuments"]}," object."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"ups-workflow-create-international-shipment---upload-etds-using-parceltrackingnumber","__idx":4},"children":["UPS Workflow (Create International Shipment  → Upload ETDs using parcelTrackingNumber)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For UPS international shipments:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create the shipment before uploading documents"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Retrieve the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parcelTrackingNumber"]}," from the shipment response"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Upload documents using the Upload Shipment Documents API"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["parcelTrackingNumber is mandatory for UPS document upload"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The system validates the tracking number and associates the documents with the existing shipment"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"how-the-workflow-operates-1","__idx":5},"children":["How the Workflow Operates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Create UPS international shipment"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create the UPS international shipment using the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi/shipping/shipment/createshipmentv2"},"children":["Create Shipment API"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Retrieve the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parcelTrackingNumber"]}," from the shipment response"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Submit Shipment Document Metadata"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Initiate the process by making a POST request to the ETD Upload API. Include the document metadata (file name, file format, document type, and content type) in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipmentDocuments"]}," array, along with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["carrierID"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parcelTrackingNumber"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In response, the system returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipmentDocuments"]}," array containing these fields:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A pre-signed S3 upload URL (url)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A fileName"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Format of the file"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A relative ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["s3FileId"]}," used to reference the uploaded document later"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Upload the Document File"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After receiving the response, you must perform a separate HTTP PUT request to the provided S3 url(s)."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["This request must upload the binary content of the file (e.g., PDF or image)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Upload the same file(s) whose metadata was submitted in step-2"]}]}]},"headings":[{"value":"Upload Shipment Documents","id":"upload-shipment-documents","depth":1},{"value":"How the Document Upload Workflow works","id":"how-the-document-upload-workflow-works","depth":2},{"value":"DHL Express Workflow (Upload ETD → Create International Shipment → Attach in customsDocuments)","id":"dhl-express-workflow-upload-etd--create-international-shipment--attach-in-customsdocuments","depth":3},{"value":"How the Workflow Operates","id":"how-the-workflow-operates","depth":4},{"value":"UPS Workflow (Create International Shipment  → Upload ETDs using parcelTrackingNumber)","id":"ups-workflow-create-international-shipment---upload-etds-using-parceltrackingnumber","depth":3},{"value":"How the Workflow Operates","id":"how-the-workflow-operates-1","depth":4}],"frontmatter":{"seo":{"title":"Upload Shipment Documents"}},"lastModified":"2026-05-19T07:33:15.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/others/upload-document","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}