Portable battery field reference
Field reference for batteryCategory: "PORTABLE_BATTERY" responses from GET /api/dpp/{slug}. Portable batteries cover consumer-replaceable and built-in batteries in everyday devices, such as power banks, power tools, and household electronics.
For fields shared across all categories, see DPP overview. This page documents what is specific to, or different for, portable batteries.
The Digital Product Passport is voluntary for portable batteries
This is the most important difference from the EV, LMT, and Industrial categories.
Under EU Battery Regulation 2023/1542, the mandatory Digital Product Passport obligation applies to LMT batteries, industrial batteries above 2 kWh, and EV batteries. Portable batteries are not in scope of the mandatory DPP requirement. A portable battery DPP on Traceable is therefore a voluntary passport.
Two consequences for integrators:
- Most fields are nullable. Because there is no mandatory field set to enforce, you cannot assume any compliance, carbon footprint, or performance field is present. Always guard against null.
- Carbon footprint is not required. Unlike EV and LMT batteries (where
carbonFootprintis never null), portable batteries commonly have a nullcarbonFootprint. Treat its presence as a bonus, not a guarantee.
Nullability by field
Because portable DPPs are voluntary, the "Commonly present?" column reflects what well-populated portable passports tend to include, not a guarantee. Always null-check before use.
| Field path | Type | Commonly present? | Notes |
|---|---|---|---|
productName | string | Always | |
batteryCategory | string | Always | "PORTABLE_BATTERY" |
status | string | Always | "published" |
manufacturer | object | Always | Name, country, contact |
performance.nominalCapacity | number | null | Often | Portable capacity is typically small. May be expressed in Wh or mAh rather than kWh; check the accompanying unit field before display |
performance.ratedVoltageV | number | null | Often | |
performance.cycleLife | number | null | Sometimes | Charge cycles, where declared |
chemistry | string | null | Often | |
carbonFootprint | object | null | Rarely | Not required for portable; commonly null |
recycledContent | object | null | Sometimes | Often reported as a single aggregate percentage rather than per-metal values |
removability | object | null | Often | User-replaceability information (see below) |
weeeSymbolPresent | boolean | null | Often | Whether the separate-collection (crossed-out wheeled bin) mark is on the product |
hazardousSubstances | array | May be empty | Substances above threshold, where declared |
compliance | object | null | Sometimes | Declarations and certifications, where provided |
supplyChain | object | null | Sometimes | Due diligence summary, where provided |
The id, slug, version, publishedAt, updatedAt, and createdAt fields follow the same rules as every other category. See DPP overview.
Removability and replaceability (Article 11)
EU Battery Regulation Article 11 requires that portable batteries in many product types be removable and replaceable by the end user. Where the operator has declared this, portable DPPs carry user-replaceability information.
For portable batteries this is typically a simple indicator of whether the battery is user-removable, rather than the longer removability statement found on EV and Industrial passports. Treat it as nullable:
const dpp = await fetchDpp('example-power-bank-slug');
if (dpp.batteryCategory === 'PORTABLE_BATTERY') {
const removable = dpp.removability?.userRemovable;
if (removable === true) {
console.log('Battery is user-removable');
} else if (removable === false) {
console.log('Battery is built in (not user-removable)');
} else {
console.log('User-removability not declared');
}
}
Capacity units
Portable batteries are commonly rated in milliamp-hours (mAh) or watt-hours (Wh), not kilowatt-hours (kWh) as used for EV and LMT batteries. Do not assume a kWh scale when displaying portable capacity. Read the unit alongside the value and convert as needed for your display.
Carbon footprint (handle as nullable)
Unlike EV and LMT batteries, do not access carbonFootprint directly for portable batteries. Guard against null:
const dpp = await fetchDpp('example-power-bank-slug');
if (dpp.batteryCategory !== 'PORTABLE_BATTERY') {
throw new Error('Expected PORTABLE_BATTERY');
}
const cf = dpp.carbonFootprint;
if (cf) {
console.log(`${cf.totalKgCO2ePerKwh} kgCO₂e/kWh`);
} else {
console.log('Carbon footprint not declared (not required for portable batteries)');
}
Restricted fields (PoLI access only)
As with other categories, detailed supply chain fields (raw material sourcing detail, internal audit references, full supplier identity data) are omitted from the public API response and are accessible only to entities with approved PoLI access. See PoLI endpoints and the PoLI access flow example.