# Card on File Data Inquiry
Visa capabilities that allow a consumer to view and manage their Visa card through Issuer’s online/mobile

## Version: 1

### Servers

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

---
## Card-On-File Data Service API
Card-On-File Data API allows to enable digital control capabilities in Issuer’s online mobile application or web application to provide visibility to the consumers where their card (PAN)/token credentials are stored to initiate Card-On-File Data API/e-commerce transactions and where the credentials are updated in case of a card reissuance or token status updates

### [POST] /cofds-web/v1/datainfo
**Card-on-File Merchant Aggregation**

The API will return data layer aggregated at cleansed merchant name level.

#### Request Body

Card-On-File Data request query for merchants

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"requestData"**: { **"pANs"**: [ string ], **"group"**: string, <br>**Available values:** "STANDARD" }, **"requestHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 400 | Invalid request | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 401 | Unauthorized request | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 500 | Internal service failure | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |

---
### Schemas

#### Status Schema

Status details, which include the application status code and corresponding message.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| statusCode | string | Status Code of the Service Request.<br>*Example:* `"CDI000"` | Yes |
| statusDescription | string | A string description of the statusCode element. A brief description indicating the result of the service request.<br>*Example:* `"COF Service - Success"` | Yes |

#### TranType Schema

List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| tranType | string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION" | The transaction type code.<br>*Enum:* `"SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION"`<br>*Example:* `"MERCHANT_COF"` | Yes |
| tranCount | long | Transaction count for the type.<br>*Example:* `10` | Yes |
| lastTranAmt | string | Last transaction amount in currency used in transaction for the type.<br>*Example:* `"22.72"` | Yes |
| lastTranAmtUSD | string | Last transaction amount in USD.<br>*Example:* `"15.22"` | No |
| lastTranCurrency | string | Currency used in last transaction for the type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranDateTime | string | Date and time of last transaction timestamp for the type in UTC time zone.  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2021-07-11 07:05:04.000"` | No |
| lastTranBillCurrency | string | Billing currency of last transaction.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranAmtBillCurrency | string | Last transaction amount in billing currency.<br>*Example:* `"22.72"` | No |

#### PANDataWrapper Schema

An array of response objects for each PAN.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| panData | { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } | Response Object for a single PAN | No |

#### BaseResponseHeader Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| messageDateTime | string | Date and time at which response is sent (up to milliseconds in UTC).  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard) <br>*Example:* `"2018-09-19 06:01:00.601"` | Yes |
| requestMessageId | string | A string that uniquely identifies the service request. Response will contain the same message ID as received from requesting application.<br>*Example:* `"6da60e1b8b024532a2e0eacb1af5858132a2e0eacb1af58581"` | Yes |
| responseMessageId | string | Correlation id which uniquely identifies the current request-response processing<br>*Example:* `"1561737829_569_743208831_l55c014_VDP_WS"` | Yes |

#### ResponseHeader Schema

Fields contained in the header of each response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ResponseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. |  |

#### RMResponseData Schema

Response data, which includes raw merchant information for the requested PAN and mrchRef.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mrchRef | string | Correlation ID to uniquely identify the merchant. The reference ID is not static and may change.<br>*Example:* `"MTIzNDU2Nzg5MDEyMzQ1Njc4OTpBTUFaT04="` | Yes |
| responseMsg | string | Indicates whether data retrieval for a given PAN and mrchRef was successful; field contains either "Success" or the reason for the error if data retrieval was not successful.<br>*Example:* `"Success"` | Yes |
| rawMerchants | [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] | List of raw merchants who have Card-On-File Data for the requested PAN and mrchRef. | No |

#### RMRequestData Schema

Request body for querying Card-on-file raw merchant.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pAN | string | PAN for requesting raw merchant data. The PAN has a format of 12–19 decimal digits starting with a "4" (indicating Visa accounts).<br>*Example:* `"4000123456789010"` | Yes |

#### RMResponseHeader Schema

Fields contained in the header of each response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RMResponseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. |  |

#### RawMerchantTranType Schema

List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| tranType | string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION" | The transaction type code.<br>*Enum:* `"SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION"`<br>*Example:* `"MERCHANT_COF"` | Yes |
| tranCount | long | Transaction count for the type.<br>*Example:* `10` | Yes |
| lastTranAmt | string | Last transaction amount in currency used in transaction for the type.<br>*Example:* `"22.72"` | Yes |
| lastTranAmtUSD | string | Last transaction amount in USD.<br>*Example:* `"15.22"` | No |
| lastTranCurrency | string | Currency used in last transaction for the type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranDateTime | string | Date and time of last transaction timestamp for the type in UTC time zone.  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2021-07-11 07:05:04.000"` | No |
| lastCardAcceptorId | string | Card Acceptor ID of last transaction.<br>*Example:* `"44186224"` | No |
| lastTranBillCurrency | string | Billing currency of last transaction.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranAmtBillCurrency | string | Last transaction amount in billing currency.<br>*Example:* `"22.72"` | No |

#### MResponseData Schema

Response data, which includes merchant information for the requested PANs.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| group | string, <br>**Available values:** "STANDARD" | Identifies the set of response fields the customer is eligible to receive.<br>*Enum:* `"STANDARD"`<br>*Example:* `"STANDARD"` | Yes |
| panList | [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] | An array of response objects for each PAN. | Yes |

#### PANData Schema

Response Object for a single PAN

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pAN | string | The request account number (PAN value).<br>*Example:* `"4000123456789010"` | Yes |
| merchants | [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ] | List of merchants who have Card-On-File Data for the requested PAN. | No |
| panResponseMsg | string | Indicates whether data retrieval for a given PAN was successful; field contains either "Success" or the reason for the error if data retrieval was not successful.<br>*Example:* `"Success"` | Yes |

#### MerchantDataResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | { **"statusCode"**: string, **"statusDescription"**: string } | Status details, which include the application status code and corresponding message. | Yes |
| responseData | { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] } | Response data, which includes merchant information for the requested PANs. | No |
| responseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. | Yes |

#### RawMerchant Schema

List of raw merchants who have Card-On-File Data for the requested PAN and mrchRef.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mrchLogoURL | string | Merchant Logo URL.  Note: This field may return an empty string.<br>*Example:* `"www.anymerchant.com/logo"` | No |
| rawMrchName | string | Raw Merchant Name.<br>*Example:* `"AnyRawMerchant"` | Yes |
| tokenReqstrId | string | The token requestor ID of the merchant or payment facilitator, if any, assigned by Visa Token Service.  Note: This field may return 00000000 when tokenReqstrId is unknown.<br>*Example:* `"1234567890"` | No |
| tranTypeDetails | [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ] | List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction. | No |
| predictedPayments | { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" } | Predicted upcoming payment based on the transaction history. | No |
| sponsoredMerchantId | string | Sponsored Merchant ID.<br>*Example:* `"1234567890"` | No |
| paymentFacilitatorId | string | Payment Facilitator ID.<br>*Example:* `"1234567890"` | No |

#### MRequestData Schema

Request body for querying Card-on-file merchant.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pANs | [ string ] | List of PANs for requesting merchant data. The PAN has a format of 12–19 decimal digits starting with a "4" (indicating Visa accounts).<br>*Example:* `["4000123456789010"]` | Yes |
| group | string, <br>**Available values:** "STANDARD" | Identifies the set of response fields the customer is eligible to receive. If the group name is "STANDARD", all available response fields are included.<br>*Enum:* `"STANDARD"`<br>*Example:* `"STANDARD"` | Yes |

#### Merchant Schema

List of merchants who have Card-On-File Data for the requested PAN.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mCC | string | Merchant Category Code.  Note: This field may return an empty string.<br>*Example:* `"5942"` | Yes |
| mrchRef | string | Correlation ID to uniquely identify the merchant. The reference ID is not static and may change.<br>*Example:* `"MTIzNDU2Nzg5MDEyMzQ1Njc4OTpBTUFaT04="` | Yes |
| mrchURL | string | Merchant URL.  Note: This field may return an empty string.<br>*Example:* `"www.anymerchant.com"` | Yes |
| mrchAddr | string | Merchant address.  Note: This field may return an empty string.<br>*Example:* `"111 Any St AnyCity 90000 AnyState USA"` | Yes |
| mrchName | string | Cleansed Merchant Name.<br>*Example:* `"ABC"` | Yes |
| mrchDbaId | string | "Doing Business As" (DBA) ID of the merchant. Use mrchName instead; this field may become deprecated.  Note: This field may return an empty string.<br>*Example:* `"148"` | Yes |
| lastTranAmt | string | Last transaction amount in currency used in transaction; not applicable for “AUTH_VERIFICATION” transaction type.<br>*Example:* `"22.34"` | Yes |
| mrchDbaName | string | Merchant "Doing Business As" name. Use mrchName instead; this field may become deprecated.<br>*Example:* `"ANYMERCHANT"` | Yes |
| mrchLogoURL | string | Merchant Logo URL.  Note: This field may return an empty string.<br>*Example:* `"www.anymerchant.com/logo"` | No |
| mrchPhoneNum | string | Merchant phone number.  Note: This field may return an empty string.<br>*Example:* `"5551212"` | Yes |
| confidenceInd | string | Confidence indicator.  C - Highly likely a COF merchant  M - May be a COF merchant  E - Not a COF merchant<br>*Example:* `"C"` | Yes |
| tokenReqstrId | string | The token requestor ID of the merchant or payment facilitator, if any, assigned by Visa Token Service.  Note: This field may return an empty string.<br>*Example:* `"00000000"` | Yes |
| cardAcceptorId | string | Card Acceptor ID (CAID) of the merchant. The value reflects the most recent CAID included in the last transaction.  Note: This field may return an empty string.<br>*Example:* `"235251000762203"` | Yes |
| lastMrchTranDt | string | Date when the last transaction was made with the merchant in UTC time zone; not applicable for “AUTH_VERIFICATION” transaction type.  Note: This field may return an empty string.  Format: yyyy-MM-dd<br>*Example:* `"2018-07-18"` | Yes |
| lastTranAmtUSD | string | Last transaction amount in USD; not applicable for “AUTH_VERIFICATION” transaction type.<br>*Example:* `"25.68"` | No |
| totalTranCount | string | Total transaction count for all transaction type.<br>*Example:* `"3"` | Yes |
| tranTypeDetails | [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ] | List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction. | No |
| vAUUpdateStatus | string | Visa Account Updater (VAU) polling status.  Y - PAN update was polled by the merchant.  N - No PAN update was polled by the merchant.  NA - Issuer has not reissued a PAN nor updated expiry date.  Note: <li>Issuers must be subscribed to VAU to provide updates. Merchants must be subscribed to VAU in order to receive updates.<li>This field may return an empty string.<br>*Example:* `"Y"` | Yes |
| acctNumOld4Digit | string | Last 4 digits of the old account number in Visa Account Updater (VAU).  Note: This field may return an empty string.<br>*Example:* `"1234"` | Yes |
| lastTranCurrency | string | Currency used in last transaction; not applicable for “AUTH_VERIFICATION” transaction type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranDateTime | string | Date and time of last transaction timestamp in UTC time zone; not applicable for “AUTH_VERIFICATION” transaction type.  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2018-10-05 09:45:17.000"` | No |
| vAULastUpdateDate | string | Date when merchant last polled Visa Account Updater (VAU) for new PAN data in UTC time zone.  Note: <li>Issuers must be subscribed to VAU to provide updates. Merchants must be subscribed to VAU in order to receive updates.<li>This field may return an empty string.  Format: yyyy-MM-dd<br>*Example:* `"2018-07-18"` | Yes |
| sponsoredMerchantId | string | Sponsored Merchant ID.<br>*Example:* `"7494990"` | No |
| lastTranBillCurrency | string | Billing currency of last transaction; not applicable for “AUTH_VERIFICATION” transaction type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| paymentFacilitatorId | string | Payment Facilitator ID.<br>*Example:* `"10071854"` | No |
| lastTranAmtBillCurrency | string | Last transaction amount in billing currency; not applicable for “AUTH_VERIFICATION” transaction type.<br>*Example:* `"22.34"` | No |
| tokenPANReplacementDate | string | tokenPANReplacementStatus update date in UTC time zone.  Note: This field may return an empty string.  Format: yyyy-MM-dd<br>*Example:* `"2018-07-18"` | Yes |
| tokenPANReplacementStatus | string | Status of whether the token’s underlying PAN has been updated, based on issuer updates sent to Visa.  Y - PAN was updated.  N - PAN was not updated.  Note: This field may return an empty string.<br>*Example:* `"N"` | Yes |

#### MResponseHeader Schema

Fields contained in the header of each response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| MResponseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. |  |

#### RequestHeader Schema

Fields contained in the header of each request.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| messageDateTime | string | Date and time at which request is sent (up to milliseconds in UTC).  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2018-09-19 06:01:00.601"` | Yes |
| requestMessageId | string | A string that uniquely identifying the service request. The requesting application creates this unique message ID.<br>*Example:* `"6da60e1b8b024532a2e0eacb1af5858132a2e0eacb1af58581"` | Yes |

#### RawMerchantDataRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestData | { **"pAN"**: string } | Request body for querying Card-on-file raw merchant. | Yes |
| requestHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string } | Fields contained in the header of each request. | Yes |

#### RawMerchantDataResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | { **"statusCode"**: string, **"statusDescription"**: string } | Status details, which include the application status code and corresponding message. | Yes |
| responseData | { **"mrchRef"**: string, **"responseMsg"**: string, **"rawMerchants"**: [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] } | Response data, which includes raw merchant information for the requested PAN and mrchRef. | No |
| responseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. | Yes |

#### MerchantDataRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestData | { **"pANs"**: [ string ], **"group"**: string, <br>**Available values:** "STANDARD" } | Request body for querying Card-on-file merchant. | Yes |
| requestHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string } | Fields contained in the header of each request. | Yes |
