Cards

Create a card

Create a new team member card, company card, or auto-issued card.

When using the API, you can create only virtual cards. To create a physical card, use the Revolut Business app.

:::note To increase your account's card limits, please contact Revolut API Support. :::

For more information, see the guides: Manage cards.

post/cards

Request

  • Base URL
    https://b2b.revolut.com/api/1.0
  • Auth
    HTTP bearer

Request body

request_idstring required

A unique ID of the request that you provide.

There is no strict requirement on the format of this ID, but we suggest using v4 UUIDs.

:::warning This ID is used to prevent duplicate card creation requests in case of a lost connection or client error, so make sure you use the same request_id for requests related to the same card. The deduplication is limited to 24 hours counting from the first request using a given ID. For more information, see the guides: Manage cards - Idempotency. :::

holder_idstring uuid

The ID of the team member to assign as the holder of the card.

:::tip To retrieve a team member's ID, use the GET /team-members operation. :::

For virtual cards (virtual=true), this field is optional.
If not provided, the type of the issued card depends on contact_ids:

contact_idsstring[]

The list of contacts for the card. Up to 5 team members sharing the card, much like co-holders. Can be edited.

Allowed only for company cards (virtual=true, holder_id not specified).

virtualtrue required

Specifies the type of the card. Must be set to true, as with the API, you can create only virtual cards.

:::tip To create a physical card, use the Revolut Business app. :::

labelstring

The label for the issued card, displayed in the UI to help distinguish between cards. If not specified, no label will be added.

categoriesBusinessMerchantCategory[]

The list of merchant categories to be available for card spending. If not specified, all categories will be allowed.

countriesstring[]

Restricts card use to specified countries, provided as 2-letter ISO 3166 codes.

accountsstring[]

The list of accounts to link to the card. If not specified, all accounts will be linked. To retrieve account IDs, use the GET /accounts operation.

Example request

{
  "product": {
    "code": "MBJ"
  },
  "references": [
    {
      "name": "PNR",
      "value": "RT12345"
    },
    {
      "name": "Traveller",
      "value": "John Smith"
    }
  ],
  "spending_limits": {
    "single": {
      "amount": 200.22,
      "currency": "GBP"
    },
    "week": {
      "amount": 200.44,
      "currency": "GBP"
    }
  },
  "spending_period": {
    "start_date": "2025-09-26",
    "end_date": "2030-12-31"
  },
  "mcc_controls": {
    "mccs": [
      "7033"
    ]
  },
  "countries": [
    "GB"
  ]
}

Response

Information about the created card

idstring uuid required

The ID of the card.

holder_idstring uuid

The ID of the team member who is the holder of the card. If the card belongs to the business, this will be empty.

For more information, see the guides: Manage Cards - Create a virtual card.

contact_idsCardContact[]

The list of contacts for a company card.

created_atstring date-time required

The date and time the card was created in ISO 8601 format.

updated_atstring date-time required

The date and time the card was last updated in ISO 8601 format.

virtualboolean required

Specifies whether the card is virtual (true) or physical (false).

last_digitsstring required

The last 4 digits of the card's PAN.

expirystring MM/YYYY required

The card expiration date.

labelstring

The label of the card.

state'created' | 'pending' | 'active' | 'frozen' | 'locked' required

The state that the card is in.

Possible values:

ValueDescription
activeThe card is available for spending. Newly created cards typically go into active unless subject to certain conditions, for example, spending period starting in the future.
frozenThe card has been frozen and is temporarily unavailable for spending.
lockedThe card is locked, typically due to an admin lock or spending period settings, i.e. when its spending_period.start_date is in the future or spending_period.end_date is in the past. A locked card is unavailable for spending until it's unlocked and active.
createdThe card has been created but is not yet active. Used only for a specific type of cards.
pendingThis status is currently not in use.

:::tip[Card locked?] To see if the card can be unlocked, check the can_be_unlocked parameter. Note that you'll still need the necessary scope or permission to unlock it. :::

can_be_unlockedboolean

Returned for locked cards (state=locked). Indicates whether the card can be unlocked manually (via API or in-app). If true, you'll still need the necessary scope or permission to unlock the card.

:::info Cards can be locked for various reasons. For example, a card can be locked by the user, due to spending period settings, or automatically by the system. Only certain types of lock can be lifted manually. :::

categoriesBusinessMerchantCategory[]

The list of merchant categories that are available for card spending. If not specified, categories are not restricted.

countriesstring[]

The list of countries where the card can be used, specified as 2-letter ISO 3166 codes.

accountsstring[] required

The list of linked accounts.

Example response

{
  "references": [
    {
      "name": "PNR",
      "value": "RT12345"
    },
    {
      "name": "Traveller",
      "value": "John Smith"
    }
  ],
  "spending_limits": {
    "single": {
      "amount": 200.22,
      "currency": "GBP"
    },
    "week": {
      "amount": 200.44,
      "currency": "GBP"
    }
  },
  "spending_period": {
    "start_date": "2025-09-26",
    "end_date": "2030-12-31"
  },
  "mcc_controls": {
    "mccs": [
      "7033"
    ]
  },
  "countries": [
    "GB"
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.