This is different from the “Create Virtual Card Bulk Order” operation under Virtual Cards, which creates many cards for a single account. The Bulk API operates across your connected users.
Who can use it
The Bulk API is gated at the application level. Your app must have the bulk API capability enabled by Fluz — reach out to us to request access. Calls that aren’t from a bulk-enabled application are rejected withBulkApiAccessDenied.
Authentication
All Bulk API calls use Basic authentication with your application API key (yourclient_id and client_secret), not a user access token:
Authorization comes from existing connections
The Bulk API never creates a new consent surface. A user is only reachable if they have an active OAuth grant with your application, and each operation is allowed only where the user has granted the scopes that operation requires. Bulk access is never broader than the equivalent single-user operation.- Disconnecting removes the grant, so a disconnected user simply stops being reachable.
- If a user’s grant is scoped to specific spend accounts, bulk results for that user are automatically restricted to those accounts.
Selecting target users
Every bulk operation takes atargetSpec:
- Users are addressed by the
externalReferenceIdyou supplied when they connected — not byaccountId. - A synchronous request addresses at most 100 targets.
- Users connected without an
externalReferenceIdcan’t be selected individually; they’re only reachable viaALL_CONNECTED. Use Discover Connected Users to see who’s connected and which scopes they granted.
Per-target failure contract
One target’s failure never fails the whole request. Each result carriessuccess and, when success is false, an error:
The whole request is only rejected for application-level problems: not bulk-enabled, an invalid request, exceeding the 100-target cap, or when every requested target is unresolvable.
Each response also summarizes
targetCount, successCount, and failureCount.
Synchronous vs. asynchronous
- Bounded reads are synchronous and served inline: up to 100 targets, with per-target limits (e.g. 20 transactions each, a 90-day window). These are the three queries documented in this section.
- Writes and large exports are asynchronous (coming soon): you submit a job, poll its status, and download results.
hasNextPage/totalCounton the sync reads tell you when to switch to an export rather than silently truncating.
Operations in this section
- Discover Connected Users —
getBulkConnectedOAuthUsers - Get Bulk Balances —
getBulkBalances - Get Bulk Transactions —
getBulkTransactions