/api/v1/templatesList category templates
Lists the DPP category templates — the regulatory field schemas (battery, textile, electronics, …). Each entry gives the category key, its English label, the total and required field counts, the governing regulation, and the template version. Templates are global reference data, not company-scoped.
Use this to discover what a compliant passport in a category needs *before* you create products and passports. To read the full field-by-field schema for one category, call `GET /api/v1/templates/{category}`.
`requiredFieldCount` is the category-agnostic figure. Where required-ness varies by product category the entry also carries `requiredFieldCountByCategory` — battery does, because the EU Battery Regulation asks different things of different battery types. Read that map rather than the flat number: for battery the flat count understates every in-scope category, because it ignores the fields that only become mandatory once a battery category is known. Note too that only EV, LMT and industrial batteries over 2 kWh need a battery passport at all; portable and SLI batteries are out of scope, so no field is required for them.
This is a low-frequency discovery call, so it does not count against your daily read cap. Authentication is a `tp_` API key or an OAuth token with the `passports:read` scope.
Headers
- Authorizationrequired
string
`Bearer <token>` — either a `tp_` API key (Developer → API Keys; simplest, for server-to-server) or an OAuth 2.0 access token (Developer → OAuth Apps; for user-authorized apps, scoped + revocable). The Authentication page has the full OAuth flow and scope list.
e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
Request
curl -sS https://app.tracepass.eu/api/v1/templates \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"Response
{
"templates": [
{
"category": "battery",
"categoryLabel": "Battery",
"fieldCount": 117,
"requiredFieldCount": 59,
"requiredFieldCountByCategory": {
"EV": 85,
"LMT": 88,
"industrial_gt_2kwh": 70
},
"regulation": "EU Battery Regulation 2023/1542",
"version": 1
},
{
"category": "textile",
"categoryLabel": "Textile",
"fieldCount": 60,
"requiredFieldCount": 12,
"regulation": "ESPR 2024/1781",
"version": 2
}
]
}