Skip to main content
There is no sandbox. Every call you make is production. Use a low spend cap on test cards and terminate them when you’re done.
The steps below are a worked example of the flow described in Get access and API keys: a new key goes to a first card in a few calls: check the key, find a cardholder, create a card, reveal it, then clean up.
1

Get access

Business Account API access is granted per business. See Get access and API keys for who can request it and how.
2

Create a key

In the Business Account dashboard, a team administrator creates an API key with the team_members:read, cards:read, cards:write and cards:read_vault scopes, and adds your server’s IP to the key’s allowlist. The secret is shown once, so store it in a secrets manager.
3

Check the key

A 200 means the key works. A 401 means it’s missing or invalid; a 403 with API_KEY_IP_NOT_ALLOWED means your server’s IP isn’t on the key’s allowlist.
4

Find a cardholder

Cards belong to team members. List them and pick one with inviteStatus: "approved":
Keep the userId; it’s the cardholderId on the next call.
5

Create a test card

Create a virtual card with a small top-up budget. Send an Idempotency-Key so a retry can never create a second card.
There are three outcomes:
  • 201 with status: "active": the card is ready. Store its id.
  • 201 with status: "pending": created, still being set up. Poll the Location response header until it’s active.
  • 202 with status: "pendingApproval": your business uses Approvals; an approver accepts the request in the dashboard first. See Approvals.
6

Show the card details

Card numbers never pass through your servers. Request a short-lived link to a Reap-hosted view instead:
The accessUrl is valid for 1 minute. Open it to see the card number, expiry and CVV. See Card details for the rules.
7

Clean up

Terminate the test card:

Next steps

Use cases

End-to-end flows for team cards, advertising and Treasury funding.

Concepts

Statuses, funding plans, approvals and balances explained.

Errors

The error envelope, every error code and retry guidance.