# Virtual Cards
source: https://developer.mastercard.com/commercial-connect-api/documentation/use-cases/vcn/index.md

The virtual card use cases illustrate the process of a partner creating, retrieving, updating, and deleting virtual cards.
Note: In the following diagrams, optional steps are denoted with dashed arrows instead of solid arrows.

## Create a virtual card {#create-a-virtual-card}

Partners use this endpoint to create a virtual card with authorization controls and card reconciliation data that is ready to be used for payments. Card reconciliation data is not required to create the virtual card.

Optionally, you can add card reconciliation data after the initial creation of the virtual card.

Pre-requisite: [Register a real card](https://developer.mastercard.com/commercial-connect-api/documentation/use-cases/rc/index.md#register-a-real-card).
Diagram vcncreate
API Reference: `POST /accounts/virtual-cards`


API Reference: `POST /accounts/virtual-cards/{account_id}/card-cdf-data`

## Search virtual card details {#search-virtual-card-details}

Partners use this endpoint to search for virtual card details with defined search parameters.
Parameter:

* Search by virtual `cardNumber`
* Search by `realCardID`
* Search by `entityID` or `entityType`

The search returns a list of virtual card numbers and the associated `accountid`.

The `accountid` can be used to retrieve additional virtual card details using the [Retrieve virtual card details](https://developer.mastercard.com/commercial-connect-api/documentation/use-cases/vcn/index.md#manage-virtual-cards) endpoint.
Diagram vcnsearch
API Reference: `POST /accounts/virtual-cards/searches`

## Manage virtual cards {#manage-virtual-cards}

### Retrieve virtual card details {#retrieve-virtual-card-details}

Partners use this endpoint to retrieve virtual card details, authorization controls, and card data for an existing virtual card.
Diagram vcnretrievedet
API Reference: `GET /accounts/virtual-cards/{account_id}`

### Update virtual card details {#update-virtual-card-details}

Partners use this endpoint to update virtual card details for an existing virtual card.
Diagram vcnupdatedet
API Reference: `PUT /accounts/virtual-cards/{account_id}/card-details`

### Manage virtual card data {#manage-virtual-card-data}

Partners use these endpoints to update or delete card reconciliation data associated with a virtual card. Card reconciliation data are in Custom Data Fields (CDF) key value pairs.
Diagram vcncarddata
API Reference: `PUT /accounts/virtual-cards/{account_id}/card-cdf-data`


API Reference: `DELETE /accounts/virtual-cards/{account_id}/card-cdf-data`

## Update a virtual card status {#update-a-virtual-card-status}

Partners use this endpoint to update the status of a virtual card.

The `ACTIVE` or `BLOCKED` statuses allows users to block or unblock a virtual card. This can be used to temporarily block all transactions on a virtual card.
Diagram vcnblock
API Reference: `PUT /accounts/virtual-cards/{account_id}/card-status`

## Delete virtual card {#delete-virtual-card}

Partners use this endpoint to delete a specific virtual card. Transactions cannot be completed on a virtual card after it has been deleted and the deletion cannot be reversed. For a temporary block on transactions for a virtual card, use [Update a virtual card status](https://developer.mastercard.com/commercial-connect-api/documentation/use-cases/vcn/index.md#update-a-virtual-card-status).
Diagram vcndelete
API Reference: `DELETE /accounts/virtual-cards/{account_id}`

