REST API with JSON. Authenticate with an API key in the Authorization: Bearer header. Keys are created under Settings, API, and have limited scopes.
POST requests support the Idempotency-Key header. The same key with the same body returns the same response for 24 hours.
Authentication
export BASE_URL="https://…" # the address of your account
curl -H "Authorization: Bearer $API_KEY" "$BASE_URL/api/v1/products"
Endpoints
GET/api/v1/batteries
List battery models with category, battery passport and how many of the requirements for 18 Feb 2027 are answered. Filter with category.
| Scope | batteries:read |
| Parameters |
|
| Responses | 200 · 401 |
GET/api/v1/batteries/{id}
Get one battery model with passport and readiness.
| Scope | batteries:read |
| Parameters |
|
| Responses | 200 · 404 |
GET/api/v1/batteries/{id}/units
List the registered individual batteries (serial numbers) of a battery model with status and the address of each battery's passport.
| Scope | batteries:read |
| Parameters |
|
| Responses | 200 · 404 |
POST/api/v1/batteries/{id}/units
Register or update individual batteries, at most 1,000 per call. A known serial number is updated; fields you leave out stay as they are.
| Scope | batteries:write |
| Parameters |
|
| Responses | 201 · 422 |
GET/api/v1/products
Fetch a page of products with their packaging types. Use per_page (at most 100) and page.
| Scope | products:read |
| Parameters |
|
| Responses | 200 · 401 |
POST/api/v1/products
Create a product. Send an Idempotency-Key so a repeated call does not create the product twice.
| Scope | products:write |
| Parameters |
|
| Responses | 201 · 422 · 429 |
GET/api/v1/products/{id}
Fetch one product with its packaging types.
| Scope | products:read |
| Parameters |
|
| Responses | 200 · 404 |
GET/api/v1/passports
List published battery and product passports with their GS1 Digital Link addresses.
| Scope | passports:read |
| Responses | 200 |
GET/api/v1/declarations
Fetch issued EU declarations of conformity with number and version.
| Scope | declarations:read |
| Responses | 200 |
Limits per plan
The API is included from Pro. Pro: 1,000 calls per hour. Business: 5,000 calls per hour. Above that the API answers 429 with a Retry-After header saying when to try again. Enterprise is agreed individually.