Skip to main content
This Quickstart issues 100 virtual cards in one request. You’ll place an asynchronous bulk order, poll its status as cards are created, and retrieve the full card details — the same pattern whether you’re issuing 10 cards or 10,000.
Prerequisites
  • A Fluz account with a staging application — Steps 1–2 of any quickstart, or see Prepare your accounts and API credentials.
  • A token with the CREATE_VIRTUALCARD scope.
  • Enough available balance to cover the order — 100 cards × the spend limit you set. Every mutation needs a unique idempotencyKey — see Idempotency.

The full flow

Place the bulk order

One createVirtualCardBulkOrder call creates all 100 cards. Each entry in orderItems is a card configuration with a quantity — here, 100 identical single-use disbursement cards:
The offerId applies to every card in the order; mix configurations by adding more orderItems entries (e.g., 80 × 25singleuseplus20×25 single-use plus 20 × 100 monthly). lockCardNextUse: true makes each card self-destruct after its first charge — the standard disbursement pattern.
Bulk orders are asynchronous — the response is an orderId and PENDING, not cards. Save the orderId; it’s your handle for everything that follows.

Poll the order to completion

Track progress with getVirtualCardBulkOrderStatus. Cards populate incrementally while the order is PENDING:
Poll with backoff until orderStatus is COMPLETED (or FAILED) — while pending, successfulCardCreations climbs toward totalCards and virtualCards fills in.
The response contains full PANs, CVVs, and expiry dates in plaintext. Treat it as sensitive cardholder data: TLS only, never log it, surface it only to authorized users.

Handle partial failures

A bulk order can partially succeed: successfulCardCreations: 98, failedCardCreations: 2 on a completed order means 98 real, spendable cards and 2 that need retrying. Reconcile by comparing the counts to totalCards, then re-issue only the shortfall — with a new idempotencyKey, since it’s a new order:
Persistent failures usually trace to program limits or funding — check Virtual Card Error Codes and your available balance.

You’re done 🎉

One hundred configured cards from one request, with a poll loop that’s production-ready as-is. Next:

Get virtual card transactions

Monitor spend across the whole batch — up to 10 cards per query, or account-wide by date.

Send cards to recipients

Distributing to people outside your org? Hosted claim links handle onboarding for you.
Want to learn more? Contact us at support@fluz.app to speak with our experts or request a demo.