Create New Virtual Card
POST/api/v1/cards/card/add
This endpoint creates a new virtual card. When 'is_autolimit' is set to 'TRUE', the transaction limit is automatically set to the card's current balance after each top-up. If 'is_autolimit' is 'FALSE', you must manually set 'limit_per_transaction' to a positive value not exceeding the card balance.
Request
- application/json
Body
required
Email address of the card's user.
Default value: 472593
The BIN of the card. Defaults to VISA 472593
A personalized nickname for the card.
Default value: 25
The cumulative spending limit for the card's entire lifetime.
The maximum amount allowed per transaction. Cannot exceed the overall spending limit (limit_all_time).
Default value: true
Whether the per-transaction limit is set automatically to match the current card balance after each top-up.
An alias for the integrated client, representing a list of identifiers for API users associated with this card
The identifier for the card user within an external system, specifically referring to end-users from the api_users_chain.
Responses
- 200
- 422
Successful Response
- application/json
- Schema
- Example (from schema)
Schema
- MOD1
- MOD2
- MOD1
- MOD2
- Array [
- ]
- MOD1
- MOD2
- MOD1
- MOD2
- MOD1
- MOD2
- MOD1
- MOD2
- MOD1
- MOD2
- MOD1
- MOD2
- MOD1
- MOD2
cardholder_id object
string
string
Possible values: [physical, virtual]
An enumeration.
card_id object required
string
string
settings object
The starting datetime from which card transactions will be authorized. Transactions attempted before this time are automatically rejected.
The ending datetime until which card transactions will be authorized. Transactions attempted after this time are automatically rejected.
A list of currencies in which transactions are permitted. If this field is absent, null, or an empty array, transactions in all currencies are allowed.
An enumeration.
limits object[]
Transaction limits based on interval and amount. If no limits are set, will be used next values: PER_TRANSACTION - 1000 USD, DAILY - 5000 USD.
An enumeration.
The maximum amount allowed for the specified interval.
bin object
Possible values: [airwallex, sunrate, wex, connex, matchmove]
An enumeration.
The specific code of the BIN.
Possible values: [CARDS_VIRTUAL, SHARED_BALANCE_VIRTUAL_CARDS]
Possible values: [GooglePay, ApplePay, SamsungPay]
An optional list of payment services supported by this BIN, such as mobile payment platforms like Google Pay or Apple Pay.
An optional list of merchant names that are specifically allowed to process payments using this BIN.
Indicates if the BIN is tokenizable.
An enumeration.
address_id object
The unique identifier of the address associated with the BIN.
string
string
currency_id object
The unique identifier of the currency associated with the BIN.
string
string
id object required
The unique identifier of the BIN.
string
string
address object
country objectrequired
currency object
balance object
card_id object required
The unique identifier of the card.
string
string
The total spending limit of the card, applicable over the card's lifetime.
The current available spending limit on the card. Calculated as available' = 'limit' - 'used'.
The total amount that has been used from the card. This is equivalent to the 'spend' amount in other endpoints.
The balance of the card at the time of its issuance.
The total amount added to the card through top-ups.
The maximum limit allowed for a single transaction.
The total amount in transactions that are currently pending.
The total sum of fees charged to the card.
The total amount of external payments received on the card. Currently not supported.
The total amount withdrawn from the card, including limit decrease operations.
Default value: true
Default value: true
Default value: false
user object
The email address of the user.
An optional string identifier for the user's whitelabel branding.
id object required
The unique identifier of the user.
string
string
The nickname or username of the user.
Possible values: [admin, financier, teamlead, buyer]
The role assigned to the user, defining permissions and access. Currently, 'admin' and 'buyer' roles are in use. The 'buyer' cannot directly add funds to the wallet but can request funds from an 'admin'.
Possible values: [pending, sandbox, active, deleted, on_hold]
The current status of the user. 'pending': User registration is incomplete or awaiting confirmation. 'sandbox': User is in a testingor trial environment. 'active': User account is active and fully functional. 'deleted': User account is deleted and no longer accessible. 'on_hold': User account is temporarily suspended or on hold.
Specifies the user type. Currently, 'cpa' is used.
Indicates whether the user has accepted an invitation.
A flag that signifies whether the user registered independently or through an invite (buyer).
account object
Associated account information for the user, if any.
The first name of the account holder.
Default value:
The middle name of the account holder, if any.
The last name of the account holder.
The date of birth of the account holder.
The phone number of the account holder.
Possible values: [beneficial owner, cardholder, director, legal representative of business]
The type of the account.
id object required
The unique identifier of the account.
string
string
The unique identifier of the associated user.
The Telegram account associated with the user.
company object
Details of the associated company, if applicable.
The name of the company.
The registration number of the company.
The contact phone number of the company.
The primary contact email address of the company.
id object required
The unique identifier of the company.
string
string
{
"cardholder_id": "string",
"card_id": "string",
"created_at": "string",
"closed_at": "string",
"mask_number": "string",
"nick_name": "string",
"status": "string",
"brand": "string",
"settings": {
"active_from": "string",
"active_to": "string",
"limits": [
{
"amount": 0
}
]
},
"bin": {
"vendor": "airwallex",
"code": "string",
"vendor_code": "string",
"purpose": [
"CARDS_VIRTUAL"
],
"issue": true,
"topup": true,
"withdrawal": true,
"tariff_data": {},
"paymentServices": [
null
],
"merchants": [
"string"
],
"isTokenizable": true,
"address_id": "string",
"currency_id": "string",
"id": "string",
"address": {
"country": {
"name": "string",
"iso_code": "string"
},
"city": "string",
"line_1": "string",
"line_2": "string",
"postal_code": "string"
},
"currency": {
"iso_code": "string",
"digital_code": "string"
}
},
"balance": {
"card_id": "string",
"limit": 0,
"available": 0,
"used": 0,
"opening_balance": 0,
"topup_balance": 0,
"limit_per_transaction": 0,
"pending_balance": 0,
"fees_balance": 0,
"incoming_balance": 0,
"withdrawal_balance": 0
},
"is_autolimit": true,
"is_withdrawable": true,
"is_tokenizable": false,
"user": {
"email": "user@example.com",
"whitelabel": "string",
"id": "string",
"nickname": "string",
"user_type": "string",
"invite_accept": true,
"is_new_client": true,
"account": {
"first_name": "string",
"middle_name": " ",
"last_name": "string",
"date_of_birth": "2024-05-09",
"phone": "string",
"id": "string",
"user_id": 0,
"tg_account": "string",
"company": {
"name": "string",
"registration_number": "string",
"phone": "string",
"primary_contact_email": "user@example.com",
"id": "string"
}
}
}
}
Validation Error
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- Array [
- MOD1
- MOD2
- ]
- ]
detail object[]
loc object[]required
string
integer
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}