MetaPack REST API Guidance: EU Customs Changes
1. EU De Minimis Changes (Effective July 1, 2026)
The European Union has removed the €150 duty-free threshold. Qualifying B2C shipments valued at €150 or less, originating outside the EU and shipped to an EU member state, are subject to a flat €3 customs duty per unique HS code. B2B shipments (where the recipient is VAT-registered) remain exempt.
Implementation
Pass the shipment type in the movementIndicator field at the consignment level. Values are lowercase:
| Movement Indicator Value | Description / Use Case |
|---|---|
b2b |
Business-to-Business shipments |
b2c |
Business-to-Consumer shipments |
c2b |
Consumer-to-Business shipments |
c2c |
Consumer-to-Consumer shipments |
Example Payload Snippet
{
"movementIndicator": "b2c"
}2. Product Identifiers / Compliance (Required November 1, 2026)
Starting November 1, 2026, every product item in a B2C shipment to the EU—regardless of value—must carry product identification data so customs authorities can identify the precise items being imported.
In MetaPack REST API, product identifiers are passed directly within each product item inside the compliance object:
| MetaPack REST Field | Description | Type / Enum |
|---|---|---|
itemRef |
Internal identifier of the trade item, for example the SKU (at the item level). | string |
compliance.manufacturerProductId |
The primary manufacturer identifier (GTIN, UPC, EAN, MPN, SKU). | string |
compliance.manufacturerProductIdType |
The type code corresponding to manufacturerProductId. |
"gtin", "ean", "upc", "isbn", "mpn", "sku", "undefined" |
compliance.manufacturerNsProductId |
An additional non-standard manufacturer part/model number. | string |
Note: Identifiers must be assigned per distinct product variant (color/size combination). Lot/batch numbers will be rejected.
Complete MetaPack REST API JSON Example
{
"movementIndicator": "b2c",
"attributes": {
"incoterms": "DDP"
},
"parcels": [
{
"weight": {
"value": 0.236
},
"items": [
{
"itemRef": "8379892",
"description": "Test Product 1",
"quantity": 1,
"value": {
"amount": 65.00
},
"countryOfOrigin": "GBR",
"harmonisedCode": "95134569",
"compliance": {
"manufacturerProductId": "0123456789012",
"manufacturerProductIdType": "gtin",
"manufacturerNsProductId": "NS-PROD-001"
}
}
]
}
]
}Carrier Readiness
Last updated: 30 September 2026
These carriers are ready to accept the movement indicator and product identifier data described above:
- Starlinks
- UPS
We're rolling out support to more carriers in stages, and we'll update this list as each one goes live.
If your carrier isn't listed yet, you can start preparing your integration now by including the movementIndicator and compliance fields in your requests, so you're ready when support is added.