# DPS Card and Account Services
Empower issuers to manage their cardholders account information efficiently, securely and easily.

## Version: 1

### Servers

| URL | Description |
| --- | ----------- |
| https://sandbox.api.visa.com | Sandbox server |

---
## Card PIN Management
Service(s) designed to support functions related to card PIN.

### [PUT] /dcas/cardservices/v2/cards/{card-id}/pin
**Change PIN**

This service updates a personal identification number (PIN) for a card. This service requires both the current PIN and new cardholder-selected PIN in the message request. If the current PIN does not pass validation, the new PIN value will not be updated. <br><br> The PIN fail count is a program configuration that establishes the maximum number of bad PIN transaction attempts for a card. If the maximum PIN fail count for the card has been met, the PIN fail count must be reset on the card record before a PIN can be updated with this API. <br><br> As part of this API service, bad attempts to update a PIN for a card will also contribute to the PIN fail counter. As long as requests are valid, there is no limit to the number of times a PIN can be updated. The card record allows maintenance regardless of card status or expiration. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested. <br><br> Message Level Encryption (MLE) is required for this service.<br><br><b>For BIN(s) configured with multiple PIN keys, expiration date is required. The API does not validate the expiration date, it uses the date to identify the PIN key used for calculation.</b>

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| card-id | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | simple | No |

#### Request Body

pinChangeRequest

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"newPin"**: string, **"oldPin"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"errors"**: [ string ], **"reason"**: integer, **"status"**: integer, **"resource"**: { **"responseMessage"**: string }, **"correlationID"**: string, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [POST] /dcas/cardservices/v2/cards/{card-id}/pin
**Set PIN**

service creates a cardholder-selected personal identification number (PIN) for a card that is currently set to the natural PIN (for example, no customer-selected PIN exists). The customer-selected PIN will replace the natural PIN. <br><br> The PIN value passed through this API is the cardholder-selected value. The card record allows maintenance regardless of card status or expiration. <br><br> The PIN fail count is a program configuration that establishes the maximum number of bad PIN transaction attempts for a card. Successfully creating a card PIN with this service does not reset the PIN fail count. If the maximum PIN fail count for the card has been met, the PIN fail count must be reset on the card record before a cardholder-selected PIN can be established with this API. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested. <br><br> Message Level Encryption (MLE) is required for this service. <br><br><b>For BIN(s) configured with multiple PIN keys, expiration date is required. The API does not validate the expiration date, it uses the date to identify the PIN key used for calculation.</b>

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| card-id | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | simple | No |

#### Request Body

pinCreateRequest

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"pin"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"errors"**: [ string ], **"reason"**: integer, **"status"**: integer, **"resource"**: { **"responseMessage"**: string }, **"correlationID"**: string, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [GET] /dcas/cardservices/v2/cards/{card-id}/pin/settings
**Retrieve PIN Settings**

This service allows a user interface to inquire on the card and card program regarding PIN service availability and card PIN status. The API returns two key pieces of information: <br><br> • Is PIN management supported on the card program <br><br> • Is PIN currently set for the card <br><br> If PIN management is supported and no PIN is set for the card, then a client will use the Create PIN API to set a cardholder-selected PIN. <br><br> If PIN is currently set for this card, then a client will use Update PIN API. Update PIN requires existing PIN to set a new value. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| card-id | path | card-id | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"errors"**: [ string ], **"reason"**: integer, **"status"**: integer, **"resource"**: { **"pinExistsOnCard"**: boolean, **"isPinManagementSupported"**: boolean }, **"correlationID"**: string, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

---
## Card Services
Manage cardholder’s card and account information, notification settings, and balance information.

### [POST] /dcas/cardservices/v2/cards
**Create Card ID for a PAN V2**

This service creates a unique card ID for a Primary Account Number (PAN). It supports both DPS Debit and Prepaid clients. <br><br>For each card that is serviced, establishing the card ID is the first step. Subsequent API service requests primarily use the card ID in the message as the card reference value. The integrating system would either store or dynamically retrieve the card ID as needed. Exceptions to this may be inquiries using other reference values. <br><br>When a card is replaced, a new card ID must be requested for the new PAN. For PCI considerations, card numbers are masked in the response unless configured otherwise. <br><br>Considerations: <br><br>When creating a new card ID, Visa recommends allowing time for data synchronization between this API response and subsequent API requests.

#### Request Body

cardIdRequest

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"primaryAccountNumber"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"cardId"**: string }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [GET] /dcas/cardservices/v2/cards/{cardId}/cardstatus
**Retrieve Card Status - Debit**

This service retrieves card status for a given card ID associated to a card number. It supports DPS Debit clients and provides real-time card and activation status information on demand. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"status"**: string, **"activationStatus"**: string }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [PUT] /dcas/cardservices/v2/cards/{cardId}/cardstatus
**Update Card Status**

This service updates card status for a given card ID associated to a card number. It supports both DPS Debit and Prepaid clients and updates the card record in real-time. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | simple | No |

#### Request Body

updateCardStatusRequest

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"status"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: object, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [GET] /dcas/cardservices/v1/cards/{cardId}/cardstatus
**Retrieve Card Status**

Get the card status for a given cardId

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | CardId unique Indentifier | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | ok | **application/json**: { **"CardStatusResponse"**: { **"errors"**: [ object ], **"resource"**: { **"cardStatus"**: string, <br>**Available values:** "NotApplicable", "Active", "PendingCardIssuance", "CardIssued", "Suspended", "AdministrativeSuspended", "LostCard", "StolenCard", "ExpiredCard", "PendingAccountClosure", "Closed", "ClosedForFraud", "ReturnedUndeliverable", "ResearchRequired", "Voided", "Damaged", "Stale", "PendingDestruction", "Destroyed", "ClosedDueToUpgrade", "ClosedForEscheatment", "ClosedForDeceased", "OK", "DO_NOT_HONOR", "LOST_STOLEN", "FRAUD_SUSPECTED", "RESTRICTED", "BAD_DEBT", "CLOSED_ACCOUNT" }, **"receivedTimestamp"**: string, **"processingTimeInMs"**: integer } }<br> |
| 400 | The request is invalid |  |
| 404 | The account could not be found |  |
| 500 | Internal Server Error |  |

### [PUT] /dcas/cardservices/v1/cards/{cardId}/cardstatus
**Update Card Status**

Update Card Status for a a given card ID.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Card alias Id unique Indentifier | Yes | string | simple | No |

#### Request Body

Key Value for updating card status

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"cardStatus"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 202 | Accepted | **application/json**: { **"EmptyResponse"**: { **"errors"**: [ object ], **"resource"**: object, **"receivedTimestamp"**: string, **"processingTimeInMs"**: integer } }<br> |
| 400 | The request is invalid |  |
| 404 | The account could not be found |  |
| 500 | Internal Server Error |  |

### [POST] /dcas/cardservices/v2/cards/{cardId}/cardactivation
**Activate Card with Verification**

This service activates a card for a given Card ID, which is associated to a unique Primary Account Number (PAN). The service supports cardholder token verification as part of the card activation request. By default, at least one token is required in the request. If multiple tokens are provided, all tokens must pass validation prior to activation. If any token fails, activation will not be successful and a generic token failure message will be provided in the response. <br><br>For card replacements, a new Card ID must be requested for the new PAN. <br><br>This API was designed with considerations for self-service channels such as Voice Response Unit (VRU) automation, combining the token pass/ fail logic in addition to the basic function of activating a card. Other user interfaces such as websites, mobile applications, or enterprise administrative systems would also be able to take advantage of this service.<br><br>This version of the endpoint will be deprecated on July 31, 2025. Please leverage the most current version.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | simple | No |

#### Request Body

At least one verification token is required in the request. If multiple tokens are provided, all tokens must pass validation prior to activation.

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"cardsInfo"**: { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } }, **"phoneNumber"**: string, **"birthDateMmDdYyyy"**: string, **"mothersMaidenName"**: string, **"driversLicenseInfo"**: { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string }, **"socialSecurityNumberInfo"**: { **"socialSecurityNumber"**: string, **"last4socialSecurityNumber"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"isCardActivationSuccessful"**: boolean }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [POST] /dcas/cardservices/v1/cards
**Create Card ID for a PAN**

Creates a unique card Id for a Primary Account Number (PAN) and creates an account alias ID for accounts tied to the PAN. Retrieves balance information for all the accounts.

#### Request Body

An array containing PANs, expiration Dates and show balances flags

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"cardIdModel"**: [ { **"pan"**: string, **"expirationDate"**: string, **"lookUpBalances"**: boolean } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Object | **application/json**: { **"errors"**: [ string ], **"resource"**: { **"cards"**: [ { **"pan"**: string, **"cardId"**: string, **"accounts"**: [ { **"balances"**: { **"ledger"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountDue"**: { **"amount"**: double, **"currencyCode"**: string }, **"available"**: { **"amount"**: double, **"currencyCode"**: string }, **"creditLine"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountOwing"**: { **"amount"**: double, **"currencyCode"**: string }, **"availableCredit"**: { **"amount"**: double, **"currencyCode"**: string } }, **"isFunding"**: boolean, **"accountNumber"**: string, **"institutionId"**: string, **"accountAliasId"**: string, **"accountTypeCode"**: string, **"accountOpenedDate"**: dateTime, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, **"accountIndicatorDescription"**: string } ] } ] }, **"receivedTimestamp"**: string, **"processingTimeInMs"**: integer }<br> |
| 400 | The request is invalid |  |
| 404 | The account could not be found |  |
| 500 | Internal Server Error |  |

### [GET] /dcas/cardservices/v2/cards/{cardId}
**Retrieve Card Details**

This service retrieves card details, account details, and balance information for a given card ID associated to a card number. It supports both DPS Debit and Prepaid clients and provides real-time cardholder information on demand. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | simple | No |
| lookUpBalances | query | Indicates if balance should be returned. Must be passed in the URI. Example: …/dcas/cardservices/v2/cards/{cardId]?lookUpBalances=true | No | string, <br>**Default:** false | form | Yes |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"cardId"**: string, **"accounts"**: [ { **"accountId"**: string, **"currencyCode"**: string, **"accountNumber"**: string, **"institutionId"**: string, **"ledgerBalance"**: double, **"accountTypeCode"**: string, <br>**Available values:** "DDA", "SAV", "CRD", "INV", "LON", "OTH", "Prepaid", **"availableBalance"**: double, **"fundingIndicator"**: boolean, **"accountOpenedDate"**: string, **"creditLineBalance"**: double, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, <br>**Available values:** "DemandDeposit", "Savings", "Credit", "Investment", "Loan", "Other", **"availableCreditBalance"**: double, **"lastBalanceUpdateTimeStamp"**: string, **"accountIndicatorDescription"**: string } ], **"last4PrimaryAccountNumber"**: string }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [GET] /dcas/cardservices/v1/cards/{cardId}/transactions
**Retrieve Transaction History - DEPRECATED**

Get transaction history for a given cardId.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Unique indentifier assigned to the PAN | Yes | string | simple | No |
| indexRow | query | Unique indentifier assigned to the PAN | No | integer | form | Yes |
| rowsOnPage | query | Unique indentifier assigned to the PAN | No | integer | form | Yes |
| accountAliasId | query | Unique indentifier assigned to the PAN | No | string | form | Yes |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | ok | **application/json**: { **"TransactionsInquiryResponse"**: { **"errors"**: [ object ], **"resource"**: { **"hasMore"**: boolean, **"transactions"**: [ { **"merchantName"**: string, **"transactionKey"**: string, **"merchantAddress"**: { **"city"**: string, **"region"**: { **"key"**: string, **"value"**: string }, **"zipCode"**: string, **"countryCode"**: { **"display"**: string, **"threeDigitCountryCode"**: string, **"twoCharacterCountryCode"**: string, **"threeCharacterCountryCode"**: string }, **"addressLine1"**: string, **"addressLine2"**: string, **"addressLine3"**: string }, **"transactionAmount"**: { **"amount"**: double, **"currencyCode"**: string }, **"transactionStatus"**: { **"key"**: string, **"value"**: string }, **"transactionDateTime"**: string, **"debitCreditIndicator"**: { **"key"**: string, **"value"**: string }, **"transactionDescription"**: string } ] }, **"receivedTimestamp"**: string, **"processingTimeInMs"**: integer } }<br> |
| 400 | The request is invalid |  |
| 404 | The account could not be found |  |
| 500 | Internal Server Error |  |

### [GET] /dcas/cardservices/v1/cards/{cardId}
**Retrieve Card Details**

Gets card details, account details, and balance information for a given card ID.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| balance | query | Indicates if balance should be returned. Must be passed in the URI. Example: …/dcas/cardservices/v1/cards/{cardId]?balance=true | No | string, <br>**Default:** false | form | Yes |
| cardId | path | cardId | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"errors"**: [ string ], **"reason"**: integer, **"status"**: integer, **"resource"**: { **"pan"**: string, **"cardId"**: string, **"accounts"**: [ object ], **"cardType"**: string, **"isFrozen"**: boolean, **"isPrimary"**: boolean, **"cardStatus"**: { **"key"**: string, **"value"**: string }, **"isDeceased"**: boolean, **"isFraudBlocked"**: boolean, **"loyaltyProgramDetailModel"**: { **"rewardsLevel"**: string, **"availablePoints"**: string, **"pointsExpiryDate"**: string, **"pointsEarnedYearToDate"**: string, **"pointsRedeemedYearToDate"**: string } }, **"correlationID"**: string, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [POST] /dcas/cardservices/v1/cards/{cardId}/cardactivation
**Activate Card with Verification**

Performs Card Activation for given cardId. This version of the endpoint will be deprecated on July 31, 2025. Please leverage the most current version.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Unique indentifier assigned to the PAN | Yes | string | simple | No |

#### Request Body

Activation Request.

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"cvv2"**: string, **"ssnToken"**: { **"ssn"**: string, **"isLastFourOnly"**: boolean, **"isTokenPresent"**: boolean }, **"birthDateToken"**: { **"isTokenPresent"**: boolean, **"birthDateMmDdYyyy"**: string }, **"expirationDate"**: { **"mm"**: string, **"yy"**: string }, **"phoneNumberToken"**: { **"countryCode"**: string, **"phoneNumber"**: string, **"isTokenPresent"**: boolean }, **"driversLicenseToken"**: { **"stateCode"**: string, **"countryCode"**: string, **"isTokenPresent"**: boolean, **"drivingLicenseNumber"**: string }, **"mothersMaidenNameToken"**: { **"isTokenPresent"**: boolean, **"mothersMaidenName"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"CardActivationResponse"**: { **"errors"**: [ object ], **"resource"**: { **"isCardActivationSuccessful"**: boolean }, **"receivedTimestamp"**: string, **"processingTimeInMs"**: integer } }<br> |
| 400 | The request is invalid |  |
| 404 | The account could not be found |  |
| 500 | Internal Server Error |  |

### [GET] /dcas/cardservices/v1/cards/prepaid/{cardId}/cardstatus
**Retrieve Card Status - Prepaid**

This service retrieves card status for a given card ID associated to a card number. It supports DPS Prepaid clients and provides real-time card status information on demand. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| cardId | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"status"**: string }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

---
## Card Transactions
Service(s) designed to support functions related to card transactions.

### [GET] /dcas/accountservices/v1/accounts/{accountId}/cards/{cardId}/transactions
**Retrieve Transaction History - Debit**

This service retrieves transaction history for a given card ID associated to a Debit card number and account number. DPS Debit cards can be associated with multiple bank accounts. A specific account must be identified for this API request. If a new account(s) is added, the corresponding account ID can be obtained by calling the “Retrieve Card and Account Details for a Card ID” API. This API retrieves transaction history data dynamically from the system of record, and data returned can vary between different systems of record. If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| accountId | path | accountId | Yes | string | simple | No |
| cardId | path | cardId | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"transactions"**: [ { **"transactionInfo"**: { **"dateTime"**: string, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } }, **"transactionDescription"**: string } ], **"last4PrimaryAccountNumber"**: string }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

---
## Program Services
The wire confirmation report, made available prior to the wire draw-down request or wire transfer, provides the net totals used to determine your wire transfer total.

### [GET] /dcas/programservices/v1/reports/wireconfirmation
**Retrieve Wire Confirmation Report**

This report provides the daily settlement wire confirmation at the Issuer (PRC) level for U.S. card programs processed by Visa DPS. This confirmation report, made available prior to the wire draw-down request or wire transfer, provides the net totals used to determine your wire transfer total.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| date | query | Settlement date in YYYY-MM-DD format. If not provided, then current date will be used. | No | string | form | Yes |
| prc | query | If PRC is provided, then report will only include the details related to the requested PRC. If not, then API will send response to all the PRC mapped to the sponsor. | No | string | form | Yes |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: [ { **"fees"**: { **"totalSMSReimbursementFees"**: number, **"totalInterLinkReimbursementFees"**: number, **"totalSMSInternationalServiceAssessmentFees"**: number, **"totalInterLinkInternationalServiceAssessmentFees"**: number }, **"prcId"**: string, **"prcName"**: string, **"netTotal"**: number, **"differences"**: number, **"settlementDate"**: string, **"wireTotalAmount"**: number, **"processorSettlementAmount"**: number, **"miscellaneousFeesSettlementAmount"**: number, **"exceptionTransactionSettlementAmount"**: number } ], **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

---
## Card Activation
Service(s) designed to support functions related to card activation.

### [POST] /dcas/cardservices/v3/cards/{cardId}/cardactivation
**Activate Card with Verification**

This service activates a card for a given Card ID, which is associated to a unique Primary Account Number (PAN). The service is only available for DPS Debit card programs, and supports cardholder token verification as part of the card activation request. By default, at least one token is required in the request. If multiple tokens are provided, all tokens must pass validation prior to activation. If any token fails, activation will not be successful and a generic token failure message will be provided in the response. <br><br>For card replacements, a new Card ID must be requested for the new PAN. <br><br>This API was designed with considerations for self-service channels such as Voice Response Unit (VRU) automation, combining the token pass/ fail logic in addition to the basic function of activating a card. Other user interfaces such as websites, mobile applications, or enterprise administrative systems would also be able to take advantage of this service.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| X-Correlation-Id | header | Id that uniquely identifies a request across distributed systems.  Generally populated by the upstream system in this case, VDP or the client. | No | string | No |
| cardId | path | Unique ID for current card. minLength: 1, maxLength: 40. | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"cardsInfo"**: { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } }, **"phoneNumber"**: string, **"birthDateMmDdYyyy"**: string, **"mothersMaidenName"**: string, **"driversLicenseInfo"**: { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string }, **"socialSecurityNumberInfo"**: { **"socialSecurityNumber"**: string, **"last4socialSecurityNumber"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: object, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |

### [POST] /dcas/cardservices/v1/cards/{cardId}/digitalactivation
**Digital Activation**

This service digitally activates a card for a given card ID associated to a unique Primary Account Number (PAN). Digital activation supports the digital issuance product by allowing only specific card-not-present (CNP) and tokenized transactions. Digital activation is separate from card activation, which activates the physical card. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| X-Correlation-Id | header | Id that uniquely identifies a request across distributed systems.  Generally populated by the upstream system in this case, VDP or the client. | No | string | simple | No |
| app-group-id | header | Unique ID that defines a collection of related apps. Related child apps will inherit all customer accounts, profiles, and data related to the app-group-id. | No | string | simple | No |
| app-id | header | The app-id is provisioned to the app when it is registered on the VDP. The app-id must be included in all API calls to the Paas API. NOTE: During runtime, the gateway is responsible for injecting the app-id as a header into the call before passing it to the Cards API. The gateway will determine the app-id based on the API credentials of the app.  | No | string | simple | No |
| cardId | path | cardId | Yes | string | simple | No |
| sponsor-id | header | After authenticating the app's API credentials during runtime, the gateway will immediately look up the app-id bound to the API credentials. It will then determine if the call initiated from a Sponsors/Issuers application and if it did, the gateway will inject the associated sponsor-Id as a header before passing the request to the PaaS API. | No | string | simple | No |

#### Request Body

digitalActivationRequest

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"digitalActivationFlag"**: boolean }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"errors"**: [ string ], **"reason"**: integer, **"status"**: integer, **"correlationID"**: string, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [POST] /dcas/cardservices/v1/cards/activation
**Activate Card**

This service activates a card for a given card ID associated to a unique Primary Account Number (PAN).<br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Request Body

cardActivationV2Request

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"cardId"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"isCardActivationSuccessful"**: boolean }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

---
## Card Inquiry 
Service(s) designed to support functions related to card inquiry.

### [POST] /dcas/cardinquiry/v1/accounts/debitcardsearch
**Search Card**

The DPS Debit Card Search API retrieves a list of Primary Account Numbers (PANs) associated with the search criteria provided. Possible search criteria options are account number and routing number, name, customer ID, card replacement number (CRN), and member number. Only one search criteria is supported per request. <br><br> The card status filter indicates if the result set should only include cards in good standing. Good standing refers to a card that is not in a negative or expired status. The initial card number may have expired but the lifecycle could have been extended, keeping the card in good standing. Cards returned may be active or inactive. Inactive cards are still eligible to be activated to perform transactions. <br><br> Message Level Encryption (MLE) is required for this service.

#### Request Body

Only one search criteria is supported per request. Either accountInfo, cardholderInfo, cardReplacementNumber, customerId, or memberNumber must be provided. When searching by accountInfo, accountNumber and routingNumber are required. When searching by cardholderInfo, firstName and lastName are required.

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"customerId"**: string, **"accountInfo"**: { **"accountType"**: string, **"accountNumber"**: string, **"routingNumber"**: string }, **"memberNumber"**: string, **"cardHolderInfo"**: { **"lastName"**: string, **"firstName"**: string }, **"cardStatusFilter"**: boolean, **"cardReplacementNumber"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: { **"cards"**: [ { **"status"**: string, **"profile"**: { **"title"**: string, **"suffix"**: string, **"lastName"**: string, **"firstName"**: string, **"middleInitial"**: string }, **"billingAddress"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string }, **"expirationDate"**: { **"mm"**: string, **"yy"**: string }, **"sequenceOnCard"**: string, **"primaryAccountNumber"**: string } ] }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |
| 201 | Created |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

### [POST] /dcas/cardinquiry/v3/accounts/debitcardinquiry
**Inquire Card**

Lookup and return a list of Primary Account Numbers (PANs) associated with an account number and routing number

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| X-Correlation-Id | header |  | No | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"accountNumber"**: string, **"routingNumber"**: string, **"filterCriteria"**: { **"cardHolder"**: { **"lastName"**: string, **"firstName"**: string }, **"accountType"**: string, **"activeAccount"**: boolean } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"error"**: { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string }, **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"resource"**: object, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |

---
## Cardholder Verification
Service(s) designed to support functions related to cardholder verification.

### [POST] /dcas/cardservices/v2/cards/{cardId}/cardholderverification
**Cardholder Verification**

This service verifies cardholder information provided for a given card ID. It is only available for DPS Debit card programs. By default, at least one token is required in the request. If multiple tokens are provided, all tokens must pass validation for a successful response. If any token fails, a failure message will be provided in the response. For this API, a token is referred to as information unique to the cardholder that the cardholder either has (e.g. CVV2) or knows (e.g. phone number). <br><br> This service is commonly used as an authentication step to allow access to a self-service interface or as a prerequisite to allow use of other stand-alone services such as card activation. <br><br> If creating a new card ID prior to calling this API, allow time for data synchronization between the Create Card ID response and this API request. When a card is replaced, a new card ID must be requested.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| X-Correlation-Id | header | Id that uniquely identifies a request across distributed systems.  Generally populated by the upstream system in this case, VDP or the client. | No | string | No |
| cardId | path |  | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"cardsInfo"**: { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } }, **"phoneNumber"**: string, **"birthDateMmDdYyyy"**: string, **"mothersMaidenName"**: string, **"driversLicenseInfo"**: { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string }, **"socialSecurityNumberInfo"**: { **"socialSecurityNumber"**: string, **"last4socialSecurityNumber"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"links"**: [ { **"rel"**: string, **"href"**: string, **"type"**: string } ], **"errors"**: [ string ], **"reason"**: integer, **"status"**: integer, **"resource"**: { **"status"**: string }, **"correlationID"**: string, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |

---
## Card CVV2 
Service(s) designed to support functions related to CVV2.

### [POST] /dcas/cardservices/v2/cards/{cardId}/cvv2generation
**Generate Cvv2**

Use this resource to generate a CVV2 for a Primary Account Number (PAN). The PAN is identified by an alias {cardId} in the route. Clients initiate this call through a mobile app or web application for different purposes.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| X-Correlation-Id | header |  | No | string | No |
| cardId | path |  | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"expirationDate"**: { **"mm"**: string, **"yy"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"errors"**: [ string ], **"reason"**: integer, **"status"**: integer, **"resource"**: { **"cvv2"**: string }, **"receivedTimestamp"**: string, **"processingTimeinMs"**: long }<br> |

---
### Schemas

#### Account Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Account | object |  |  |

#### AvsVerificationDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| billingAddress | { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } |  | Yes |

#### UpdateCardStatusResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| UpdateCardStatusResponse | object |  |  |

#### ErrorDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| id | string |  | No |
| type | string | Error Category | No |
| message | string | Detail error message. | No |
| attribute | string | Actual attribute name from the request which caused validation failure. | No |

#### CollectionResourceExternalOfGetCardStatusDebitResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"status"**: string, **"activationStatus"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### GenerateCvv2Response Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvv2 | string | 3 digit numeric CVV2 for the PAN. | Yes |

#### DebitTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionInfo | { **"dateTime"**: string, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } } |  | Yes |
| transactionDescription | string | The transaction description. | Yes |

#### CardModel Schema

Provides an array of cardIds with card status, accounts and their balances.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Masked Primary Account Number (PAN) value. | No |
| cardId | string | Unique card identifier. | No |
| accounts | [ { **"balances"**: { **"ledger"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountDue"**: { **"amount"**: double, **"currencyCode"**: string }, **"available"**: { **"amount"**: double, **"currencyCode"**: string }, **"creditLine"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountOwing"**: { **"amount"**: double, **"currencyCode"**: string }, **"availableCredit"**: { **"amount"**: double, **"currencyCode"**: string } }, **"isFunding"**: boolean, **"accountNumber"**: string, **"institutionId"**: string, **"accountAliasId"**: string, **"accountTypeCode"**: string, **"accountOpenedDate"**: dateTime, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, **"accountIndicatorDescription"**: string } ] | Array of accounts tied to the given cardId. | No |

#### PhoneNumberToken Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| phoneNumber | string |  | Yes |
| phoneCountryCode | string | Country code | No |

#### CardActNoVerificationReq-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardId | string | Unique ID for current card. | Yes |

#### CardHolderVerificationRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardsInfo | { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } } | ${cardsInfo} | No |
| phoneNumber | string | ${phoneNumber} | No |
| birthDateMmDdYyyy | string | ${birthDateMmDdYyyy} | No |
| mothersMaidenName | string | ${mothersMaidenName} | No |
| driversLicenseInfo | { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string } | ${driversLicenseInfo} | No |
| socialSecurityNumberInfo | { **"socialSecurityNumber"**: string, **"last4socialSecurityNumber"**: string } | ${socialSecurityNumberInfo} | No |

#### CardDetailsResponseV2-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardId | string | Unique ID for current card. minLength: 1, maxLength: 40. | Yes |
| accounts | [ { **"accountId"**: string, **"currencyCode"**: string, **"accountNumber"**: string, **"institutionId"**: string, **"ledgerBalance"**: double, **"accountTypeCode"**: string, <br>**Available values:** "DDA", "SAV", "CRD", "INV", "LON", "OTH", "Prepaid", **"availableBalance"**: double, **"fundingIndicator"**: boolean, **"accountOpenedDate"**: string, **"creditLineBalance"**: double, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, <br>**Available values:** "DemandDeposit", "Savings", "Credit", "Investment", "Loan", "Other", **"availableCreditBalance"**: double, **"lastBalanceUpdateTimeStamp"**: string, **"accountIndicatorDescription"**: string } ] | List of accounts associated to the card ID. | No |
| last4PrimaryAccountNumber | string | The Primary Account Number (PAN) is a unique number used to identify a card. This value is used in electronic payment transactions. PANs are typically 16-digits long. This field only displays last 4 digits for PCI considerations. | Yes |

#### PinCreateResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseMessage | string | Indicates if the request was successful. If successful then responseMessage = "PINCREATED" else, the resource object is null and the errors array is populated. | No |

#### CardHolderDetailsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ssn | string | Social security number. | No |
| name | { **"title"**: string, **"suffix"**: string, **"lastName"**: string, **"firstName"**: string, **"middleName"**: string } |  | No |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |
| isPrimary | boolean | Primary cardholder details flag. | No |
| dateOfBirth | string | Cardholder date of birth. | No |
| emailAddress | string | Email address of the cardholder | No |
| cardIssueDate | string | Card issue date. | No |
| nameOnTheCard | string | Cardholder name. | No |
| cardTenureDate | string | Tenure date of the card | No |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | No |
| homePhoneNumber | string | Home phone number of the cardholder | No |
| mobilePhoneNumber | string | Mobile phone number of the cardholder | No |
| directDepositEnable | boolean | Direct deposit enabled flag. | No |

#### CollectionResourceExternalOfGetCardStatusDebitResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"status"**: string, **"activationStatus"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceExternalOfCardDetailsResponseV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"cardId"**: string, **"accounts"**: [ { **"accountId"**: string, **"currencyCode"**: string, **"accountNumber"**: string, **"institutionId"**: string, **"ledgerBalance"**: double, **"accountTypeCode"**: string, <br>**Available values:** "DDA", "SAV", "CRD", "INV", "LON", "OTH", "Prepaid", **"availableBalance"**: double, **"fundingIndicator"**: boolean, **"accountOpenedDate"**: string, **"creditLineBalance"**: double, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, <br>**Available values:** "DemandDeposit", "Saving", "Credit", "Investment", "Loan", "Other", **"availableCreditBalance"**: double, **"lastBalanceUpdateTimeStamp"**: string, **"accountIndicatorDescription"**: string } ], **"last4PrimaryAccountNumber"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CardVerificationRsp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| isAvsValid | boolean | True if the supplied address is valid; otherwise false. | No |
| isCvv2Valid | boolean | True if the supplied CVV2 is valid; otherwise false. | No |

#### CardInquiryRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountNumber | string | Account number used to search for linked debit cards. | Yes |
| routingNumber | string | Institution’s routing number, linked to the account. | Yes |
| filterCriteria | { **"cardHolder"**: { **"lastName"**: string, **"firstName"**: string }, **"accountType"**: string, **"activeAccount"**: boolean } | Additionally client can provide the filter criteria's to control the response data set. | No |

#### PinCreateRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pin | string | ${pinCreateRequest.pin} | Yes |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | No |

#### CollectionResourceOfCardDetailsResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"pan"**: string, **"cardId"**: string, **"accounts"**: [ object ], **"cardType"**: string, **"isFrozen"**: boolean, **"isPrimary"**: boolean, **"cardStatus"**: { **"key"**: string, **"value"**: string }, **"isDeceased"**: boolean, **"isFraudBlocked"**: boolean, **"loyaltyProgramDetailModel"**: { **"rewardsLevel"**: string, **"availablePoints"**: string, **"pointsExpiryDate"**: string, **"pointsEarnedYearToDate"**: string, **"pointsRedeemedYearToDate"**: string } } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CardActivationReq Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardsInfo | { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } } |  | No |
| phoneNumber | string | Numeric Phone number. Phone numbers vary in length depending on country. Phone number must be configured for underlying debit program. | No |
| birthDateMmDdYyyy | string | Birth date in MMddyyyy format. Birth date verification must be configured for underlying debit program. | No |
| mothersMaidenName | string | Mother's maiden name. Mother's maiden name verification must be configured for underlying debit program. | No |
| driversLicenseInfo | { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string } |  | No |
| socialSecurityNumberInfo | { **"socialSecurityNumber"**: string, **"last4socialSecurityNumber"**: string } |  | No |

#### PrepaidTransactionDetailsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactions | [ { **"transactionId"**: string, **"transactionInfo"**: { **"type"**: string, **"status"**: string, **"dateTime"**: string, **"merchantInfo"**: { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } }, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } }, **"transactionDescription"**: string } ] | List of transactions. By default, transaction is sorted on transactionInfo.dateTime in descending order. Most recent at the top. If no transactions are found, an empty list will be returned. | Yes |
| paginationData | { **"lastPage"**: boolean, **"firstPage"**: boolean } |  | Yes |
| last4PrimaryAccountNumber | string | The Primary Account Number (PAN) is a unique number used to identify a card. This value is used in electronic payment transactions. PANs are typically 16-digits long. This field only displays last 4 digits for PCI considerations. | Yes |

#### CollectionResourceOfVoid Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| correlationID | string | Id that uniquely identifies a request across distributed systems.  Generally populated by the upstream system in this case, VDP or the client. | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### ErrorInformation-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | integer | HTTP status code | No |
| details | [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ] |  | No |
| description | string | HTTP response code description | No |

#### CollectionResourceExternalOfCardActivationRsp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"isCardActivationSuccessful"**: boolean } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### PinChangeRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| newPin | string | New PIN that must be updated for the card number. The length of currentPin and newPin must be the same. The number of digits allowed depends on the client configuration.   | Yes |
| oldPin | string | Existing PIN currently set for the card number. Existing PIN validation is based on client configuration for comparison length and positions. | Yes |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | No |

#### SSNToken Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ssn | string | Social security number. | Yes |
| lastFourOnly | boolean |  | No |
| isLastFourOnly | boolean | If true, “ssn” contain last 4 of SSN, if false “ssn” will contain complete SSN number. | No |

#### PaginationData Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| lastPage | boolean | Indicates last page of a result set. | No |
| firstPage | boolean | Indicates first page of transaction history. | No |

#### CardHolderBillingAddress Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | City. | No |
| line1 | string | Address line 1. | No |
| line2 | string | Address line 2. | No |
| region | string | ISO region code. | No |
| postalCode | string | Postal code. | No |
| countryCode | string | 3-character ISO country code. | No |

#### Cvv2VerificationDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvv2 | string | The cardholder cvv2 value. | No |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | Yes |

#### DriversLicenseInfo-2 Schema

${driversLicenseInfo}

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stateCode | string | ${stateCode} | Yes |
| countryCode | string | ${countryCode} | Yes |
| driversLicenseNumber | string | ${driversLicenseNumber} | Yes |

#### CollectionResourceExternalOfUpdateCardStatusResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | object |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### UpdateCardStatusRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | The card status value to be updated from the enumeration list. <br><br>For prepaid, must use valid values available for prepaid:<br>ACTIVE<br>SUSPENDED<br>LOST_CARD<br>STOLEN_CARD<br><br>For debit, must use valid values available for debit:<br>LK-LOCKED_BY_CARDHOLDER<br>&lowbar;&lowbar;-UNLOCK_BY_CARDHOLDER<br>&lowbar;&lowbar;-REMOVE_HOT_CARD_STATUS<br>P-NO_CARD_RECORD<br>76-DO_NOT_HONOUR<br>7A-DO_NOT_HONOUR<br>7B-DO_NOT_HONOUR<br>7C-DO_NOT_HONOUR<br>92-DO_NOT_HONOUR<br>96-DO_NOT_HONOUR<br>AH-DO_NOT_HONOUR<br>AI-DO_NOT_HONOUR<br>AM-DO_NOT_HONOUR<br>PF-NO_CARD_RECORD<br>PH-DO_NOT_HONOUR<br>Q1-GENERAL_DENIAL_(NO_CARD_PICK_UP)<br>Q4-DO_NOT_HONOUR_(PICKUP)<br>AD-LOST/STOLEN_CARD_(PICK_UP_CARD)<br>ND-LOST/STOLEN_CARD_(NO_CARD_PICK_UP)<br>PU-HOT CARD=TRANSACTION_DENIAL_(PICK_UP_CARD)<br>Q3-CARD_MISPLACED_(PICK_UP_CARD)<br>AE-FRAUD_(PICK_UP_CARD)<br>NE-FRAUD_(NO_CARD_PICK_UP)<br>QD-SUSPECTED_COUNTERFEIT_CARD<br>AK-PERMANENT_RESTRAINT_(PICK_UP_CARD)<br>NK-PERMANENT_RESTRAINT_(NO_CARD_PICK_UP)<br>Q5-CARD_ACCEPTOR-CALL_ISSUER<br>Q6-CARD_ACCEPTOR-CALL_ISSUER<br>RI-VIOLATION_OF_LAW<br>X1-CARD_NOT_EFFECTIVE<br>AL-BAD_DEBT_(PICK_UP_CARD)<br>NL-BAD_DEBT_(NO_CARD_PICK_UP)<br>C3-CR-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING<br>D3-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING<br>P8-CLOSED_ACCOUNT_(NO_CARD_PICK_UP)<br>P9-DORMANT_ACCOUNT_(NO_CARD_PICK_UP)<br>S3-SAV_CLOSED_OR_RESTRICTED_FOR_CLOSING<br>UJ-ACM_ACCOUNT_IS_CLOSED<br>NH-EXPIRED_CARD_(RETURN_CARD)<br>P6-CR_CLOSED_OR_RESTRICTED_FOR_CLOSING | Yes |

#### DriversLicenseInfo-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stateCode | string | Region or state code as per the license. | Yes |
| countryCode | string | 3-character ISO country code. | Yes |
| driversLicenseNumber | string | Driver's license number. Do not include dashes. | Yes |

#### CollectionResourceOfPinCreateResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"responseMessage"**: string } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CardsInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvv2 | string | 3-digit security code(typically located on the back of a card). | Yes |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | Yes |

#### Profile Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| title | string | Characters prefixing person's name. Example: Mr., Mrs., Dr. | No |
| suffix | string | Suffix following a person's name. Example: Jr., PhD | No |
| lastName | string | Last name. Dependent on Client program Configuration. | No |
| firstName | string | First name. Dependent on Client program Configuration. | No |
| middleInitial | string | Middle initial. | No |

#### ErrorInformation Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | integer | HTTP status code | No |
| details | [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ] |  | No |
| description | string | HTTP response code description | No |

#### PinChangeRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| newPin | string | New PIN that must be updated for the card number. The length of currentPin and newPin must be the same. The number of digits allowed depends on the client configuration.   | Yes |
| oldPin | string | Existing PIN currently set for the card number. Existing PIN validation is based on client configuration for comparison length and positions. | No |

#### DriversLicenseInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stateCode | string | Region or state code as per the license. | Yes |
| countryCode | string | 3-character ISO country code. | Yes |
| driversLicenseNumber | string | Driver's license number. Do not include dashes. | Yes |

#### SocialSecurityNumberInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| socialSecurityNumber | string | Social security number. Do not include dashes. | No |
| last4socialSecurityNumber | string | Last 4 digits of social security number | No |

#### CardAliasResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errors | [ string ] | Provides one or more short descriptions in the event of errors. | No |
| resource | { **"cards"**: [ { **"pan"**: string, **"cardId"**: string, **"accounts"**: [ { **"balances"**: { **"ledger"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountDue"**: { **"amount"**: double, **"currencyCode"**: string }, **"available"**: { **"amount"**: double, **"currencyCode"**: string }, **"creditLine"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountOwing"**: { **"amount"**: double, **"currencyCode"**: string }, **"availableCredit"**: { **"amount"**: double, **"currencyCode"**: string } }, **"isFunding"**: boolean, **"accountNumber"**: string, **"institutionId"**: string, **"accountAliasId"**: string, **"accountTypeCode"**: string, **"accountOpenedDate"**: dateTime, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, **"accountIndicatorDescription"**: string } ] } ] } | The response data computed from processing the request. Will not be present in the event of an error. | No |
| receivedTimestamp | string | The time the request was received. Value is in GMT. | No |
| processingTimeInMs | integer | The time, in milliseconds, taken to process the request. | No |

#### TransactionInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dateTime | string | Date/time activity was posted in Visa system. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'.<br>*Example:* `"2020-09-13T23:30:52.123Z"` | Yes |
| transactionAmount | { **"amount"**: number, **"currencyCode"**: string } |  | No |

#### CardDetailsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Pan associated with the card ID. | Yes |
| cardId | string | Unique identifier assigned to the PAN | Yes |
| accounts | [ object ] | Account list for the card id. | No |
| cardType | string | Indicate type of card. | Yes |
| isFrozen | boolean | Frozen flag | No |
| isPrimary | boolean | Only applicable for prepaid cards. Indicates if card is of primary card holder. | No |
| cardStatus | { **"key"**: string, **"value"**: string } |  | No |
| isDeceased | boolean | Only applicable for prepaid cards. | No |
| isFraudBlocked | boolean | Indicate if the card is blocked due to fraud.  Only applicable for prepaid cards.  | No |
| loyaltyProgramDetailModel | { **"rewardsLevel"**: string, **"availablePoints"**: string, **"pointsExpiryDate"**: string, **"pointsEarnedYearToDate"**: string, **"pointsRedeemedYearToDate"**: string } |  | No |

#### AccountInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountType | string | Account type code. Defaults to "DDA" if not provided. | No |
| accountNumber | string | Account number from the client's banking system. | Yes |
| routingNumber | string | Number used to identify specific financial institution for routing purposes. In the United States, this is called a routing number. In the UK market, this is called the sort code. | Yes |

#### GenerateCvv2Response-1 Schema

The response resource container

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvv2 | string | 3 digit numeric CVV2 for the PAN. | Yes |

#### DebitCardSearchRequest Schema

Only one search criteria is supported per request. Either accountInfo, cardholderInfo, cardReplacementNumber, customerId, or memberNumber must be provided. When searching by accountInfo, accountNumber and routingNumber are required. When searching by cardholderInfo, firstName and lastName are required.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| customerId | string | Client generated identification number assigned to the cardholder. Applies to banks, or any bank charter type. Multiple PANs may be returned if this search criteria is used. | No |
| accountInfo | { **"accountType"**: string, **"accountNumber"**: string, **"routingNumber"**: string } |  | No |
| memberNumber | string | Identification number assigned to the member by the credit union. Multiple PANs may be returned if this search criteria is used. | No |
| cardHolderInfo | { **"lastName"**: string, **"firstName"**: string } |  | No |
| cardStatusFilter | boolean | Filter that restricts cards that are not in good standing from the response. If set to true, only active/inactive cards in good standing will be returned. Good standing refers to a card that is not in a negative or expired status.  | No |
| cardReplacementNumber | string | Client generated reference/replacement value for the card number. It has a 1:1 relationship with card number and must be unique.  This value replaces card number in inquiries, reporting and other data sets.  | No |

#### CollectionResourceExternalOfPrepaidTransactionDetailsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"transactions"**: [ { **"transactionId"**: string, **"transactionInfo"**: { **"type"**: string, **"status"**: string, **"dateTime"**: string, **"merchantInfo"**: { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } }, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } }, **"transactionDescription"**: string } ], **"paginationData"**: { **"lastPage"**: boolean, **"firstPage"**: boolean }, **"last4PrimaryAccountNumber"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### TokenVerificationResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Indicates the result of token validation. | No |

#### TransactionAmount Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | number | Amount in current currency. Visa imposes a limit of $100,000.00 USD. | Yes |
| currencyCode | string | 3-character ISO currency code. | Yes |

#### GenerateCvv2RequestWithPan Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | Yes |
| primaryAccountNumber | string | The card number, which must be between 16 and 19 numeric digits. | Yes |

#### CollectionResourceOfPinSettingsResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"pinExistsOnCard"**: boolean, **"isPinManagementSupported"**: boolean } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### LinkResource Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rel | string |  | No |
| href | string |  | No |
| type | string |  | No |

#### MerchantInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Merchant name. | No |
| address | { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } |  | No |

#### PrepaidTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionId | string | Unique value used to identify this transaction in the system. | Yes |
| transactionInfo | { **"type"**: string, **"status"**: string, **"dateTime"**: string, **"merchantInfo"**: { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } }, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } } |  | Yes |
| transactionDescription | string | The transaction description. | Yes |

#### DebitCardSearchCardHolderRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| lastName | string | Last name. | Yes |
| firstName | string | First name. | Yes |

#### ExpirationDate Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mm | string | Month the card expires(01-12).<br>*Example:* `"01 for January and 12 for December."` | Yes |
| yy | string | Year the card expires. Last 2 digits of year, only.<br>*Example:* `"20 implies 2020"` | Yes |

#### CollectionResourceExternalOfTransactionDetailsResponseOfPrepaidTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"transactions"**: [ { **"transactionId"**: string, **"transactionInfo"**: { **"type"**: string, **"status"**: string, **"dateTime"**: string, **"merchantInfo"**: { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } }, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } }, **"transactionDescription"**: string } ], **"paginationData"**: { **"lastPage"**: boolean, **"firstPage"**: boolean }, **"last4PrimaryAccountNumber"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### LoyaltyProgramDetailModel Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rewardsLevel | string | Indicates the rewards level; Maximum 32 characters alphanumeric value. | No |
| availablePoints | string | Available Loyalty Points on the Loyalty account tied to the Primary Account Number; Numeric value. | No |
| pointsExpiryDate | string | Loyalty Points Expiry Date on the Loyalty account tied to the Primary Account Number. MM/DD/YYYY format. | No |
| pointsEarnedYearToDate | string | Loyalty Points Earned Year to Date on the Loyalty account tied to the Primary Account Number; Numeric value. | No |
| pointsRedeemedYearToDate | string | Loyalty Points Redeemed Year to Date on the Loyalty account tied to the Primary Account Number; Numeric value. | No |

#### CardBalancesModel Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ledger | { **"amount"**: double, **"currencyCode"**: string } |  | No |
| amountDue | { **"amount"**: double, **"currencyCode"**: string } |  | No |
| available | { **"amount"**: double, **"currencyCode"**: string } |  | No |
| creditLine | { **"amount"**: double, **"currencyCode"**: string } |  | No |
| amountOwing | { **"amount"**: double, **"currencyCode"**: string } |  | No |
| availableCredit | { **"amount"**: double, **"currencyCode"**: string } |  | No |

#### CardHolder Schema

Cardholder details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| lastName | string | Last name. | Yes |
| firstName | string | First name. | Yes |

#### CollectionResourceExternalOfUpdateCardStatusResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | object |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceCardHolderVerificationResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"status"**: string } | ${resource} | No |
| correlationID | string | ${correlation-id} | Yes |
| receivedTimestamp | string | ${receivedTimeStampInternal} | Yes |
| processingTimeinMs | long | ${processingTimeInMs} | Yes |

#### CardActivationRsp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| isCardActivationSuccessful | boolean |  | No |

#### TokenVerificationRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ssnToken | { **"ssn"**: string, **"lastFourOnly"**: boolean, **"isLastFourOnly"**: boolean } |  | No |
| birthDateToken | string | Birth date token. | No |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | Yes |
| phoneNumberToken | { **"phoneNumber"**: string, **"phoneCountryCode"**: string } |  | No |
| driversLicenseToken | { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string } |  | No |
| mothersMaidenNameToken | string | Mother's maiden name token. | No |

#### CollectionResourceOfPinChangeResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"responseMessage"**: string } |  | No |
| correlationID | string | Id that uniquely identifies a request across distributed systems.  Generally populated by the upstream system in this case, VDP or the client. | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceExternalOfTransactionDetailsResponseOfDebitTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"transactions"**: [ { **"transactionInfo"**: { **"dateTime"**: string, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } }, **"transactionDescription"**: string } ], **"last4PrimaryAccountNumber"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CardIdRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| primaryAccountNumber | string | Unique value used to identify a card in the system. This value is used to transact. | Yes |

#### CollectionResourceExternalCardInquiryResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | object | ${resource} | No |
| receivedTimestamp | string | ${receivedTimeStampExternal} | Yes |
| processingTimeinMs | long | ${processingTimeInMs} | Yes |

#### FilterCriteria Schema

Additionally client can provide the filter criteria's to control the response data set.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardHolder | { **"lastName"**: string, **"firstName"**: string } | Cardholder details. | No |
| accountType | string | Account type code. Defaults to “DDA” if not provided. | No |
| activeAccount | boolean | Indicates if account is active. | No |

#### CardIdModelList Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardIdModel | [ { **"pan"**: string, **"expirationDate"**: string, **"lookUpBalances"**: boolean } ] | An array of card identifier models. | No |

#### TransactionDetailsResponseOfPrepaidTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactions | [ { **"transactionId"**: string, **"transactionInfo"**: { **"type"**: string, **"status"**: string, **"dateTime"**: string, **"merchantInfo"**: { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } }, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } }, **"transactionDescription"**: string } ] | List of transactions. By default, transaction is sorted on transactionInfo.dateTime in descending order. Most recent at the top. If no transactions are found, an empty list will be returned. | Yes |
| paginationData | { **"lastPage"**: boolean, **"firstPage"**: boolean } |  | Yes |
| last4PrimaryAccountNumber | string | The Primary Account Number (PAN) is a unique number used to identify a card. This value is used in electronic payment transactions. PANs are typically 16-digits long. This field only displays last 4 digits for PCI considerations. | Yes |

#### Name Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| title | string | Title of the cardholder. | No |
| suffix | string | Suffix of cardholder name. | No |
| lastName | string | Last name of the cardholder. | No |
| firstName | string | First name of the cardholder. | No |
| middleName | string | Middle Initial of the cardholder. | No |

#### CollectionResourceExternalCardActivationRsp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | object | ${resource} | No |
| receivedTimestamp | string | ${receivedTimeStampExternal} | Yes |
| processingTimeinMs | long | ${processingTimeInMs} | Yes |

#### ErrorDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| id | string |  | No |
| type | string | Error Category | No |
| message | string | Detail error message. | No |
| attribute | string | Actual attribute name from the request which caused validation failure. | No |

#### CreateCardIdResource Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardId | string | Unique ID for current card. minLength: 1, maxLength: 40. | No |

#### CollectionResourceOfPinCreateResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"responseMessage"**: string } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceOfPinCreateResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"responseMessage"**: string } |  | No |
| correlationID | string | Id that uniquely identifies a request across distributed systems.  Generally populated by the upstream system in this case, VDP or the client. | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### DigitalActivationRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| digitalActivationFlag | boolean |  | Yes |

#### CardHolderVerificationResponse Schema

${resource}

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | ${cardHolderVerificationResponse.status} | No |

#### UpdateCardStatusRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | The card status value to be updated from the enumeration list. <br><br>For prepaid, must use valid values available for prepaid:<br>ACTIVE<br>SUSPENDED<br>LOST_CARD<br>STOLEN_CARD<br>CLOSED<br>DAMAGED<br><br>For debit, must use valid values available for debit:<br>LK-LOCKED_BY_CARDHOLDER<br>&lowbar;&lowbar;-UNLOCK_BY_CARDHOLDER<br>&lowbar;&lowbar;-REMOVE_HOT_CARD_STATUS<br>_P-NO_CARD_RECORD<br>76-DO_NOT_HONOUR<br>7A-DO_NOT_HONOUR<br>7B-DO_NOT_HONOUR<br>7C-DO_NOT_HONOUR<br>92-DO_NOT_HONOUR<br>96-DO_NOT_HONOUR<br>AH-DO_NOT_HONOUR<br>AI-DO_NOT_HONOUR<br>AM-DO_NOT_HONOUR<br>PF-NO_CARD_RECORD<br>PH-DO_NOT_HONOUR<br>Q1-GENERAL_DENIAL_(NO_CARD_PICK_UP)<br>Q4-DO_NOT_HONOUR_(PICKUP)<br>AD-LOST/STOLEN_CARD_(PICK_UP_CARD)<br>ND-LOST/STOLEN_CARD_(NO_CARD_PICK_UP)<br>PU-HOT CARD=TRANSACTION_DENIAL_(PICK_UP_CARD)<br>Q3-CARD_MISPLACED_(PICK_UP_CARD)<br>AE-FRAUD_(PICK_UP_CARD)<br>NE-FRAUD_(NO_CARD_PICK_UP)<br>QD-SUSPECTED_COUNTERFEIT_CARD<br>AK-PERMANENT_RESTRAINT_(PICK_UP_CARD)<br>NK-PERMANENT_RESTRAINT_(NO_CARD_PICK_UP)<br>Q5-CARD_ACCEPTOR-CALL_ISSUER<br>Q6-CARD_ACCEPTOR-CALL_ISSUER<br>RI-VIOLATION_OF_LAW<br>X1-CARD_NOT_EFFECTIVE<br>AL-BAD_DEBT_(PICK_UP_CARD)<br>NL-BAD_DEBT_(NO_CARD_PICK_UP)<br>C3-CR-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING<br>D3-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING<br>P8-CLOSED_ACCOUNT_(NO_CARD_PICK_UP)<br>P9-DORMANT_ACCOUNT_(NO_CARD_PICK_UP)<br>S3-SAV_CLOSED_OR_RESTRICTED_FOR_CLOSING<br>UJ-ACM_ACCOUNT_IS_CLOSED<br>NH-EXPIRED_CARD_(RETURN_CARD)<br>P6-CR_CLOSED_OR_RESTRICTED_FOR_CLOSING | Yes |

#### GetCardStatusExtResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Status of current card associated with card ID.<br><br> Prepaid Valid Values:<br> NOT_APPLICABLE <br> ACTIVE <br> PENDING_CARD_ISSUANCE <br> CARD_ISSUED <br> SUSPENDED <br> ADMINISTRATIVE_SUSPENDED <br> LOST_CARD <br> STOLEN_CARD <br> EXPIRED_CARD <br> PENDING_ACCOUNT_CLOSURE <br> CLOSED <br> CLOSED_FOR_FRAUD <br> RETURNED_UNDELIVERABLE <br> RESEARCH_REQUIRED <br> VOIDED <br> DAMAGED <br> STALE <br> PENDING_DESTRUCTION <br> DESTROYED <br> CLOSED_DUE_TO_UPGRADE <br> CLOSED_FOR_ESCHEATMENT <br> CLOSED_FOR_DECEASED <br><br> Debit Valid Values: <br> &lowbar;P-NO_CARD_RECORD <br> 76-DO_NOT_HONOUR <br> 7A-DO_NOT_HONOUR <br> 7B-DO_NOT_HONOUR <br> 7C-DO_NOT_HONOUR <br> 92-DO_NOT_HONOUR <br> 96-DO_NOT_HONOUR <br> AH-DO_NOT_HONOUR <br> AI-DO_NOT_HONOUR <br> AM-DO_NOT_HONOUR <br> PF-NO_CARD_RECORD <br> PH-DO_NOT_HONOUR <br> Q1-GENERAL_DENIAL_(NO_CARD_PICK_UP) <br> Q4-DO_NOT_HONOUR_(PICKUP) <br> AD-LOST/STOLEN_CARD_(PICK_UP_CARD) <br> ND-LOST/STOLEN_CARD_(NO_CARD_PICK_UP) <br> PU-HOT <br> CARD=TRANSACTION_DENIAL_(PICK_UP_CARD) <br> Q3-CARD_MISPLACED_(PICK_UP_CARD) <br> AE-FRAUD_(PICK_UP_CARD) <br> NE-FRAUD_(NO_CARD_PICK_UP) <br> QD-SUSPECTED_COUNTERFEIT_CARD <br> AK-PERMANENT_RESTRAINT_(PICK_UP_CARD) <br> NK-PERMANENT_RESTRAINT_(NO_CARD_PICK_UP) <br> Q5-CARD_ACCEPTOR-CALL_ISSUER <br> Q6-CARD_ACCEPTOR-CALL_ISSUER <br> RI-VIOLATION_OF_LAW <br> X1-CARD_NOT_EFFECTIVE <br> AL-BAD_DEBT_(PICK_UP_CARD) <br> NL-BAD_DEBT_(NO_CARD_PICK_UP) <br> C3-CR-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> D3-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> P8-CLOSED_ACCOUNT_(NO_CARD_PICK_UP) <br> P9-DORMANT_ACCOUNT_(NO_CARD_PICK_UP) <br> S3-SAV_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> UJ-ACM_ACCOUNT_IS_CLOSED <br> LK-LOCKED_BY_CARDHOLDER <br> NH-EXPIRED_CARD_(RETURN_CARD) <br> P6-CR_CLOSED_OR_RESTRICTED_FOR_CLOSING ACTIVATED <br> NOT_ACTIVATED <br> REISSUED  | Yes |

#### CollectionResourceOfCardHolderDetailsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"ssn"**: string, **"name"**: { **"title"**: string, **"suffix"**: string, **"lastName"**: string, **"firstName"**: string, **"middleName"**: string }, **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"isPrimary"**: boolean, **"dateOfBirth"**: string, **"emailAddress"**: string, **"cardIssueDate"**: string, **"nameOnTheCard"**: string, **"cardTenureDate"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string }, **"homePhoneNumber"**: string, **"mobilePhoneNumber"**: string, **"directDepositEnable"**: boolean } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### DriversLicenseToken Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stateCode | string | State code as per the license. | Yes |
| countryCode | string | Country code as per the license. | Yes |
| driversLicenseNumber | string | Driver's license number. | Yes |

#### AccountDetailModel Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| balances | { **"ledger"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountDue"**: { **"amount"**: double, **"currencyCode"**: string }, **"available"**: { **"amount"**: double, **"currencyCode"**: string }, **"creditLine"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountOwing"**: { **"amount"**: double, **"currencyCode"**: string }, **"availableCredit"**: { **"amount"**: double, **"currencyCode"**: string } } |  | No |
| isFunding | boolean | True if this instance is funding; otherwise, false. | No |
| accountNumber | string | Masked account number. | No |
| institutionId | string | Uniquely identifies an institution. | No |
| accountAliasId | string | The account alias identifier which uniquely identifies an account. | No |
| accountTypeCode | string | Account type code (DDA, SAV etc). | No |
| accountOpenedDate | dateTime | Account opened date. | No |
| isFundingComputed | boolean | True if this instance is funding computed; otherwise, false. | No |
| accountIndicatorCode | string | Account indicator code. | No |
| accountTypeDescription | string | Account type description. | No |
| accountIndicatorDescription | string | Account indicator description. | No |

#### CollectionResourceExternalOfCardDetailsResponseV2-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"cardId"**: string, **"accounts"**: [ { **"accountId"**: string, **"currencyCode"**: string, **"accountNumber"**: string, **"institutionId"**: string, **"ledgerBalance"**: double, **"accountTypeCode"**: string, <br>**Available values:** "DDA", "SAV", "CRD", "INV", "LON", "OTH", "Prepaid", **"availableBalance"**: double, **"fundingIndicator"**: boolean, **"accountOpenedDate"**: string, **"creditLineBalance"**: double, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, <br>**Available values:** "DemandDeposit", "Savings", "Credit", "Investment", "Loan", "Other", **"availableCreditBalance"**: double, **"lastBalanceUpdateTimeStamp"**: string, **"accountIndicatorDescription"**: string } ], **"last4PrimaryAccountNumber"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CardIdModel Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Primary Account Number (PAN) value. | Yes |
| expirationDate | string |  | No |
| lookUpBalances | boolean | If True, balances information will be included in the response. Balances will be null otherwsise. | No |

#### PrepaidTransactionInfo-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string | Indicates if transaction amount was debited or credited to an account. | Yes |
| status | string | ${status} | Yes |
| dateTime | string | Date/time activity was posted in Visa system. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'.<br>*Example:* `"2020-09-13T23:30:52.123Z"` | Yes |
| merchantInfo | { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } } |  | No |
| transactionAmount | { **"amount"**: number, **"currencyCode"**: string } |  | No |

#### CardHolderDetailsAddress Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | City of cardholder. Required with 'address' is populated | No |
| state | string | State of cardholder. Required with 'address' is populated | No |
| country | string | Country of cardholder. Required with 'address' is populated. Must be valid ISO 3166 numeric country code. | No |
| postalCode | string | Postal code of cardholder. Required with 'address' is populated | No |
| addressLine1 | string | Address Line1 of cardholder. Required with 'address' is populated | No |
| addressLine2 | string | Address line 2 of the cardholder | No |

#### CommonResponseGenerateCvv2Response Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"cvv2"**: string } | The response resource container | Yes |
| receivedTimestamp | string | The time the request is received. The value is in GMT time and format is “CCYY-MM-DD HH:MM:ss.SSS”.  | Yes |
| processingTimeinMs | long | The processing time in milliseconds | Yes |

#### CardsInfo-1 Schema

${cardsInfo}

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvv2 | string | ${cvv2} | Yes |
| expirationDate | { **"mm"**: string, **"yy"**: string } | ${expirationDateDescriptionForPinApi} | Yes |

#### CollectionResourceOfPinSettingsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"pinExistsOnCard"**: boolean, **"isPinManagementSupported"**: boolean } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### ExpirationDate-1 Schema

${expirationDateDescriptionForPinApi}

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mm | string | ${expirationDate.mm}<br>*Example:* `"01 for January and 12 for December."` | Yes |
| yy | string | ${expirationDate.yy}<br>*Example:* `"20 implies 2020"` | Yes |

#### CollectionResourceExternalOfListOfWireConfirmationReportResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | [ { **"fees"**: { **"totalSMSReimbursementFees"**: number, **"totalInterLinkReimbursementFees"**: number, **"totalSMSInternationalServiceAssessmentFees"**: number, **"totalInterLinkInternationalServiceAssessmentFees"**: number }, **"prcId"**: string, **"prcName"**: string, **"netTotal"**: number, **"differences"**: number, **"settlementDate"**: string, **"wireTotalAmount"**: number, **"processorSettlementAmount"**: number, **"miscellaneousFeesSettlementAmount"**: number, **"exceptionTransactionSettlementAmount"**: number } ] | The response resource container.   | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### GetCardStatusPrepaidResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Status of current card associated with card ID.<br><br> Valid Values:<br> ACTIVE <br> PENDING_CARD_ISSUANCE <br> CARD_ISSUED <br> SUSPENDED <br> LOST_CARD <br> STOLEN_CARD <br> EXPIRED_CARD <br> PENDING_ACCOUNT_CLOSURE <br>  CLOSED <br> CLOSED_FOR_FRAUD <br> RETURNED_UNDELIVERABLE <br> RESEARCH_REQUIRED <br> VOIDED <br> STALE <br> PENDING_DESTRUCTION <br> DESTROYED <br> CLOSED_DUE_TO_UPGRADE <br> CLOSED_FOR_ESCHEATMENT <br> CLOSED_FOR_DECEASED <br><br> | Yes |

#### CardActNoVerificationReq Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardId | string | Unique ID for current card. minLength: 1, maxLength: 40. | Yes |

#### MonetaryValueModel Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | double | Amount Value. | No |
| currencyCode | string | Currency Code. | No |

#### CollectionResourceOfCardDetailsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"pan"**: string, **"cardId"**: string, **"accounts"**: [ object ], **"cardType"**: string, **"isFrozen"**: boolean, **"isPrimary"**: boolean, **"cardStatus"**: { **"key"**: string, **"value"**: string }, **"isDeceased"**: boolean, **"isFraudBlocked"**: boolean, **"loyaltyProgramDetailModel"**: { **"rewardsLevel"**: string, **"availablePoints"**: string, **"pointsExpiryDate"**: string, **"pointsEarnedYearToDate"**: string, **"pointsRedeemedYearToDate"**: string } } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceExternalOfGetCardStatusPrepaidResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"status"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### PinCreateResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseMessage | string | ${pinCreateResponse.responseMessage} | No |

#### CollectionResourceExternalOfCreateCardIdResource Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"cardId"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### PrimaryAddress Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | City. | No |
| line1 | string | Address Line 1. | No |
| line2 | string | Address Line 2. | No |
| region | string | Region Code. | No |
| postalCode | string | Postal Code/Zip code. | No |
| countryCode | string | Country. ISO alpha country code. | No |

#### GenerateCvv2Request Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | Yes |

#### CollectionResourceExternalOfGetCardStatusExtResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"status"**: string } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### AccountV2-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The account ID uniquely identifies account(s) associated to the card ID. | Yes |
| currencyCode | string | 3-character ISO currency code. Applicable only if balances are returned. | No |
| accountNumber | string | The account number is a funding source for the card. A card can have one or many accounts. For financial institutions, this generally refers to the checking account or savings account number.<br><br> Not applicable to Prepaid. | No |
| institutionId | string | Identifies a client at DPS. This field is assigned by DPS and may appear on client reports. A client may be assigned multiple institution IDs as needed.<br><br>Not applicable to Prepaid. | No |
| ledgerBalance | double | Ledger balance can be equal to, greater than or less than available balance depending on subsequent settlement of pending transactions and deposits. | No |
| accountTypeCode | string, <br>**Available values:** "DDA", "SAV", "CRD", "INV", "LON", "OTH", "Prepaid" | Account type code is an abbreviated code used to identify account type in DPS Debit and is a required field at account creation.<br>*Enum:* `"DDA"`, `"SAV"`, `"CRD"`, `"INV"`, `"LON"`, `"OTH"`, `"Prepaid"` | Yes |
| availableBalance | double | Available balance in default account currency. Amount available to use in this account. | No |
| fundingIndicator | boolean | For point of sale (POS) activity, this field defines the funding account that is assigned to a transaction when the service line of the transaction is not known. Typically, primary and funding accounts are the same but can be different for investment accounts or other non-standard card-to-account associations.<br><br> Not applicable to Prepaid. | No |
| accountOpenedDate | string | Assigned by client to identify date the account was established. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'.<br><br>Not applicable to Prepaid.<br>*Example:* `"2020-09-13T23:30:52.123Z"` | No |
| creditLineBalance | double | Credit line balance is applicable to credit account types. Maximum credit applicable for the line of credit.<br><br>Not applicable to Prepaid. | No |
| isFundingComputed | boolean | For POS activity, if the client did not set any accounts as a funding account, DPS Debit system uses other fields (DDA, Primary, other) to identify whether funding indicator is set by the client or is computed by DPS.<br><br>Not applicable to Prepaid. | No |
| accountIndicatorCode | string | This field is only used for ATM services, where multiple account selections are available. | No |
| accountTypeDescription | string, <br>**Available values:** "DemandDeposit", "Savings", "Credit", "Investment", "Loan", "Other" | Account type assigned to the account when it was created from a pre-defined enumeration list. In DPS Debit, this is an optional field at account creation.<br><br>Not applicable to Prepaid.<br>*Enum:* `"DemandDeposit"`, `"Savings"`, `"Credit"`, `"Investment"`, `"Loan"`, `"Other"` | No |
| availableCreditBalance | double | Available credit balance is applicable to credit account types. Difference between credit used and maximum credit balance.<br><br>Not applicable to Prepaid. | No |
| lastBalanceUpdateTimeStamp | string | Date/time account balance was changed. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'.<br>*Example:* `"2020-09-13T23:30:52.123Z"` | No |
| accountIndicatorDescription | string | Account indicator description matches the selected account indicator code.<br><br>Not applicable to Prepaid. | No |

#### WireConfirmationReportResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| fees | { **"totalSMSReimbursementFees"**: number, **"totalInterLinkReimbursementFees"**: number, **"totalSMSInternationalServiceAssessmentFees"**: number, **"totalInterLinkInternationalServiceAssessmentFees"**: number } |  | No |
| prcId | string | The Issuer (PRC) level for U.S. card programs processed by Visa DPS. | Yes |
| prcName | string | The Issuer (PRC) level name. | No |
| netTotal | number | Net Total of items 2 through 9 (should be equal to 1) Net total of line items 2 through 8. This net total should equal line item 1, the daily wire transfer amount. | No |
| differences | number | Difference The difference between line items 1 and 9. | No |
| settlementDate | string | Settlement date. | Yes |
| wireTotalAmount | number | Wire Total Amount Total dollar amount of the wire transfer. This is a net total of all credit transactions less all debit transactions, applicable fees, and dispute items.  | No |
| processorSettlementAmount | number | Processor Settlement Report EF500210-RP03 Provides the net total of all cardholder activity and terminal activity processed through Visa DPS. This net total represents activity settled by Visa DPS for the current business date. The net cardholder and terminal activity are reported on the Processor Settlement Report EF500210-RP03. | No |
| miscellaneousFeesSettlementAmount | number | Miscellaneous Fees Settlement Detail DD0716-D02 Provides the net total of administrative fees initiated and received by your institution. This net total represents activity settled for the current VisaNet business date. The net issuer and acquirer total is reported on the Miscellaneous Fees Settlement Summary DD0716-D01, D02. | No |
| exceptionTransactionSettlementAmount | number | Exception Transaction Settlement Detail DD0714-D02 Provides the net total of all chargebacks, representments, and adjustments. This net total represents activity settled by the networks and passed to Visa DPS for the current business date. The net issuer and acquirer total is reported on the Exception Transactions Settlement Detail and Summary reports DD0714-D01, D02. | No |

#### PinCreateRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pin | string | ${pinCreateRequest.pin} | No |

#### CardStatus Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| key | string | Contains the status code as returned by backend. | No |
| value | string | Description of card status. | No |

#### PinChangeResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseMessage | string | Indicates if the request was successful. If successful then responseMessage = "SUCCESS" else, the resource object is null and the errors array is populated. | No |

#### PinSettingsResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pinExistsOnCard | boolean | Indicates if a cardholder-selected personal identification number (PIN) already exists on card. If false, use Create PIN API. If true, use Update PIN API. If isPinManagementSupported = true, then this field is required. | No |
| isPinManagementSupported | boolean | Indicates if personal identification number (PIN) management is supported. | No |

#### PrepaidTransactionInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string | Indicates if transaction amount was debited or credited to an account. | Yes |
| status | string | ${status} | Yes |
| dateTime | string | Date/time activity was posted in Visa system. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'.<br>*Example:* `"2020-09-13T23:30:52.123Z"` | Yes |
| merchantInfo | { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } } |  | No |
| transactionAmount | { **"amount"**: number, **"currencyCode"**: string } |  | No |

#### CollectionResourceExternalOfCardActivationRsp-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"isCardActivationSuccessful"**: boolean } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceOfPinChangeResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"responseMessage"**: string } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceOfPinChangeResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"responseMessage"**: string } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### GetCardStatusDebitResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Valid Values: <br> &lowbar;P-NO_CARD_RECORD <br> 76-DO_NOT_HONOUR <br> 7A-DO_NOT_HONOUR <br> 7B-DO_NOT_HONOUR <br> 7C-DO_NOT_HONOUR <br> 92-DO_NOT_HONOUR <br> 96-DO_NOT_HONOUR <br> AH-DO_NOT_HONOUR <br> AI-DO_NOT_HONOUR <br> AM-DO_NOT_HONOUR <br> PF-NO_CARD_RECORD <br> PH-DO_NOT_HONOUR <br> Q1-GENERAL_DENIAL_(NO_CARD_PICK_UP) <br> Q4-DO_NOT_HONOUR_(PICKUP) <br> AD-LOST/STOLEN_CARD_(PICK_UP_CARD) <br> ND-LOST/STOLEN_CARD_(NO_CARD_PICK_UP) <br> PU-HOT CARD=TRANSACTION_DENIAL_(PICK_UP_CARD) <br> Q3-CARD_MISPLACED_(PICK_UP_CARD) <br> AE-FRAUD_(PICK_UP_CARD) <br> NE-FRAUD_(NO_CARD_PICK_UP) <br> QD-SUSPECTED_COUNTERFEIT_CARD <br> AK-PERMANENT_RESTRAINT_(PICK_UP_CARD) <br> NK-PERMANENT_RESTRAINT_(NO_CARD_PICK_UP) <br> Q5-CARD_ACCEPTOR-CALL_ISSUER <br> Q6-CARD_ACCEPTOR-CALL_ISSUER <br> RI-VIOLATION_OF_LAW <br> X1-CARD_NOT_EFFECTIVE <br> AL-BAD_DEBT_(PICK_UP_CARD) <br> NL-BAD_DEBT_(NO_CARD_PICK_UP) <br> C3-CR-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> D3-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> P8-CLOSED_ACCOUNT_(NO_CARD_PICK_UP) <br> P9-DORMANT_ACCOUNT_(NO_CARD_PICK_UP) <br> S3-SAV_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> UJ-ACM_ACCOUNT_IS_CLOSED <br> LK-LOCKED_BY_CARDHOLDER <br> NH-EXPIRED_CARD_(RETURN_CARD) <br> P6-CR_CLOSED_OR_RESTRICTED_FOR_CLOSING ACTIVATED | Yes |
| activationStatus | string | Activation status of current card associated with card ID. Valid values: <br> ACTIVATED <br> NOT_ACTIVATED | No |

#### WireFees Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| totalSMSReimbursementFees | number | VSS-110-VS Settlement Summary Report for SMS Total Reimbursement Fees provides the net total of Domestic and International fees included in the Total Reimbursement Fees section of the daily VSS-110-VS Settlement Summary Report. This net total represents activity settled by the Visa SMS and ATM networks for the current VisaNet business date. | No |
| totalInterLinkReimbursementFees | number | VSS-110-IL Settlement Summary Report Total Reimbursement Fees provides the net total of fees included in the Total Reimbursement Fees section of the daily VSS- 110-IL Interlink Settlement Summary Report. This net total represents activity settled by the Interlink network for the current VisaNet business date. | No |
| totalSMSInternationalServiceAssessmentFees | number | VSS-140-VS Report (for SMS) International Service Assessment Fee provides the total fees included in the Net International Service Assessment section of the Visa Charges Report (VSS-140-VS). This net total represents activity settled by the Visa SMS and ATM networks for the current VisaNet business date | No |
| totalInterLinkInternationalServiceAssessmentFees | number | VSS-140-IL Report (for Interlink International Service Assessment Fee Provides the total fees included in the Net International Service Assessment section of the Visa Charges Report (VSS-140-IL). This net total represents activity settled by the Interlink network for the current VisaNet business date. | No |

#### AccountV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The account ID uniquely identifies account(s) associated to the card ID. | Yes |
| currencyCode | string | 3-character ISO currency code. Applicable only if balances are returned. | No |
| accountNumber | string | The account number is a funding source for the card. A card can have one or many accounts. For financial institutions, this generally refers to the checking account or savings account number.<br><br> Not applicable to Prepaid. | No |
| institutionId | string | Identifies a client at DPS. This field is assigned by DPS and may appear on client reports. A client may be assigned multiple institution IDs as needed.<br><br>Not applicable to Prepaid. | No |
| ledgerBalance | double | Ledger balance can be equal to, greater than or less than available balance depending on subsequent settlement of pending transactions and deposits. | No |
| accountTypeCode | string, <br>**Available values:** "DDA", "SAV", "CRD", "INV", "LON", "OTH", "Prepaid" | Account type code is an abbreviated code used to identify account type in DPS Debit and is a required field at account creation.<br>*Enum:* `"DDA"`, `"SAV"`, `"CRD"`, `"INV"`, `"LON"`, `"OTH"`, `"Prepaid"` | Yes |
| availableBalance | double | Available balance in default account currency. Amount available to use in this account. | No |
| fundingIndicator | boolean | For point of sale (POS) activity, this field defines the funding account that is assigned to a transaction when the service line of the transaction is not known. Typically, primary and funding accounts are the same but can be different for investment accounts or other non-standard card-to-account associations.<br><br> Not applicable to Prepaid. | No |
| accountOpenedDate | string | Assigned by client to identify date the account was established. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'.<br><br>Not applicable to Prepaid.<br>*Example:* `"2020-09-13T23:30:52.123Z"` | No |
| creditLineBalance | double | Credit line balance is applicable to credit account types. Maximum credit applicable for the line of credit.<br><br>Not applicable to Prepaid. | No |
| isFundingComputed | boolean | For POS activity, if the client did not set any accounts as a funding account, DPS Debit system uses other fields (DDA, Primary, other) to identify whether funding indicator is set by the client or is computed by DPS.<br><br>Not applicable to Prepaid. | No |
| accountIndicatorCode | string | This field is only used for ATM services, where multiple account selections are available. | No |
| accountTypeDescription | string, <br>**Available values:** "DemandDeposit", "Saving", "Credit", "Investment", "Loan", "Other" | Account type assigned to the account when it was created from a pre-defined enumeration list. In DPS Debit, this is an optional field at account creation.<br><br>Not applicable to Prepaid.<br>*Enum:* `"DemandDeposit"`, `"Saving"`, `"Credit"`, `"Investment"`, `"Loan"`, `"Other"` | No |
| availableCreditBalance | double | Available credit balance is applicable to credit account types. Difference between credit used and maximum credit balance.<br><br>Not applicable to Prepaid. | No |
| lastBalanceUpdateTimeStamp | string | Date/time account balance was changed. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'.<br>*Example:* `"2020-09-13T23:30:52.123Z"` | No |
| accountIndicatorDescription | string | Account indicator description matches the selected account indicator code.<br><br>Not applicable to Prepaid. | No |

#### CommonResponseOfGenerateCvv2Response Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"cvv2"**: string } |  | Yes |
| receivedTimestamp | string | The time the request is received. The value is in GMT time and format is “CCYY-MM-DD HH:MM:ss.SSS”.  | Yes |
| processingTimeinMs | long | The processing time in milliseconds | Yes |

#### GetCardStatusDebitResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Status of current card associated with card ID.<br><br> Prepaid Valid Values:<br> NOT_APPLICABLE <br> ACTIVE <br> PENDING_CARD_ISSUANCE <br> CARD_ISSUED <br> SUSPENDED <br> ADMINISTRATIVE_SUSPENDED <br> LOST_CARD <br> STOLEN_CARD <br> EXPIRED_CARD <br> PENDING_ACCOUNT_CLOSURE <br> CLOSED <br> CLOSED_FOR_FRAUD <br> RETURNED_UNDELIVERABLE <br> RESEARCH_REQUIRED <br> VOIDED <br> DAMAGED <br> STALE <br> PENDING_DESTRUCTION <br> DESTROYED <br> CLOSED_DUE_TO_UPGRADE <br> CLOSED_FOR_ESCHEATMENT <br> CLOSED_FOR_DECEASED <br><br> Debit Valid Values: <br> &lowbar;P-NO_CARD_RECORD <br> 76-DO_NOT_HONOUR <br> 7A-DO_NOT_HONOUR <br> 7B-DO_NOT_HONOUR <br> 7C-DO_NOT_HONOUR <br> 92-DO_NOT_HONOUR <br> 96-DO_NOT_HONOUR <br> AH-DO_NOT_HONOUR <br> AI-DO_NOT_HONOUR <br> AM-DO_NOT_HONOUR <br> PF-NO_CARD_RECORD <br> PH-DO_NOT_HONOUR <br> Q1-GENERAL_DENIAL_(NO_CARD_PICK_UP) <br> Q4-DO_NOT_HONOUR_(PICKUP) <br> AD-LOST/STOLEN_CARD_(PICK_UP_CARD) <br> ND-LOST/STOLEN_CARD_(NO_CARD_PICK_UP) <br> PU-HOT <br> CARD=TRANSACTION_DENIAL_(PICK_UP_CARD) <br> Q3-CARD_MISPLACED_(PICK_UP_CARD) <br> AE-FRAUD_(PICK_UP_CARD) <br> NE-FRAUD_(NO_CARD_PICK_UP) <br> QD-SUSPECTED_COUNTERFEIT_CARD <br> AK-PERMANENT_RESTRAINT_(PICK_UP_CARD) <br> NK-PERMANENT_RESTRAINT_(NO_CARD_PICK_UP) <br> Q5-CARD_ACCEPTOR-CALL_ISSUER <br> Q6-CARD_ACCEPTOR-CALL_ISSUER <br> RI-VIOLATION_OF_LAW <br> X1-CARD_NOT_EFFECTIVE <br> AL-BAD_DEBT_(PICK_UP_CARD) <br> NL-BAD_DEBT_(NO_CARD_PICK_UP) <br> C3-CR-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> D3-DDA_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> P8-CLOSED_ACCOUNT_(NO_CARD_PICK_UP) <br> P9-DORMANT_ACCOUNT_(NO_CARD_PICK_UP) <br> S3-SAV_CLOSED_OR_RESTRICTED_FOR_CLOSING <br> UJ-ACM_ACCOUNT_IS_CLOSED <br> LK-LOCKED_BY_CARDHOLDER <br> NH-EXPIRED_CARD_(RETURN_CARD) <br> P6-CR_CLOSED_OR_RESTRICTED_FOR_CLOSING ACTIVATED <br> NOT_ACTIVATED <br> REISSUED  | Yes |
| activationStatus | string | Activation status of current card associated with card ID. Valid values: <br> ACTIVATED <br> NOT_ACTIVATED <br> REISSUED | No |

#### DebitCardSearchResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cards | [ { **"status"**: string, **"profile"**: { **"title"**: string, **"suffix"**: string, **"lastName"**: string, **"firstName"**: string, **"middleInitial"**: string }, **"billingAddress"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string }, **"expirationDate"**: { **"mm"**: string, **"yy"**: string }, **"sequenceOnCard"**: string, **"primaryAccountNumber"**: string } ] |  | No |

#### TransactionDetailsResponseOfDebitTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactions | [ { **"transactionInfo"**: { **"dateTime"**: string, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } }, **"transactionDescription"**: string } ] | List of transactions. By default, transaction is sorted on transactionInfo.dateTime in descending order. Most recent at the top. If no transactions are found, an empty list will be returned. | Yes |
| last4PrimaryAccountNumber | string | The Primary Account Number (PAN) is a unique number used to identify a card. This value is used in electronic payment transactions. PANs are typically 16-digits long. This field only displays last 4 digits for PCI considerations. | Yes |

#### CardDetailsResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Card Status for the card. | No |
| profile | { **"title"**: string, **"suffix"**: string, **"lastName"**: string, **"firstName"**: string, **"middleInitial"**: string } |  | No |
| billingAddress | { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } |  | No |
| expirationDate | { **"mm"**: string, **"yy"**: string } |  | No |
| sequenceOnCard | string | The sequence on card. | No |
| primaryAccountNumber | string | Unique value used to identify a card in the system. This value is used to transact. | Yes |

#### CardActivationReq-1 Schema

At least one verification token is required in the request. If multiple tokens are provided, all tokens must pass validation prior to activation.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardsInfo | { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } } |  | No |
| phoneNumber | string | Numeric Phone number. Phone numbers vary in length depending on country. Phone number must be configured for underlying debit program. | No |
| birthDateMmDdYyyy | string | Birth date in MMddyyyy format. Birth date verification must be configured for underlying debit program. | No |
| mothersMaidenName | string | Mother's maiden name. Mother's maiden name verification must be configured for underlying debit program. | No |
| driversLicenseInfo | { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string } |  | No |
| socialSecurityNumberInfo | { **"socialSecurityNumber"**: string, **"last4socialSecurityNumber"**: string } |  | No |

#### CardAliasCollectionModel Schema

The response data computed from processing the request. Will not be present in the event of an error.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cards | [ { **"pan"**: string, **"cardId"**: string, **"accounts"**: [ { **"balances"**: { **"ledger"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountDue"**: { **"amount"**: double, **"currencyCode"**: string }, **"available"**: { **"amount"**: double, **"currencyCode"**: string }, **"creditLine"**: { **"amount"**: double, **"currencyCode"**: string }, **"amountOwing"**: { **"amount"**: double, **"currencyCode"**: string }, **"availableCredit"**: { **"amount"**: double, **"currencyCode"**: string } }, **"isFunding"**: boolean, **"accountNumber"**: string, **"institutionId"**: string, **"accountAliasId"**: string, **"accountTypeCode"**: string, **"accountOpenedDate"**: dateTime, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, **"accountIndicatorDescription"**: string } ] } ] | Provides an array of cardIds with card status, accounts and their balances. | No |

#### CardActivationReq-2 Schema

At least one verification token is required in the request. If multiple tokens are provided, all tokens must pass validation prior to activation.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardsInfo | { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } } | ${cardsInfo} | No |
| phoneNumber | string | ${phoneNumber} | No |
| birthDateMmDdYyyy | string | ${birthDateMmDdYyyy} | No |
| mothersMaidenName | string | ${mothersMaidenName} | No |
| driversLicenseInfo | { **"stateCode"**: string, **"countryCode"**: string, **"driversLicenseNumber"**: string } | ${driversLicenseInfo} | No |
| socialSecurityNumberInfo | { **"socialSecurityNumber"**: string, **"last4socialSecurityNumber"**: string } | ${socialSecurityNumberInfo} | No |

#### GenerateCvv2Request-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| expirationDate | { **"mm"**: string, **"yy"**: string } | ${expirationDateDescriptionForPinApi} | Yes |

#### LinkResource-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rel | string |  | No |
| href | string |  | No |
| type | string |  | No |

#### CardVerificationReq Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| avsVerificationDetails | { **"billingAddress"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } } |  | No |
| cvv2VerificationDetails | { **"cvv2"**: string, **"expirationDate"**: { **"mm"**: string, **"yy"**: string } } |  | No |

#### CardDetailsResponseV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardId | string | Unique ID for current card. minLength: 1, maxLength: 40. | Yes |
| accounts | [ { **"accountId"**: string, **"currencyCode"**: string, **"accountNumber"**: string, **"institutionId"**: string, **"ledgerBalance"**: double, **"accountTypeCode"**: string, <br>**Available values:** "DDA", "SAV", "CRD", "INV", "LON", "OTH", "Prepaid", **"availableBalance"**: double, **"fundingIndicator"**: boolean, **"accountOpenedDate"**: string, **"creditLineBalance"**: double, **"isFundingComputed"**: boolean, **"accountIndicatorCode"**: string, **"accountTypeDescription"**: string, <br>**Available values:** "DemandDeposit", "Saving", "Credit", "Investment", "Loan", "Other", **"availableCreditBalance"**: double, **"lastBalanceUpdateTimeStamp"**: string, **"accountIndicatorDescription"**: string } ] | List of accounts associated to the card ID. | No |
| last4PrimaryAccountNumber | string | The Primary Account Number (PAN) is a unique number used to identify a card. This value is used in electronic payment transactions. PANs are typically 16-digits long. This field only displays last 4 digits for PCI considerations. | Yes |

#### PrepaidTransaction-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionId | string | Unique value used to identify this transaction in the system. | Yes |
| transactionInfo | { **"type"**: string, **"status"**: string, **"dateTime"**: string, **"merchantInfo"**: { **"name"**: string, **"address"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string } }, **"transactionAmount"**: { **"amount"**: number, **"currencyCode"**: string } } |  | Yes |
| transactionDescription | string | The transaction description. | Yes |

#### CollectionResourceExternalOfDebitCardSearchResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| error | { **"code"**: integer, **"details"**: [ { **"id"**: string, **"type"**: string, **"message"**: string, **"attribute"**: string } ], **"description"**: string } |  | No |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| resource | { **"cards"**: [ { **"status"**: string, **"profile"**: { **"title"**: string, **"suffix"**: string, **"lastName"**: string, **"firstName"**: string, **"middleInitial"**: string }, **"billingAddress"**: { **"city"**: string, **"line1"**: string, **"line2"**: string, **"region"**: string, **"postalCode"**: string, **"countryCode"**: string }, **"expirationDate"**: { **"mm"**: string, **"yy"**: string }, **"sequenceOnCard"**: string, **"primaryAccountNumber"**: string } ] } |  | No |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd'T'hh:mm:ss.SSS'Z'. Example: 2020-09-13T23:30:52.123Z" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### CollectionResourceOfTokenVerificationResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"status"**: string } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |

#### SocialSecurityNumberInfo-1 Schema

${socialSecurityNumberInfo}

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| socialSecurityNumber | string | ${socialSecurityNumberInfo.socialSecurityNumber} | No |
| last4socialSecurityNumber | string | ${socialSecurityNumberInfo.last4socialSecurityNumber} | No |

#### CollectionResourceOfCardVerificationRsp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| links | [ { **"rel"**: string, **"href"**: string, **"type"**: string } ] |  | No |
| errors | [ string ] | The response error container | No |
| reason | integer |  | No |
| status | integer |  | No |
| resource | { **"isAvsValid"**: boolean, **"isCvv2Valid"**: boolean } |  | No |
| correlationID | string | Id that uniquely identifies a request to identify it across distributed systems. Field length cannot be greater than 50 characters | Yes |
| receivedTimestamp | string | Date/time request was received. The value is in UTC and the format is yyyy-MM-dd hh:mm:ss.SSS. Example: 2020-09-13 23:30:52.123" | Yes |
| processingTimeinMs | long | Internal time taken to process a request and deliver a response, in milliseconds. | Yes |
