Skip to main content
POST
Create a card

Overview

POST /cards issues a new virtual USD card to one of your customers. The card is usable immediately for online payments wherever Visa or Mastercard is accepted. If you provide an amount, the card is funded from your USD wallet in the same call.

When to use it

  • A customer needs a card for the first time.
  • An existing customer needs an additional card (you can issue more than one card per customer).
For card limits and lifecycle states, see Cards Overview and Glossary → Card.

Prerequisites

  • Customer must already exist via POST /customers and have KYC status APPROVED.
  • Your company USD wallet must have a balance covering the issuance fee plus the optional initial amount.
  • The customer’s country must be supported for card issuance (most African and many other countries — contact support for the current list).

Request

Headers

Body

Idempotency: This endpoint does not currently accept an idempotency key. To avoid duplicate cards on network retries, store the resulting card.id in your own database before retrying.

Response

201 — Card created (and funded if amount > 0)

Error responses

Webhooks fired

After a successful create call, you will receive (in order):

Code examples

cURL
Node.js (axios)
Python (requests)

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
customer_id
string<uuid>
required
brand
enum<string>
required
Available options:
VISA,
MASTERCARD
name_on_card
string
amount
number

Response

Card created successfully.

status
string
Example:

"success"

message
string
Example:

"Card created successfully!"

card
object
autoFilledFields
any[]