iPaaS and middleware
Call the BatteryPass API from n8n, Make, Power Automate, MuleSoft, Boomi, Workato, Zapier and SAP Integration Suite with a key from the platform's secret store, and poll the change feed.
Most ERP integrations run on an integration platform rather than on custom code. Every platform below can call
BatteryPass, because the API needs only two things: an HTTPS request with the header
Authorization: Bearer <key>, and JSON (or multipart/form-data for imports). This page shows where the key goes
on each platform and how each one follows the change feed.
The platforms are described from their public documentation. BatteryPass offers no connector of its own on any of them and has no partnership with their vendors.
What all platforms do the same way
- The key lives in the platform's credential store, never in a flow definition, a script or a variable that appears in run logs. Use one key per flow and environment (see Security).
- The contract. BatteryPass publishes its integration contract as OpenAPI 3.0.3 at
/api/v1/openapi.jsonand/api/v1/openapi.yamlon your BatteryPass address, and as a download in the API reference. Platforms that import OpenAPI 3 build their operations from it. - Polling instead of webhooks. BatteryPass sends no outbound webhooks yet; they are planned and need a
decision of their own. Schedule a flow (every few minutes) that calls
GET /api/v1/changeswith the stored cursor, processes the items oldest first, and storesnext_cursorwhen it is notnull. The pattern is the same everywhere:
cursor = load from the platform's data store (empty on the first run)
repeat:
GET /api/v1/changes?types=passport.published,passport.republished&limit=100&cursor={cursor}
for each item: read the entity, update the ERP
if next_cursor is null: stop (an empty page keeps the old cursor)
cursor = next_cursor, save it (only after the ERP accepted the page)- Errors. Retry
429afterRetry-Afterand5xxwith backoff; do not retry other4xx(see Handle errors and retries).
Platforms
Uploading imports from a platform
Units from production needs multipart/form-data: the
file in the part file (with a file name and a content type text/csv or the XLSX type), and the preset id in the
part preset. Every platform above can send multipart requests from its HTTP connector; build the CSV in the flow
and attach it as binary content. Then poll GET /imports/{id} until status is validated or failed.