{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"9a600f19-dfff-42ce-870f-e9506c27555f","name":"International Mail Duty Collection API","description":"# International Mail Duty Collection API Documentation\n\n## ⚠️ Upcoming CBP Requirement — Effective July 24th, 2026\n\nStarting **July 24th, 2026**, new U.S. Customs and Border Protection (CBP) requirements take effect. The following **package item** fields are currently **optional** but will become **mandatory** for every item submitted to the **Create Packages** and **Create Shipment** endpoints:\n\n- **`description`** — text description of the item\n    \n- **`htsCode`** — Harmonized Tariff Schedule code\n    \n- **`quantity`** — number of units and unit of measure\n    \n- **`weight`** — item weight and unit of measure\n    \n\nPlease update your integration to send these fields **before July 24th, 2026** to avoid rejected submissions after that date.\n\n## Overview\n\nThe International Mail Duty Collection API allows developers to integrate comprehensive customs and duty processing capabilities within their shipping and e-commerce applications. The API offers package creation, container management, shipment processing, and automated duty calculation features.\n\n**Getting Started:** For additional help, please email us at [<b>support@safepackage.com</b>](https://mailto:support@safepackage.com).\n\n**Account Setup:** To request API access, please email [<b>api-access@safepackage.com</b>](https://mailto:api-access@safepackage.com) with your business information and integration requirements. Our team will provision your account and provide the necessary credentials for authentication.\n\n## Endpoints and Services\n\n**Package Management**  \nCreate and manage individual mail packages with detailed customs information including country of origin, declared values, and item details.\n\n**Container Operations**  \nGroup packages into containers with comprehensive entry route information including flight numbers, vessel details, transport types, carrier codes, and port of entry data.\n\n**Shipment Processing**  \nProcess complete shipments with multiple containers and packages in a single operation. This powerful endpoint combines package creation, container management, and automatic associations in one streamlined workflow.\n\n## Authentication and Security\n\nThe International Mail Duty Collection API uses JWT Bearer token authentication via OAuth2 integration. All API requests require proper authentication using JWT Bearer tokens.\n\n**Authentication Setup**  \nObtain your JWT tokens from our OAuth2 authentication service at [https://auth.dutycollection.safepackage.com](https://auth.dutycollection.safepackage.com/protocol/openid-connect/token). Configure your application with the client credentials provided during account setup.\n\n## Duty Calculation and Compliance\n\n**Automatic Duty Calculation**  \nThe API automatically calculates duties and tariffs based on country of origin, declared values, current trade policy and tariff rates.\n\n## API Information\n\n**Production Environment**\n\n- **Base URL**: [https://dutycollection.safepackage.com](https://dutycollectionapi.safepackage.com)\n    \n- **Authentication URL**: [https://auth.dutycollection.safepackage.com](https://auth.dutycollection.safepackage.com/protocol/openid-connect/token)\n    \n\n**Sandbox Environment**\n\n- **Base URL**: [https://dutycollection-sandbox.safepackage.com](https://dutycollectionapi.safepackage.com)\n    \n- **Authentication URL**: [https://auth.dutycollection-sandbox.safepackage.com](https://auth.dutycollection.safepackage.com/protocol/openid-connect/token)\n    \n\n## Support and Resources\n\n**Getting Help**\n\n- **Email Support**: [support@safepackage.com](https://mailto:support@safepackage.com)\n    \n- **Account Setup**: Email [api-access@safepackage.com](https://mailto:api-access@safepackage.com) for account provisioning\n    \n- **Integration Assistance**: Custom implementation support available\n    \n\n## Duty-exempt HTS codes\n\nThe API allows the submittal of item HTS code information, which helps to differentiate between taxable and exempt goods. Listed below is a table of eligible HTS code prefixes. If an HTS code begins with one of the listed prefixes, it is eligible for a duty exemption.\n\n| HTS Code Prefix |\n| --- |\n| 3704.00.00 |\n| 3705.00.00 |\n| 3706 |\n| Chapter 49 (HTS codes starting with 49) |\n| 5807 |\n| 6307.90.30 |\n| 6307.90.85 |\n| 8310 |\n| 8523.29 |\n| 8523.41 |\n| 8523.49 |\n| 8523.80.10 |\n| 9405.61 |\n| 9405.69 |\n| 9701 |\n| 9702 |\n| 9703 |\n| 9704 |\n| 9705 |\n| 9903.01.03 |\n| 9903.01.12 |\n| 9903.01.22 |\n| 9903.01.31 |\n\n2 separate HTS codes can also be used to claim tax exemption, but are part of specific cases:\n\n- 9804.00.30 - HTS code for items specified as gifts, where all items in the package are eligible for duty exemption if the they all have the specified HTS code and the total declared value of the package does not exceed $100\n    \n- 9801.00.10 - Returns, items whose country of origin is the US which are being returned to the country","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"48610445","team":5478190,"collectionId":"9a600f19-dfff-42ce-870f-e9506c27555f","publishedId":"2sB3HtEc3X","public":true,"publicUrl":"https://docs.dutycollection.safepackage.com","privateUrl":"https://go.postman.co/documentation/48610445-9a600f19-dfff-42ce-870f-e9506c27555f","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"BA2D53"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/9a7a993b-93c2-46c4-87c3-1dd1c9fafded/Y3ViZS1sb2dvLXVwZGF0ZWQucG5n","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"BA2D53"}},{"name":"light","logo":"https://content.pstmn.io/9a7a993b-93c2-46c4-87c3-1dd1c9fafded/Y3ViZS1sb2dvLXVwZGF0ZWQucG5n","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"BA2D53"}}]}},"version":"8.11.14","publishDate":"2026-07-01T20:03:17.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/9a7a993b-93c2-46c4-87c3-1dd1c9fafded/Y3ViZS1sb2dvLXVwZGF0ZWQucG5n","logoDark":"https://content.pstmn.io/9a7a993b-93c2-46c4-87c3-1dd1c9fafded/Y3ViZS1sb2dvLXVwZGF0ZWQucG5n"}},"statusCode":200},"environments":[{"name":"Sandbox","id":"fbe63eb7-7227-4337-b201-2547747425e8","owner":"33023884","values":[{"key":"base_url","value":"https://dutycollection-sandbox.safepackage.com","enabled":true,"type":"default"},{"key":"token_url","value":"https://auth.dutycollection-sandbox.safepackage.com/realms/SafePackage/protocol/openid-connect/token","enabled":true,"type":"default"},{"key":"token_expiry","value":"","enabled":true,"type":"default"},{"key":"client_secret","value":"","enabled":true,"type":"secret"},{"key":"client_id","value":"","enabled":true,"type":"default"},{"key":"access_token","value":"","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/6a1ffc52eb77a6ab256c4805fd6f58a01d860f8ec177f7ac31d4bd8ec860ed57","favicon":"https://safepackage.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Sandbox","value":"33023884-fbe63eb7-7227-4337-b201-2547747425e8"}],"canonicalUrl":"https://docs.dutycollection.safepackage.com/view/metadata/2sB3HtEc3X"}