---
title: "Update card settings"
method: PATCH
path: "/cards/{card_id}"
tags: ["Cards"]
---

# Update card settings

`PATCH /cards/{card_id}`

## Request

- Base URL: `https://b2b.revolut.com/api/1.0`
- URL: `https://b2b.revolut.com/api/1.0/cards/{card_id}`
- Auth: HTTP bearer

Update settings for a specific card, based on its ID.

:::note
To increase your account's card limits, please contact [Revolut API Support](mailto:api-requests@revolut.com).
:::

For more information, see the guides: [Manage cards](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards).

## Path parameters

- `card_id` string, uuid, required

## Request body

- object
  - `label` string: The label of the card.
  - `spending_limits` SpendingLimitsSchema
    - `single` SpendingLimitSingleTransaction: The limit for a single transaction.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `day` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `week` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `month` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `quarter` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `year` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `all_time` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
  - `spending_period` union
    - object
      - `start_date` string, date, required: The start date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date` string, date: The end date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date_action` 'lock' | 'terminate': The action to take after the end date of the spending period.
    - object
      - `start_date` string, date: The start date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date` string, date, required: The end date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date_action` 'lock' | 'terminate', required: The action to take after the end date of the spending period.
  - `categories` BusinessMerchantCategory[]: The list of merchant categories that will be available for card spending. Use `null` to erase the value and reset to empty (all categories will be allowed).
  - `merchant_controls` MerchantControlsSchema: The merchant-level controls for card spending.
    - `control_type` 'block' | 'allow', required: The type of control to apply. Possible values: | Value | Description | | --- | --- | | **`allow`** | Permits only the specified merchants. | | **`block`** | Blocks the specified merchants. |
    - `merchant_ids` string[], required: The list of IDs of merchants to which the control applies. :::tip To find merchant IDs, check transaction details (→ `merchant.id`). You can fetch transaction details for a [specific transaction](https://developer.revolut.com/docs/api/business#get-transaction#response) or for [all transactions](https://developer.revolut.com/docs/api/business#get-transactions#response). :::
  - `mcc_controls` MccControlsSchema: The MCC controls for card spending. They restrict card spending to merchants with the specified [ISO 18245](https://en.wikipedia.org/wiki/ISO_18245) merchant category codes (MCCs). :::tip MCCs are 4-digit codes used by payment card networks to classify businesses by the type of goods or services they provide — for example, `5411` for grocery stores or `7011` for hotels. :::
    - `control_type` 'allow', required: The type of control to apply.
    - `mccs` string[], required: The list of [ISO 18245](https://en.wikipedia.org/wiki/ISO_18245) merchant category codes to which the control applies.
  - `countries` string[]: The list of countries where the card can be used, provided as 2-letter [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) codes.
  - `accounts` string[]: 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](https://developer.revolut.com/docs/api/business#get-accounts).

## Response `200`

Information about the updated card

:::note
If you modify the card's spending period in the request, the card's `state` returned in the response might not yet reflect those changes.
This is because these spending period locks are applied to the card asynchronously, which might result in a slight delay in the card's state update.

To re-check the state, [fetch the card's details](https://developer.revolut.com/docs/api/business#get-card).
:::

- CardResponse
  - `id` string, uuid, required: The ID of the card.
  - `holder_id` string, 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](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards#create-a-virtual-card).
  - `contact_ids` CardContact[]: The list of contacts for a [company card](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards#different-types-of-cards).
  - `created_at` string, date-time, required: The date and time the card was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `updated_at` string, date-time, required: The date and time the card was last updated in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `product` CardProduct: The card product offered by the card provider for this card. In other words, the program that the card was issued under. :::note This property is only available to travel intermediaries using our travel solution. To use it, please contact [Revolut API Support](mailto:api-requests@revolut.com). :::
    - `code` string, required: The code of the card product.
  - `virtual` boolean, required: Specifies whether the card is virtual (`true`) or physical (`false`).
  - `last_digits` string, required: The last 4 digits of the card's PAN.
  - `expiry` string, MM/YYYY, required: The card expiration date.
  - `label` string: The label of the card.
  - `references` CardReference[]: References for the card. Up to 5 name-value pairs assigned to the card for tracking. :::info Each time the card is used, the references are recorded in the [transaction details](https://developer.revolut.com/docs/api/business#get-transaction#response) (`card.references`), helping track transactions made with this card. ::: The names must be unique. The references can be [amended](https://developer.revolut.com/docs/api/business#update-card-references) up to 10 times. References are only supported for cards owned by the business (i.e. [company](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards#different-types-of-cards) or [auto-issued cards](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards#different-types-of-cards)). They are **not** supported for [team member cards](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards#different-types-of-cards) (i.e. with `holder_id` present). :::note The references recorded on a transaction are those assigned to the card at the time the transaction took place. If the references are amended, they will only be applied to future transactions. Existing transaction are not affected. :::
    - `name` string, required: The name of the card reference. Must be unique.
    - `value` string, required: The value for this reference.
  - `state` 'created' | 'pending' | 'active' | 'frozen' | 'locked', required: The state that the card is in. Possible values: | Value | Description | | --- | --- | | **`active`** | The 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. | | **`frozen`** | The card has been frozen and is temporarily unavailable for spending. | | **`locked`** | The card is locked, typically due to an [admin lock](https://developer.revolut.com/docs/api/business#lock-card) 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](https://developer.revolut.com/docs/api/business#unlock-card) and active. | | **`created`** | The card has been created but is not yet active. Used only for a specific type of cards. | | **`pending`** | This 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](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards#lock-or-unlock-cards) to unlock it. :::
  - `can_be_unlocked` boolean: Returned for locked cards (`state=locked`). Indicates whether the card can be [unlocked](https://developer.revolut.com/docs/api/business#unlock-card) manually (via API or in-app). If `true`, you'll still need the [necessary scope or permission](https://developer.revolut.com/docs/guides/manage-accounts/cards/manage-cards#lock-or-unlock-cards) 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. :::
  - `spend_program` SpendProgram: The [spend program](https://help.revolut.com/business/help/making-paymentsbusiness/spend-controls/setting-card-presets-for-my-team-members/) assigned to the card. :::note To use this property, please contact [Revolut API Support](mailto:api-requests@revolut.com). :::
    - `label` string, required: The name of the spend program.
  - `spending_limits` SpendingLimitsSchema
    - `single` SpendingLimitSingleTransaction: The limit for a single transaction.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `day` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `week` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `month` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `quarter` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `year` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
    - `all_time` SpendingLimitPeriodic: The limit for transactions within a given period.
      - `amount` number, double, required: The value of the spending limit.
      - `currency` string, required: The currency of the spending limit, provided as [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code in upper case.
  - `spending_period` union
    - object
      - `start_date` string, date, required: The start date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date` string, date: The end date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date_action` 'lock' | 'terminate': The action to take after the end date of the spending period.
    - object
      - `start_date` string, date: The start date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date` string, date, required: The end date (inclusive) of the spending period, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DD`). Uses the [timezone set by the business](https://business.revolut.com/settings/appearance), or defaults to `Europe/London`.
      - `end_date_action` 'lock' | 'terminate', required: The action to take after the end date of the spending period.
  - `categories` BusinessMerchantCategory[]: The list of merchant categories that are available for card spending. If not specified, categories are not restricted.
  - `merchant_controls` CardMerchantControls: The merchant-level controls for card spending.
    - `control_type` 'block' | 'allow', required: The type of control to apply. Possible values: | Value | Description | | --- | --- | | **`allow`** | Permits only the specified merchants. | | **`block`** | Blocks the specified merchants. |
    - `merchant_ids` string[], required: The list of IDs of merchants to which the control applies. :::tip To find merchant IDs, check transaction details (→ `merchant.id`). You can fetch transaction details for a [specific transaction](https://developer.revolut.com/docs/api/business#get-transaction#response) or for [all transactions](https://developer.revolut.com/docs/api/business#get-transactions#response). :::
  - `mcc_controls` MccControlsSchema: The MCC controls for card spending. They restrict card spending to merchants with the specified [ISO 18245](https://en.wikipedia.org/wiki/ISO_18245) merchant category codes (MCCs). :::tip MCCs are 4-digit codes used by payment card networks to classify businesses by the type of goods or services they provide — for example, `5411` for grocery stores or `7011` for hotels. :::
    - `control_type` 'allow', required: The type of control to apply.
    - `mccs` string[], required: The list of [ISO 18245](https://en.wikipedia.org/wiki/ISO_18245) merchant category codes to which the control applies.
  - `countries` string[]: The list of countries where the card can be used, specified as 2-letter [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) codes.
  - `accounts` string[], required: The list of linked accounts.

## Other responses

- `400`: Nothing to update or the provided details are unsupported for this operation If the invalid value is an array item, the error might indicate the array index of this faulty item, counting from `0`. For example, if you provide the list of countries, such as `"countries": ["GB", "USA", ...]`, the first item (`GB`) has index `0`, the second item (`USA`) has index `1`, and so on. In the example, `USA` is invalid, because it should be a 2-letter code. In such a case, the error will indicate that `countries[1]` is invalid, thus pointing to the second item in the array, i.e. `USA`.
- `404`: Card doesn't exist The card for which you wish to update details does not exist.
- `422`: Unprocessable entity For example, you try to provide a spending period end date that's in the past.
- `default`: Unexpected error

---

[API](https://skmtc.dev/revolut/apis/business-api.md) - [All operations](https://skmtc.dev/revolut/apis/business-api/llms.txt) - [OpenAPI document](https://skmtc.dev/revolut/apis/business-api/revisions/be089d9fa8b4?raw)
