For one-time migration of thousands of existing members, Bambu also supports CSV upload in the admin portal (Distribution → Upload CSV). Use the API flows below for ongoing batch operations from your own systems.
When to use which endpoint
Prerequisites
- Authenticate and obtain a Bearer token.
- Know your
brand_id,program_id, and unique field name (for examplememberIdinpassdata.metaData). - See Unique identifier for how
unique_idties create and update together.
Scenario: enroll a batch of new members
Your registration system has a list of new members to receive wallet passes. Send them in oneissue-wallets request.
Request
Response
SavepassId, downloadUrlApple, and downloadUrlGoogle per member from the response. Distribute install links through your own email or SMS channel.
Tips
- Keep batches at a size your job runner can retry (ask Bambu about rate limits for your tenant).
- If one member already exists, behavior depends on brand rules. Design your job to log failures and continue.
- Do not call
POST /peoplefirst; each pass entry creates the cardholder when needed.
Scenario: update many cards with the same change
Your loyalty program needs to push the same message or points rule to every card in a tier, for example all Active members before an event.Request
Use query parameters to filter which passes receive the change, and the body for what changes.
The response includes an
updateId you can track:
GET /{brand_id}/programs/{program_id}/bulk-wallets.
Tips
- Test filters on a small segment in sandbox before running against production.
- Bulk update applies the same payload to all matching cards. It is not for per-member field differences.
- For different data per member, loop
PATCH .../wallets?unique_id=instead.
Scenario: different updates per member in one job
When each cardholder needs different field values (names, points, metadata), run a server-side job that calls the single-card endpoint once per member:unique_id=1002, 1003, and so on. This pattern is simple to retry per row and maps cleanly to CSV or database exports.
End-to-end flow
Related reference
- API Reference → Authentication: same OAuth flow, linked from the endpoint playground
- API Reference → Wallet cards →
POST /{brand_id}/issue-wallets - API Reference → Bulk & scheduled updates →
PATCH /{brand_id}/programs/{program_id}/bulk-wallets