Starting July 8, 2026, importers shipping consumer products regulated by the U.S. Consumer Product Safety Commission (CPSC) must electronically submit product safety certificate data through ACE (Automated Commercial Environment) at the time of entry. This requirement replaces the previous practice of simply maintaining certificates on file.
This guide explains how to include CPSC eFiling compliance data in your ShipStation API integration.
NOTE:
This guide provides technical information for implementing CPSC eFiling compliance via ShipStation API. This is not legal advice. Consult with legal counsel or customs brokers for compliance guidance specific to your business.
INFO:
Carrier support for CPSC eFiling data varies. Verify with your specific carrier that they support transmitting CPSC compliance data to US Customs.
July 8, 2026 - Mandatory electronic filing of product safety certificate data at customs entry.
Any international business shipping finished consumer products under CPSC jurisdiction to the United States.
The following product categories commonly require CPSC certification:
- Children's products (ages 12 and under): toys, clothing, footwear, furniture, car seats
- Mattresses and bedding
- Bicycles and helmets
- Household goods and appliances
- Consumer electronics
- Textiles and apparel
- Imitation jewelry
No exemptions: This requirement applies to ALL shipments of regulated products, regardless of value. There is no de minimis/Section 321 low-value exemption for CPSC eFiling.
Resources:
- CPSC Regulatory Robot - Product classification tool
- CPSC HTS Code List (PDF) - Verify coverage by HTS code
You can comply with CPSC eFiling requirements using two methods:
Pre-register your product certificates in the CPSC Product Registry Portal. The system generates two reference identifiers that you'll include in your API requests:
- Certifier ID - Identifies your organization
- Certificate Version ID - Tracks certificate revisions
Once registered, include these identifiers in your ShipEngine API requests as shown in the API Implementation section below.
UPS provides a dedicated CPSC form that can be submitted electronically alongside your shipment. This method is recommended by UPS for merchants shipping via UPS.
How it works:
- Download and complete the UPS CPSC Form (PDF)
- Save the completed form as a PDF
- Upload it electronically using ShipStation API's Carrier Document Upload feature
- Select the "other" document type when uploading
Additional step (optional but recommended): If space permits on the Commercial Invoice (150-character limit), you can also manually add the CPSC identifiers for additional reference, even when using the electronic document upload method.
Benefits of using the UPS form:
- Comprehensive CPSC compliance documentation in one standardized format
- Covers both products registered and not registered in the CPSC Product Registry
- Includes testing citations, exemptions, and manufacturer details
- Can serve as a blanket document for multiple entries (valid for one year)
- Preferred workflow by UPS for UPS shipments
CPSC eFiling data is provided at the product level within the packages[].products[] array using the cpsc_certificates array.
CPSC Certificate Object:
| Property | Type | Required? | Description |
|---|---|---|---|
certifier_id | string | required | The Certifier ID from CPSC Product Registry (max 50 characters). |
certificate_version_id | string | required | The Certificate Version ID from CPSC Product Registry (max 50 characters). |
Note: The cpsc_certificates array should contain one certificate object for each product that requires CPSC certification. Products are specified using the products array within each package, not the deprecated customs_items array.
Use cpsc_disclaim when a product's HTS code is on the CPSC-flagged list, but the specific product does not require a Certificate of Compliance. This tells ACE/CBP why no certificate is being filed and helps prevent shipment holds.
NOTE:
Filing a Disclaim is not mandatory (including for Section 321 de minimis shipments), but CPSC encourages it as it may improve your risk score. You can use
cpsc_disclaimandcpsc_certificateson different products within the same shipment, but not on the same product.
CPSC Disclaim Object:
| Property | Type | Required? | Description |
|---|---|---|---|
disclaim_code | enumerated string | required | The disclaimer code indicating why no certificate is required. Valid values: A - Product Not Regulated by CPSC: product falls outside CPSC jurisdiction (e.g., regulated by FDA), has no applicable CPSC safety standard, or is a B2B part for further assembly. Examples: adult hats/scarves, collectible adult toys, sports helmets (excluding bicycle helmets). B - Enforcement Discretion: product falls under CPSC jurisdiction and a rule technically applies, but CPSC is exercising enforcement discretion and does not require a certificate. Examples: adult wearing apparel with flammability testing exemptions under 16 CFR 1610, household refrigerators with a safety certification mark. |
intended_use_code | string | required | A code from CBP's Intended Use Code list. Must accompany every Disclaim filing. For Disclaim B, must be 130.006. Max 16 characters. See Intended Use Codes table below. |
intended_use_description | string | A plain-language description of the product's intended use. Max 100 characters. Recommended by CPSC when intended_use_code is 980.000 (Other Use). |
Note: Use either cpsc_certificates or cpsc_disclaim per product - not both. One product can only have one disclaim_code, intended_use_code, and intended_use_description per customs entry line.
For Disclaim B: Must use 130.006 (Consumer product intended for people aged 13 years or older).
For Disclaim A: Choose from the following base codes based on your scenario:
| Intended Use Code | Meaning |
|---|---|
081.XXX | For Human Medical Use as a Medical Device |
090.XXX | For Military Use as a Non-Food Product |
100.XXX | For Personal Use as a Non-Food Product |
130.XXX | For Consumer Use (other than standard adult goods) |
155.XXX | For Commercial Assembly as a Non-Food Product |
970.XXX | For Export |
980.000 | Other Use - intended_use_description recommended |
POST /v1/labels
POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"shipment": {
"ship_to": {
"name": "John Doe",
"address_line1": "123 Main St",
"city_locality": "Austin",
"state_province": "TX",
"postal_code": "78701",
"country_code": "US"
},
"ship_from": {
"name": "Acme Corp",
"address_line1": "456 Factory Rd",
"city_locality": "London",
"postal_code": "SW1A 1AA",
"country_code": "GB"
},
"packages": [
{
"weight": {
"value": 2.0,
"unit": "pound"
},
"dimensions": {
"length": 10.0,
"width": 8.0,
"height": 6.0,
"unit": "inch"
},
"products": [
{
"description": "Children's toy truck",
"quantity": 1,
"value": {
"amount": 24.99,
"currency": "USD"
},
"harmonized_tariff_code": "950300",
"country_of_origin": "GB",
"cpsc_certificates": [
{
"certifier_id": "CERT-12345",
"certificate_version_id": "v1.0"
}
]
}
]
}
],
"customs": {
"contents": "merchandise",
"non_delivery": "return_to_sender"
}
},
"carrier_id": "se-123456",
"service_code": "usps_priority_mail_international"
}POST /v1/shipments
POST /v1/shipments HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"ship_to": {
"name": "Jane Smith",
"address_line1": "789 Oak Ave",
"city_locality": "Miami",
"state_province": "FL",
"postal_code": "33101",
"country_code": "US"
},
"ship_from": {
"name": "Global Goods Ltd",
"address_line1": "100 Export Blvd",
"city_locality": "Toronto",
"state_province": "ON",
"postal_code": "M5H 2N2",
"country_code": "CA"
},
"packages": [
{
"weight": {
"value": 15.0,
"unit": "pound"
},
"products": [
{
"description": "Infant car seat",
"quantity": 1,
"value": {
"amount": 149.99,
"currency": "USD"
},
"harmonized_tariff_code": "940120",
"country_of_origin": "CA",
"cpsc_certificates": [
{
"certifier_id": "CERT-67890",
"certificate_version_id": "v2.1"
}
]
}
]
}
],
"customs": {
"contents": "merchandise",
"non_delivery": "return_to_sender"
}
}Use cpsc_disclaim when your product is exempt from CPSC certification requirements.
POST /v1/labels
POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"shipment": {
"ship_to": {
"name": "John Doe",
"address_line1": "123 Main St",
"city_locality": "Austin",
"state_province": "TX",
"postal_code": "78701",
"country_code": "US"
},
"ship_from": {
"name": "Acme Corp",
"address_line1": "456 Factory Rd",
"city_locality": "London",
"postal_code": "SW1A 1AA",
"country_code": "GB"
},
"packages": [
{
"weight": {
"value": 2.0,
"unit": "pound"
},
"dimensions": {
"length": 10.0,
"width": 8.0,
"height": 6.0,
"unit": "inch"
},
"products": [
{
"description": "Industrial component",
"quantity": 1,
"value": {
"amount": 49.99,
"currency": "USD"
},
"harmonized_tariff_code": "848180",
"country_of_origin": "GB",
"cpsc_disclaim": {
"disclaim_code": "B",
"intended_use_code": "130.006"
}
}
]
}
],
"customs": {
"contents": "merchandise",
"non_delivery": "return_to_sender"
}
},
"carrier_id": "se-123456",
"service_code": "usps_priority_mail_international"
}Failure to provide required CPSC eFiling data can result in:
- Entry delays and shipment holds
- Examination and documentation requests from US Customs
- Potential refusal of entry
- Storage fees while shipments are held
- Re-routing costs
- Potential penalties from CPSC
Before shipping regulated products to the US after July 8, 2026:
- Check product coverage - Use the CPSC Regulatory Robot and HTS code list
- Locate existing certificates - Confirm you have a current CPC (Children's Product Certificate) or GCC (General Certificate of Conformity) for all regulated products
- Choose your filing method:
- API Integration: Register certificates in CPSC Product Registry and obtain identifiers
- UPS Form Upload (UPS shipments): Download, complete, and save the UPS CPSC Form as PDF
- Update integration:
- API method: Modify your code to include the
cpsc_certificatesarray in theproductsarray within each package - Document upload method: Integrate with Carrier Document Upload to attach the completed form
- API method: Modify your code to include the
- Coordinate with carrier/broker - Discuss data formatting and transmission requirements early
- Test implementation - Verify data transmits correctly with sample shipments
- Monitor CPSC updates - Check CPSC FAQs and guidance regularly
- CPSC eFiling Information
- CPSC Product Registry Portal
- CPSC HTS Code List (PDF)
- CPSC eFiling FAQs
- CPSC Regulatory Robot
- UPS CPSC Form (PDF) - UPS-provided form for electronic document upload