{
"id": "3f8b2c1d-9e4a-4b7c-8d2e-1f3a5b7c9d0e",
"token": "104857321",
"company_id": "bebb185d-8210-4e66-ac63-397b49a1e09f",
"account_id": "0d6c0a2a-2b08-49bc-89a9-eb936c9ff28c",
"user_id": "29b297ca-c617-437e-9c1d-32f494fbf44d",
"type": "virtual",
"design_id": "c6d5ea1a-80f8-49ab-9fee-250d368b3915",
"status": "active",
"name": "Marketing spend",
"last_four": "4242",
"expiry_date": "2029-07-31",
"auto_convert": false,
"three_ds_biometric": false,
"spending_limit": {
"period": "monthly",
"amount": "5000.00",
"currency": "GBP",
"used": "0.00"
},
"card_limits": {
"currency": "EUR",
"max_per_purchase": {
"amount": "250000.00"
},
"daily": {
"amount": "500000.00"
},
"rolling_32_days": {
"amount": "2500000.00"
}
},
"created_at": "2026-10-07T09:12:44Z"
}{
"error": "invalid spending limit: amount has more than 2 decimal places"
}{
"success": false,
"error": {
"code": "forbidden",
"message": "access denied"
}
}{
"error": "account not found"
}{
"error": "card is being changed; try again"
}{
"error": "card quota reached: the company holds 30 live cards and its quota is 30; contact support to raise it"
}{
"error": "card issuer unavailable"
}{
"error": "card issuer unavailable"
}Issue virtual card
Issues a virtual card to the member who owns the API key. The card is active immediately.
Retrying with the same Idempotency-Key returns the original card. Requires permission issue_cards.
{
"id": "3f8b2c1d-9e4a-4b7c-8d2e-1f3a5b7c9d0e",
"token": "104857321",
"company_id": "bebb185d-8210-4e66-ac63-397b49a1e09f",
"account_id": "0d6c0a2a-2b08-49bc-89a9-eb936c9ff28c",
"user_id": "29b297ca-c617-437e-9c1d-32f494fbf44d",
"type": "virtual",
"design_id": "c6d5ea1a-80f8-49ab-9fee-250d368b3915",
"status": "active",
"name": "Marketing spend",
"last_four": "4242",
"expiry_date": "2029-07-31",
"auto_convert": false,
"three_ds_biometric": false,
"spending_limit": {
"period": "monthly",
"amount": "5000.00",
"currency": "GBP",
"used": "0.00"
},
"card_limits": {
"currency": "EUR",
"max_per_purchase": {
"amount": "250000.00"
},
"daily": {
"amount": "500000.00"
},
"rolling_32_days": {
"amount": "2500000.00"
}
},
"created_at": "2026-10-07T09:12:44Z"
}{
"error": "invalid spending limit: amount has more than 2 decimal places"
}{
"success": false,
"error": {
"code": "forbidden",
"message": "access denied"
}
}{
"error": "account not found"
}{
"error": "card is being changed; try again"
}{
"error": "card quota reached: the company holds 30 live cards and its quota is 30; contact support to raise it"
}{
"error": "card issuer unavailable"
}{
"error": "card issuer unavailable"
}Authorizations
Short-lived access token. Obtain with your api_key.
Headers
A UUID you generate per order. Retrying with the same key returns the original result.
Body
Account the card spends from.
Virtual card design. See the Cards guide for the list of designs.
Card name. Defaults to Virtual <last four>.
Periods follow the UK calendar; weeks start on Monday. amount must be more than 0 and have at most two decimal places.
A daily limit can be at most card_limits.daily.amount, and a weekly or monthly limit at most
card_limits.rolling_32_days.amount, compared as-is without converting from EUR. lifetime limits have no cap.
Show child attributes
Show child attributes
Response
The new card.
A company card. Card numbers, CVVs, and PINs are never returned.
Card token, a string of digits. Usable in the tokens list filter.
Account the card spends from.
Cardholder.
virtual, physical inactive cards are issued but not yet activated. suspended, locked, and blocked are set by Incard.
expired and terminated cards have ended.
inactive, active, frozen, suspended, locked, blocked, expired, terminated The card's spending limit, or null for none.
Show child attributes
Show child attributes
Fixed limits on the card, in EUR. used is only included in list responses.
Show child attributes
Show child attributes