---
title: "Create a new card"
method: POST
path: "/v2/cards"
tags: ["Cards"]
---

# Create a new card

`POST /v2/cards`

Note: this API is still in beta. Please get in touch with our team to know more:
https://getqonto.atlassian.net/servicedesk/customer/portal/5

OAuth scope: `card.write`

---

This endpoint allows you to create a new card.

## Headers

- `X-Qonto-Idempotency-Key` string, required
- `X-Qonto-Staging-Token` string

## Request body

- union
  - CreatePhysicalCard
    - `card` object
      - `ship_to_business` boolean, required — Whether the card is shipped to the business location, which is the organisation address as registered in Qonto.
      - `atm_option` boolean — Flag indicating whether the card could withdraw money on an ATM.
      - `nfc_option` boolean — Flag indicating whether the card could make a payment with NFC mode (contactless).
      - `foreign_option` boolean — Flag indicating whether the card could make a payment outside of France.
      - `online_option` boolean — Flag indicating whether the card could make an online payment. Online payment are not related to any mastercard registered Point of Sale or terminal of payment.
      - `atm_monthly_limit` integer, required — Total of ATM limit per month (unit: euro). If atm_option is false, this can be omitted
      - `atm_daily_limit_option` boolean, required — Flag indicating whether the total amount per day limit should be applied to atm withdrawals. If atm_option is false, this can be omitted
      - `atm_daily_limit` integer, required — Total of withdrawal limit per day. If atm_option and atm_daily_limit_option are false, this can be omitted
      - `payment_monthly_limit` integer, required — Total of payment limit by month (unit: euro).
      - `payment_daily_limit_option` boolean — Flag indicating whether the total amount per day limit should be applied to payments
      - `payment_daily_limit` integer — Total of payment limit per day.
      - `payment_transaction_limit_option` boolean — Flag indicating whether the total amount per transaction limit should be applied to payments
      - `payment_transaction_limit` integer — Total of payment limit per transaction.
      - `active_days` integer[] — Days card is active i.e. [1-7]. ISO8601: starts on Monday with 1.
      - `holder_id` string, uuid, required — The membership identifier of the card holder.
      - `organization_id` string, uuid, required — The ID of the organization the card belongs to.
      - `bank_account_id` string, uuid, required — The id of the bank account to which the card is attached
      - `address` CardAddress — Address used for the delivery of the card if not shipping to the business address
        - `contact_name` string, nullable
        - `first_line` string
        - `second_line` string
        - `third_line` string
        - `zipcode` string
        - `city` string
        - `country` string
      - `card_level` 'standard' | 'plus' | 'metal', required
      - `categories` string[] — By default it's empty array - []. If it's empty array - [] means that category restrictions are turned off and all the categories are allowed. Can be set to not empty only for organizations with price plan starting from Team. List of allowed category tags: - transport - restaurant_and_bar - food_and_grocery - it_and_electronics - utility - tax - legal_and_accounting - atm - office_supply - hardware_and_equipment - finance
      - `card_design` 'standard.recycled.plastic.2023' | 'plus.recycled.plastic.silver.2023' | 'plus.recycled.plastic.black.2023' | 'plus.recycled.plastic.lilac.2023' | 'metal.graphite.black.2019' | 'metal.mineral.gray.2024' | 'metal.sand.gold.2024' | 'virtual.default.2017' | 'flash.default.2021' | 'advertising.default.2023' — The visuals for the card are specified according to the card level. For example, "standard.recycled.plastic.2023" is available only for the standard design level, while "plus.recycled.plastic.lilac.2023" is available only for the plus design level. You can determine the design available for a specific card level by looking at the prefix of the card design.
      - `type_of_print` 'print' | 'embossed', nullable — Specifies how the card information is presented on the physical card. This property is exclusively available for `plus` cards; other card levels must omit the value.
  - CreateVirtualCard
    - `card` object
      - `payment_monthly_limit` integer, required — Total of payment limit by month (unit: euro).
      - `payment_daily_limit` integer — Total of payment limit per day.
      - `payment_daily_limit_option` boolean — Flag indicating whether the total amount per day limit should be applied to payments
      - `payment_transaction_limit` integer — Total of payment limit per transaction.
      - `payment_transaction_limit_option` boolean — Flag indicating whether the total amount per transaction limit should be applied to payments
      - `active_days` integer[] — Days card is active i.e. [1-7]. ISO8601: starts on Monday with 1.
      - `holder_id` string, uuid, required — The membership identifier of the card holder.
      - `organization_id` string, uuid, required — The ID of the organization the card belongs to.
      - `bank_account_id` string, uuid, required — The id of the bank account to which the card is attached
      - `card_level` string, required
      - `categories` string[] — By default it's empty array - []. If it's empty array - [] means that category restrictions are turned off and all the categories are allowed. Can be set to not empty only for organizations with price plan starting from Team. List of allowed category tags: - transport - restaurant_and_bar - food_and_grocery - it_and_electronics - utility - tax - legal_and_accounting - atm - office_supply - hardware_and_equipment - finance
  - CreateFlashCard
    - `card` object
      - `payment_lifespan_limit` integer, required — Total of payment limit until card expires (unit: euro). Applicable only for Flash cards.
      - `pre_expires_at` string, date-time, nullable, required — Flash card will be valid until this date.
      - `holder_id` string, uuid, required — The membership identifier of the card holder.
      - `organization_id` string, uuid, required — The ID of the organization the card belongs to.
      - `bank_account_id` string, uuid, required — The id of the bank account to which the card is attached
      - `card_level` string, required
  - CreateAdvertisingCard
    - `card` object
      - `payment_monthly_limit` integer — Total of payment limit by month (unit: euro).
      - `payment_daily_limit` integer — Total of payment limit per day.
      - `payment_daily_limit_option` boolean — Flag indicating whether the total amount per day limit should be applied to payments
      - `holder_id` string, uuid, required — The membership identifier of the card holder.
      - `organization_id` string, uuid, required — The ID of the organization the card belongs to.
      - `bank_account_id` string, uuid, required — The id of the bank account to which the card is attached
      - `card_level` string, required

## Response `200`

OK

- object
  - `card` CardPayload — A representation of a card
    - `id` string, uuid — Unique card identifier
    - `nickname` string — Display name for the card.
    - `embossed_name` string, nullable — String representing the name printed on the physical card object.
    - `status` 'pending' | 'live' | 'paused' | 'stolen' | 'lost' | 'pin_blocked' | 'discarded' | 'expired' | 'shipped_lost' | 'onhold' | 'order_canceled' | 'pre_expired' | 'abusive' — Status of the card. Pending: the card is awaiting PIN to be set or issuing to complete. Live: the card is active and can be used. Paused: the card is paused and cannot be used until un-paused. Stolen: the card has been reported as stolen and cannot be used. Lost: the card has been reported as lost and cannot be used. Pin_blocked: the card has been blocked due to too many wrong PIN attempts. It can still be used for card-not-present transactions. Discarded: the card has been discarded and cannot be used. Expired: the card has expired and cannot be used. Shipped_lost: the card has been lost during shipping and cannot be used. Onhold: the card issuing is on hold due to missing KYC/KYB validation and cannot be used. Order_canceled: the card order has been canceled. Pre_expired: the flash card has reached the end of its validity and cannot be used. Abusive: the card has been reported as abusive and cannot be used.
    - `pin_set` boolean — Whether the pin code for the card is set or not.
    - `mask_pan` string, nullable — String representing the masked PAN of card.
    - `exp_month` string, number, nullable — The expiration month. [1-12]
    - `exp_year` string, number, nullable — The expiration year.
    - `last_activity_at` string, date-time — The datetime of the last activity happened with this card. By activity we mean any attempt to use the cards, successful or not. Creating a transaction or not. Does not include any updates to settings or options.
    - `last_digits` string, ^\d\d\d\d$, nullable — The last 4 numbers of the card.
    - `ship_to_business` boolean — Whether the card is shipped to the business location, which is the organisation address as registered in Qonto.
    - `atm_option` boolean — Flag indicating whether the card could withdraw money on an ATM.
    - `nfc_option` boolean — Flag indicating whether the card could make a payment with NFC mode (contactless).
    - `online_option` boolean — Flag indicating whether the card could make an online payment. Online payment are not related to any mastercard registered Point of Sale or terminal of payment.
    - `foreign_option` boolean — Flag indicating whether the card could make a payment outside of France.
    - `atm_monthly_limit` integer — Total of ATM limit per month (unit: euro).
    - `atm_monthly_spent` number — Total of ATM spend on the current month (unit: euro).
    - `atm_daily_limit` integer — Total of withdrawal limit per day. (unit: euro)
    - `atm_daily_spent` number — Total of ATM spend today (unit: euro).
    - `atm_daily_limit_option` boolean — Flag indicating whether the total amount per day limit should be applied to atm withdrawals
    - `payment_monthly_limit` integer — Total of payment limit by month (unit: euro).
    - `payment_monthly_spent` number — Total of payment spend on the current month (unit: euro).
    - `payment_daily_limit` integer — Total of payment limit per day.
    - `payment_daily_spent` number — Total amount spent on the current day (unit: euro).
    - `payment_daily_limit_option` boolean — Flag indicating whether the total amount per day limit should be applied to payments
    - `payment_transaction_limit` integer — Total of payment limit per transaction.
    - `payment_transaction_limit_option` boolean — Flag indicating whether the total amount per transaction limit should be applied to payments
    - `active_days` integer[] — Days card is active i.e. [1-7]. ISO8601: starts on Monday with 1.
    - `holder_id` string, uuid — The membership identifier of the card holder.
    - `bank_account_id` string, uuid — The id of the bank account to which the card is attached
    - `organization_id` string, uuid — The ID of the organization the card belongs to.
    - `updated_at` string, date-time — Datetime at which the object was last updated.
    - `created_at` string, date-time — Datetime at which the object was created.
    - `shipped_at` string, date-time, nullable — For physical cards only, Datetime at which the card was shipped to its holder. Depending on the carrier (local or international), delivery can take from 2 to 5 business days to complete the reception of the card.
    - `card_type` 'debit' | 'prepaid' — Type of the card. Currently only `debit` cards are supported. It has an impact on when the money is debited but also in the acceptance on the merchant side.
    - `card_level` 'standard' | 'plus' | 'metal' | 'virtual' | 'flash' | 'advertising' — Level of the card. A level defines a set of card capabilities and pricing. Standard, plus and metal are physical cards. See our Qonto cards: https://qonto.com/en/payment-methods/card.
    - `payment_lifespan_limit` integer — Total of payment limit until card expires (unit: euro). Applicable only for Flash cards.
    - `payment_lifespan_spent` number — Total amount spent on the card since its creation (unit: euro).
    - `pre_expires_at` string, date-time, nullable — Flash card will be valid until this date.
    - `categories` string[] — By default it's empty array - []. If it's empty array - [] means that category restrictions are turned off and all the categories are allowed. Can be set to not empty only for organizations with price plan starting from Team. List of allowed category tags: - transport - restaurant_and_bar - food_and_grocery - it_and_electronics - utility - tax - legal_and_accounting - atm - office_supply - hardware_and_equipment - finance
    - `renewed` boolean — Flag indicating whether the expiring card has been renewed e.i. if renewal card has been created then the expiring card's renewed field becomes true
    - `renewal` boolean — Flag indicating whether the card is a renewal card
    - `parent_card_summary` object — Summary of this card's parent (the card which this card is a renewal of)
      - `id` string, uuid — Unique card identifier
      - `last_digits` string, ^\d\d\d\d$, nullable — The last 4 numbers of the card.
    - `had_operation` boolean — Flag indicating whether the card has had any operations. Operations means any attempt at usage of the card.
    - `had_pin_operation` boolean — Flag indicating whether the card is PIN activated through a PIN operation or not. PIN operations means any attempt to use the card that requires its PIN code.
    - `card_design` 'standard.recycled.plastic.2023' | 'plus.recycled.plastic.silver.2023' | 'plus.recycled.plastic.black.2023' | 'plus.recycled.plastic.lilac.2023' | 'metal.graphite.black.2019' | 'metal.mineral.gray.2024' | 'metal.sand.gold.2024' | 'virtual.default.2017' | 'flash.default.2021' | 'advertising.default.2023' — The visuals for the card are specified according to the card level. For example, "standard.recycled.plastic.2023" is available only for the standard design level, while "plus.recycled.plastic.lilac.2023" is available only for the plus design level. You can determine the design available for a specific card level by looking at the prefix of the card design.
    - `type_of_print` 'print' | 'embossed', nullable — Specifies how the card information is presented on the physical card. This property is exclusively available for `plus` cards; other card levels must omit the value.
    - `upsold` boolean — Flag indicating whether the card has been upsold
    - `upsell` boolean — Flag indicating whether the card is an upsell child card
    - `discard_on` string, ^[0-9]{4,}-[0-9]{2}-[0-9]{2}$, nullable — Datetime at which the card will be discarded after being upsold. (upsold_at + 30 days)
    - `reordered` boolean — Describes if the card has been reordered and there is a new card instead.

## Other responses

- `403` — Forbidden
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/hiit-consulting-fr/apis/qonto.md) · [All operations](https://skmtc.net/hiit-consulting-fr/apis/qonto/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hiit-consulting-fr/qonto/versions/25208d6f9deb/schema)
