> For the complete documentation index, see [llms.txt](https://docs.udara360.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.udara360.io/udara360-docs-1/cards/providus/requestvirtualcard.md).

# RequestVirtualCard

The "RequestVirtualCard" endpoint allows customers to request a virtual card by providing the cardholder's personal details, contact information, and account information.

<mark style="color:yellow;">`POST`</mark> `/api/Card/v{{version}}/Providus/RequestVirtualCard`

To request a virtual card, provide the cardholder's name and personal details (`title`, `firstName`, `lastName`, `middleNameInitials`, `dob`, address fields), contact details (`phoneNumber`, `email`), identifiers (`customerId`, `accountNumber`), and the `cardProfile` and `nameOnCard` to use for the card.

**Headers**

| Name                                           | Value              |
| ---------------------------------------------- | ------------------ |
| Content-Type<mark style="color:red;">\*</mark> | `application/json` |
| Request-Reference                              | `unique_string`    |

**Body**

<table><thead><tr><th>Name</th><th>Data Type</th><th data-type="checkbox">Required/Optional</th><th>Description</th></tr></thead><tbody><tr><td><code>title</code></td><td><em>string</em></td><td>true</td><td>The cardholder's title.</td></tr><tr><td><code>firstName</code></td><td><em>string</em></td><td>true</td><td>The cardholder's first name.</td></tr><tr><td><code>lastName</code></td><td><em>string</em></td><td>true</td><td>The cardholder's last name.</td></tr><tr><td><code>middleNameInitials</code></td><td><em>string</em></td><td>true</td><td>The cardholder's middle name initials.</td></tr><tr><td><code>dob</code></td><td><em>string</em></td><td>true</td><td>The cardholder's date of birth.</td></tr><tr><td><code>address1</code></td><td><em>string</em></td><td>true</td><td>The cardholder's primary address.</td></tr><tr><td><code>address2</code></td><td><em>string</em></td><td>true</td><td>The cardholder's secondary address.</td></tr><tr><td><code>city</code></td><td><em>string</em></td><td>true</td><td>The cardholder's city.</td></tr><tr><td><code>countryCode</code></td><td><em>string</em></td><td>true</td><td>The cardholder's country code.</td></tr><tr><td><code>customerId</code></td><td>string</td><td>true</td><td>The ID of the customer requesting the card.</td></tr><tr><td><code>phoneNumber</code></td><td><em>string</em></td><td>true</td><td>The cardholder's phone number.</td></tr><tr><td><code>accountNumber</code></td><td><em>string</em></td><td>true</td><td>The account number the card is tied to.</td></tr><tr><td><code>email</code></td><td><em>string</em></td><td>true</td><td>The cardholder's email address.</td></tr><tr><td><code>cardProfile</code></td><td><em>string</em></td><td>true</td><td>The card profile to use for the request.</td></tr><tr><td><code>nameOnCard</code></td><td><em>string</em></td><td>true</td><td>The name to be printed on the card.</td></tr></tbody></table>

Here is an example request and response with a sample payload sent to the endpoint in Curl format.

<details>

<summary>Sample Request</summary>

```json
curl --location -g '{{baseUrl}}api/Card/v{{version}}/Providus/RequestVirtualCard' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "Mr",
  "firstName": "John",
  "lastName": "Doe",
  "middleNameInitials": "J",
  "dob": "2026-04-30T15:13:38.554Z",
  "address1": "Lagos",
  "address2": "Ikoyi",
  "city": "Ikoyi",
  "countryCode": "NGN",
  "customerId": "101",
  "phoneNumber": "08011111111",
  "accountNumber": "1000078049",
  "email": "providustest@mailinator.com",
  "cardProfile": "10101",
  "nameOnCard": "John Doe"
}'
```

</details>

<details>

<summary>Response: <code>200</code></summary>

```json
{
  "status": true,
  "message": "Request Successful",
  "data": {
    "success": true,
    "batchNumber": "123456678",
    "failedValidations": []
  }
}
```

</details>
