Support
How to get help with an integration, what to include in a request, and where the status of features is documented.
Who to contact
| Question | Contact |
|---|---|
| API keys, scopes, organisation settings such as the re-publication policy | An owner of your organisation, in the portal |
| Data in a passport, review, publication | The members of your organisation responsible for the data |
| Errors you cannot explain, outages, suspected security problems | Your BatteryPass contact, or the operator of your BatteryPass installation |
Support channels and response times are agreed with the operator of your installation; this documentation does not define them.
Check first
- The Problem's
code,detailanderrors[]usually name the cause; Errors explains every code, and Handle errors shows how to react to them. 429 rate_limited: wait forRetry-Afterseconds (Rate limits).403 forbiddenwith a key: the key lacks the operation's scope, or the operation needs more than a viewer's rights (Authentication).
Quote the request id
Every response, successful or not, carries an X-Request-Id header. Error responses repeat it as request_id
in the Problem body. With this id the operator finds your request in the logs. BatteryPass ignores an
X-Request-Id you send and always assigns its own, so log the one from the response.
curl -s -D - -o /dev/null "$BATTERYPASS_URL/api/v1/battery-models?limit=1" \
-H "Authorization: Bearer $BATTERYPASS_API_KEY" | grep -i '^x-request-id'What to include
Identify the request
The request_id, the time in UTC, the operation (for example updateCondition, or method and path) and the
HTTP status with the Problem's code, detail and errors[].
Identify the key and the data
The key's prefix (its first 12 characters, as the portal shows it) and the ids involved: battery id, passport UUID, version number.
Describe the case
What you expected, what happened, and whether it happens every time or only sometimes.
Never send the full API key, and leave out personal data and exports that contain restricted tiers (the BatteryPass JSON and the PDF of a passport version). The request id and the ids are enough to find the request.
Status of features
- The changelog lists what changed in the API and in this documentation, also as an RSS feed.
- The published contract states its version in
info.version; download it as JSON or YAML. getRegistryInfoandgetRegistryStatusreport the field registry in use and how many passports need an update after a registry change.getRegistrySubmissionStatusreports the EU registry state of a passport; it isnot_availablewhile the EU registry has no interface for economic operators.