Skip to content

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.json and /api/v1/openapi.yaml on 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/changes with the stored cursor, processes the items oldest first, and stores next_cursor when it is not null. The pattern is the same everywhere:
Polling loop
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)

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.

On this page