# Visa Account Updater
Enables VAU enrolled acquirers on demand access to updates on account credentials for card-on-file (COF) customers.

## Version: 1

### Servers

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

---
## Visa Account Updater Subscription API
Visa Account Updater Subscription API subscription Operation

### [POST] /vau/subscription-api/v1/subscriptions
**Subscription API**

Subscribes the PANs.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Accept | header |  | No | string, <br>**Available values:** "application/json" | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"merchantId"**: string, **"subscriptions"**: [ { **"expirationDate"**: string, **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where the subscription is Success or AlreadySubscribed or Reject, all possible response codes are explained below in the model. | **application/json**: { **"merchantId"**: string, **"subscriptions"**: [ { **"reject"**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }, **"expirationDate"**: string, **"subscribedStatus"**: string, **"newExpirationDate"**: string, **"serviceIdentifier"**: string, **"cardholderAccountNumber"**: string, **"newCardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br> |
| 400 | This response code will be returned in scenarios where the subscription request is badly formatted. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 409 | This response code will be returned in scenarios where the subscription is rejected, all possible reasons for request rejection are explained below in the model. | **application/json**: { **"merchantId"**: string, **"rejectReason"**: string, **"subMerchantName"**: string, **"rejectReasonCode"**: string, **"acquirerSegmentId"**: integer }<br> |
| 500 | This response code will be returned in scenarios where the subscription could not be sucessfully processed. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

### [DELETE] /vau/subscription-api/v1/subscriptions
**Delete API**

Delete the PANs subscription

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Accept | header |  | No | string, <br>**Available values:** "application/json" | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"merchantId"**: string, **"subscriptions"**: [ { **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where the subscription deletion is successful or Reject, all possible response codes are explained below in the model. | **application/json**: { **"merchantId"**: string, **"subscriptions"**: [ { **"reject"**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }, **"unsubscribedStatus"**: string, **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br> |
| 400 | This response code will be returned in scenarios where the subscription deletion request is badly formatted. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 409 | This response code will be returned in scenarios where the subscription is rejected, all possible reasons for request rejection are explained below in the model. | **application/json**: { **"merchantId"**: string, **"rejectReason"**: string, **"subMerchantName"**: string, **"rejectReasonCode"**: string, **"acquirerSegmentId"**: integer }<br> |
| 500 | This response code will be returned in scenarios where the subscription deletion could not be sucessfully processed. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

### [POST] /vau/subscription-api/v1/subscriptions/inquiry
**Inquiry API**

Retrieve the Accounts subscription information

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Accept | header |  | No | string, <br>**Available values:** "application/json" | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"merchantId"**: string, **"subscriptions"**: [ { **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where the subscription inquiry is Success or Reject, all possible response codes are explained below in the model. | **application/json**: { **"merchantId"**: string, **"subscriptions"**: [ { **"reject"**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }, **"subscribedStatus"**: string, **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br> |
| 400 | This response code will be returned in scenarios where the subscription inquiry request is badly formatted. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 409 | This response code will be returned in scenarios where the subscription is rejected, all possible reasons for request rejection are explained below in the model. | **application/json**: { **"merchantId"**: string, **"rejectReason"**: string, **"subMerchantName"**: string, **"rejectReasonCode"**: string, **"acquirerSegmentId"**: integer }<br> |
| 500 | This response code will be returned in scenarios where the subscription inquiry could not be sucessfully processed. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

---
## Issuer Stop Advice API
Issuers can place stop advices in VAU to block specific merchants from receiving an automatic VAU credential update (e.g., following reported fraud) while still allowing their cardholder to transact with the merchant where appropriately authorized.

### [POST] /vau/issuer-api/v1/stopadvices
**Issuer Stop Advice API**

Issuer can place stop advice by providing following requested information

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Accept | header |  | No | string, <br>**Available values:** "application/json" | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"stopadvices"**: [ { **"startDate"**: date, **"merchantName"**: string, **"cardAcceptorId"**: string, **"cardholderAccountNumber"**: string } ], **"issuerSegmentId"**: integer }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where the stop advice is successful, all possible response codes are explained below in the model. | **application/json**: { **"rejects"**: [ { **"startDate"**: date, **"rejectCode"**: string, **"merchantName"**: string, **"rejectMessage"**: string, **"cardAcceptorId"**: string, **"cardholderAccountNumber"**: string } ], **"responses"**: [ { **"startDate"**: date, **"merchantName"**: string, **"responseCode"**: string, **"cardAcceptorId"**: string, **"responseMessage"**: string, **"cardholderAccountNumber"**: string } ], **"issuerSegmentId"**: integer }<br> |
| 400 | This response code will be returned in scenarios where the stop advice is badly formatted. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 409 | This response code will be returned in scenarios where the stop advice is rejected, all possible reasons for request rejection are explained below in the model. | **application/json**: { **"rejectReason"**: string, **"issuerSegmentId"**: integer, **"rejectReasonCode"**: string }<br> |
| 500 | This response code will be returned in scenarios where the stop advice could not be sucessfully processed. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

---
## Visa Account Updater Merchant API
Visa Account Updater Merchant API for merchant enrollment and search.

### [POST] /vau/onboard-api/acquirer/v1/merchants/search
**Merchant Search**

Merchants can be searched by providing following requested information

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Accept | header |  | No | string, <br>**Available values:** "application/json" | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"merchants"**: [ { **"merchantId"**: string } ], **"acquirerSegmentId"**: integer }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where the merchant search is successful, all possible response codes are explained below in the model. | **application/json**: { **"merchants"**: [ { **"city"**: string, **"state"**: string, **"reject"**: { **"rejectCode"**: string, **"rejectMessage"**: string }, **"merchantId"**: string, **"postalCode"**: string, **"contactName"**: string, **"countryCode"**: string, **"contactEmail"**: string, **"contactPhone"**: string, **"merchantName"**: string, **"parentCompany"**: string, **"cardAcceptorId"**: string, **"merchantStatus"**: string, **"streetAddress1"**: string, **"streetAddress2"**: string, **"internetAddress"**: string, **"merchantDescriptor"**: string, **"merchantCategoryCode"**: string, **"merchantLineBusiness"**: string, **"merchantAcquiringIdentifiers"**: [ string ] } ], **"acquirerSegmentId"**: integer }<br> |
| 400 | This response code will be returned in scenarios where the merchant search is badly formatted. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 409 | This response code will be returned in scenarios where the merchant search is rejected, all possible reasons for request rejection are explained below in the model. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string, **"acquirerSegmentId"**: integer }<br> |
| 500 | This response code will be returned in scenarios where the merchant search could not be sucessfully processed. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

### [POST] /vau/onboard-api/acquirer/v1/merchants
**Merchant Enrollment**

Enroll new merchants by providing following requested information

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Accept | header |  | No | string, <br>**Available values:** "application/json" | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"merchants"**: [ { **"city"**: string, **"state"**: string, **"merchantId"**: string, **"postalCode"**: string, **"contactName"**: string, **"countryCode"**: string, **"contactEmail"**: string, **"contactPhone"**: string, **"merchantName"**: string, **"parentCompany"**: string, **"cardAcceptorId"**: string, **"streetAddress1"**: string, **"streetAddress2"**: string, **"internetAddress"**: string, **"merchantDescriptor"**: string, **"merchantCategoryCode"**: string, **"merchantLineBusiness"**: string, **"merchantAcquiringIdentifiers"**: [ string ] } ], **"acquirerSegmentId"**: integer }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where the merchant enrolment is successful, all possible response codes are explained below in the model. | **application/json**: { **"merchants"**: [ { **"reject"**: { **"rejectCode"**: string, **"rejectMessage"**: string }, **"merchantId"**: string, **"enrollStatus"**: string, **"merchantName"**: string } ], **"acquirerSegmentId"**: integer }<br> |
| 400 | This response code will be returned in scenarios where the merchant enrolment is badly formatted. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 409 | This response code will be returned in scenarios where the merchant enrolment is rejected, all possible reasons for request rejection are explained below in the model. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string, **"acquirerSegmentId"**: integer }<br> |
| 500 | This response code will be returned in scenarios where the merchant enrolment could not be sucessfully processed. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

---
## Visa Account Updater Acquirer API
Visa Account Updater Acquirer API

### [POST] /vau/acquirer-api/v1/inquiry
**Acquirer API for PANs Inquiry**

Retrieve the new PANs information for requested old PANs.

#### Request Body

inquiryRequest

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"inquiries"**: [ { **"expirationDate"**: string, **"cardholderAccountNumber"**: string } ], **"merchantId"**: string, **"subMerchantName"**: string, **"acquirerSegmentId"**: integer, **"acquirerOrMerchantProprietaryInfo"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where the inquiry is successful, all possible response codes are explained below in the model. | **application/json**: { **"rejects"**: [ { **"rejectReason"**: string, **"expirationDate"**: string, **"rejectReasonCode"**: string, **"cardholderAccountNumber"**: string } ], **"responses"**: [ { **"newExpirationDate"**: string, **"oldExpirationDate"**: string, **"serviceIdentifier"**: string, **"previouslySentFlag"**: string, **"newCardholderAccountNumber"**: string, **"oldCardholderAccountNumber"**: string } ], **"merchantId"**: string, **"subMerchantName"**: string, **"acquirerSegmentId"**: integer, **"acquirerOrMerchantProprietaryInfo"**: string }<br> |
| 400 | This response code will be returned in scenarios where the inquiry is badly formatted. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 409 | This response code will be returned in scenarios where the inquiry is rejected, all possible reasons for request rejection are explained below in the model. | **application/json**: { **"merchantId"**: string, **"rejectReason"**: string, **"subMerchantName"**: string, **"rejectReasonCode"**: string, **"acquirerSegmentId"**: integer, **"acquirerInformation"**: string }<br> |
| 500 | This response code will be returned in scenarios where the inquiry could not be sucessfully processed. | **application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

---
### Webhooks

### [POST] /vau/v1/merchant-updates
**Merchant Status Callback API**

### [POST] /vau/registration-api/v1/callbackconfiguration
**Push Subscribe Callback API**

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| keyId | header | VDP MLE keyId used for encryption and decryption | No |  | No |
| X-Correlation-ID | header | Correlation ID for tracking requests | No |  | No |
| Accept | header |  | No | string, <br>**Available values:** "application/json" | No |

#### Request Body

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

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This response code will be returned in scenarios where account update processing is successful. All possible response codes are explained in the model | **aplications/json**: { **"requestId"**: string, **"merchantId"**: string, **"accountUpdates"**: [ { **"responseCode"**: string, **"oldExpirationDate"**: string, **"oldCardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br>**application/json**: { **"requestId"**: string, **"merchantId"**: string, **"accountUpdates"**: [ { **"responseCode"**: string, **"oldExpirationDate"**: string, **"oldCardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ], **"subMerchantName"**: string, **"acquirerSegmentId"**: integer }<br> |
| 400 | This response code will be returned in scenarios where the request is badly formatted. | **aplications/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br>**application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |
| 500 | This response code will be returned in scenarios where the ping test request could not be sucessfully processed. | **aplications/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br>**application/json**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }<br> |

---
### Schemas

#### RejectedStopAdviceResponse Schema

[RejectedStopAdviceResponse]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| startDate | date | [This field contains the start date, which shouldn't be less than the current date, and its format is yyyy-mm-dd, the default value is the current date.] | No |
| rejectCode | string | [This field contains one of the following reject codes: * H—Account number does not start with 2, 3, 4, 5 or 6 * G—Account number contains non-numeric characters or is blank * L—Account number is not of proper length (must be 13, 15, 16 or 19) * M—Account number is not mod 10 compliant * N—No stop advice applied, unable to find merchant information for the requested card acceptor id * R—Account number is not associated with requested segment id * S—Start date must not be less than the current date * D—Duplicate stop advice in the request * I—Mandatory field cardholderAccountNumber is missing or blank in the request * J—Mandatory field cardAcceptorId is missing or blank in the request * K—Mandatory field merchantName is missing or blank in the request * F—Stop advice is already placed for requested account number and merchant] <br>*Example:* `"G"` | No |
| merchantName | string | [This field must contain merchant name.]<br>*Example:* `"TestMerchant"` | Yes |
| rejectMessage | string | [This field contains the description of reject message: * H—Account number does not start with 2, 3, 4, 5 or 6 * G—Account number contains non-numeric characters or is blank * L—Account number is not of proper length (must be 13, 15, 16 or 19) * M—Account number is not mod 10 compliant * N—No stop advice applied, unable to find merchant information for the requested card acceptor id * R—Account number is not associated with requested segment id * S—Start date must not be less than the current date * D—Duplicate stop advice in the request * I—Mandatory field cardholderAccountNumber is missing or blank in the request * J—Mandatory field cardAcceptorId is missing or blank in the request * K—Mandatory field merchantName is missing or blank in the request * F—Stop advice is already placed for requested account number and merchant] <br>*Example:* `"Account Number contains non-numeric characters or is blank"` | No |
| cardAcceptorId | string | [This field must contain card acceptor id.]<br>*Example:* `"89389898"` | Yes |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover).]<br>*Example:* `"400000XX00000000"` | Yes |

#### RejectedMerchantEnrollmentResponse Schema

[Reject Request]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | [This field contains the description of the reject code: * A—Acquirer segment is not enrolled * V—No data found in merchant field * X-Acquirer status is in test mode, please contact client services representative * T—Max merchants threshold passed for single request, current threshold is:100.] <br>*Example:* `"Acquirer segment is not enrolled"` | Yes |
| rejectReasonCode | string | [This field contains one of the following codes: * A—Acquirer segment is not enrolled * V—No data found in merchant field * X-Acquirer status is in test mode, please contact client services representative * T—Max merchants threshold passed for single request, current threshold is:100.] <br>*Example:* `"A"` | Yes |
| acquirerSegmentId | integer | [This field  must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `9992` | Yes |

#### GenericErrorMessage Schema

[Reject Request]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | This fields contains following reject reasons * Internal Server Error, please try again after sometime <br>*Example:* `"Internal Server Error, please try again after sometime"` | No |
| rejectReasonCode | string | This Fields contains following Reject reason codes: * E <br>*Example:* `"E"` | No |

#### EncryptedPayload Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encData | string |  | No |

#### SubscriptionEnquiryPanStatus Schema

[List of Subscription Inquiry Responses]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reject | { **"rejectReason"**: string, **"rejectReasonCode"**: string } | [Rejected Subscription Response] | No |
| subscribedStatus | string | [This field contains the  status whether the enquired pan is Subscribed or NotSubscribed or Reject | Yes |
| cardholderAccountNumber | string | [This field contains the account number that was submitted in the associated Subscription Inquiry Request.]<br>*Example:* `"400000XX00000000"` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [This field contains the Acquirer or merchant Proprietary information that was submitted in the associated Subscription Inquiry Request.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### RejectedInquiryResponse Schema

[Rejected Inquiry Response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | [This field contains the description of the reject code: * 1—Account Number does not start with 2, 3, 4, 5 or 6 * 3—Account Number contains non-numeric characters or is blank * 4—Account Number is not of proper length (must be 13, 15, 16 or 19) * 5—Expiration Date is invalid (must be YYMM)] <br>*Example:* `"Account Number does not start with 2, 3, 4, 5 or 6"` | No |
| expirationDate | string | [This field contains the old expiration date in YYMM format, where YY = 00-99 and MM = 01–12]<br>*Example:* `"2204"` | No |
| rejectReasonCode | string | [This field contains one of the following codes: * 1—Account Number does not start with 2, 3, 4, 5 or 6 * 3—Account Number contains non-numeric characters or is blank * 4—Account Number is not of proper length (must be 13, 15, 16 or 19) * 5—Expiration Date is invalid (must be YYMM)] <br>*Example:* `"1"` | No |
| cardholderAccountNumber | string | [This field contains the account number that was submitted in the associated Acquirer Inquiry Request.]<br>*Example:* `"800000XX00000000"` | Yes |

#### InquirySubscriptionAttributes Schema

[Inquiry Subscription attributes]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover) that is on file at the merchant for billing purposes.]<br>*Example:* `"400000XX00000000"` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [If provided, it contains acquirer or merchant proprietary information such as a customer ID that is carried in the merchant’s back-end system.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### GenericErrorMessage-1 Schema

[Reject Request]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | This fields contains following reject reasons * Internal Server Error, please try again after sometime <br>*Example:* `"Internal Server Error, please try again after sometime"` | No |
| rejectReasonCode | string | This Fields contains following Reject reason codes: * E <br>*Example:* `"E"` | No |

#### MerchantId Schema

[List of merchants to search]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID of 12 characters.]<br>*Example:* `"000000705853"` | Yes |

#### RejectMerchant Schema

[RejectMerchant]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectCode | string | [This field contains one of the following reject codes: * C-Mandatory field Card Acceptor Id missing or invalid or having value zero * D-Duplicate Merchant ID in Request * F-Merchant name exceeds the maximum length of 75 characters * G-Mandatory Field Merchant Country Code missing or must be 3 digit ISO code(including leading zeros) * H-Merchant Acquiring Identifier must be numeric of length 6 or 8 * I-Merchant ID must be 12 characters * J-Merchant name having non english characters or '\|' unsupported character * K-Max number of Merchant Acquiring Identifiers supported is 18 * L-Internet Address exceeds the maximum length of 100 characters * M-Merchant Id already exists for this Acquirer Segment * N-Mandatory Field Merchant Name missing * O-Parent Company name having non english characters or '\|' unsupported character * P-Mandatory Field Merchant Category Code missing or must be numeric * Q-Mandatory Field Merchant Acquiring Identifier(s) missing or invalid * R-Mandatory Field Merchant ID missing * S-Merchant Country  should be in same region as acquirer * U-Card Acceptor Id exceeds the maximum length of 15 characters * W-Merchant Category Code exceeds the maximum length of 4 digits * Y-Merchant did not qualify for compliance check * Z-Merchant Category Code is Ineligible for Merchant enrollment] <br>*Example:* `"M"` | Yes |
| rejectMessage | string | [This field contains the description of reject message: * C-Mandatory field Card Acceptor Id missing or invalid or having value zero * D-Duplicate Merchant ID in Request * F-Merchant name exceeds the maximum length of 75 characters * G-Mandatory Field Merchant Country Code missing or must be 3 digit ISO code(including leading zeros) * H-Merchant Acquiring Identifier must be numeric of length 6 or 8 * I-Merchant ID must be 12 characters * J-Merchant name having non english characters or '\|' unsupported character * K-Max number of Merchant Acquiring Identifiers supported is 18 * L-Internet Address exceeds the maximum length of 100 characters * M-Merchant Id already exists for this Acquirer Segment * N-Mandatory Field Merchant Name missing * O-Parent Company name having non english characters or '\|' unsupported character * P-Mandatory Field Merchant Category Code missing or must be numeric * Q-Mandatory Field Merchant Acquiring Identifier(s) missing or invalid * R-Mandatory Field Merchant ID missing * S-Merchant Country  should be in same region as acquirer * U-Card Acceptor Id exceeds the maximum length of 15 characters * W-Merchant Category Code exceeds the maximum length of 4 digits * Y-Merchant did not qualify for compliance check * Z-Merchant Category Code is Ineligible for Merchant enrollment] <br>*Example:* `"Merchant Id already exists for this Acquirer Segment"` | Yes |

#### DeleteSubscriptionAttributes Schema

[Delete Subscription attributes]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover) that is on file at the merchant for billing purposes.]<br>*Example:* `"400000XX00000000"` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [If provided, it contains acquirer or merchant proprietary information such as a customer ID that is carried in the merchant’s back-end system.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### stopAdviceRequest Schema

stopAdviceRequest

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stopadvices | [ { **"startDate"**: date, **"merchantName"**: string, **"cardAcceptorId"**: string, **"cardholderAccountNumber"**: string } ] | [List of stop advice] | Yes |
| issuerSegmentId | integer | [This field must contain a valid VAU issuer segment id]<br>*Example:* `2` | Yes |

#### SubscriptionRequest Schema

[Subscription-api request body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705854"` | Yes |
| subscriptions | [ { **"expirationDate"**: string, **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ] | [List of Inquiries] | Yes |
| subMerchantName | string | [If inquiry is submitted by a merchant, then this field must be empty. If inquiry is submitted by a third-party aggregator on behalf of a merchant, then this field must be populated with the sub-merchant name. Acquirers and processors must pass the value to Visa. No special characters are allowed.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `2` | Yes |

#### Merchant Schema

[Merchant Object]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | [Merchant city name]<br>*Example:* `"Dallas"` | No |
| state | string | [Merchant state name]<br>*Example:* `"TX"` | No |
| reject | { **"rejectCode"**: string, **"rejectMessage"**: string } | [RejectMerchantSearch contains the reject details if the merchant search is rejected] | No |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705853"` | Yes |
| postalCode | string | [Merchant postal code]<br>*Example:* `"75231"` | No |
| contactName | string | [Merchant contact name]<br>*Example:* `"John"` | No |
| countryCode | string | [Merchant country code]<br>*Example:* `"840"` | No |
| contactEmail | string | [Merchant contact email]<br>*Example:* `"john@glockstor.com"` | No |
| contactPhone | string | [Contact phone number of the merchant]<br>*Example:* `"840909090"` | No |
| merchantName | string | [Name of Merchant]<br>*Example:* `"GS PERFORMANCE"` | No |
| parentCompany | string | [Parent company name of  the merchants]<br>*Example:* `"GS PERFORMANCE"` | No |
| cardAcceptorId | string | [Merchant card acceptor id]<br>*Example:* `"8403435453"` | No |
| merchantStatus | string | [Merchant status, This field contains one of the following status: * Active — Merchant status is Active * InActive — Merchant status is In Active * In-Progress — Merchant enrollment is in progress * NotFound — Merchant not found in VAU * Declined — Merchant unable to pass screening * Reject — Merchant search is rejected, reject code and reject message will be returned] <br>*Example:* `"Active"` | Yes |
| streetAddress1 | string | [Address1 for the merchant]<br>*Example:* `"8144 Walnut Hill Lane"` | No |
| streetAddress2 | string | [Address2 for the merchant]<br>*Example:* `"4th cross"` | No |
| internetAddress | string | [Internet address for the merchant]<br>*Example:* `"https://www.glockstor.com"` | No |
| merchantDescriptor | string | [Merchant descriptor]<br>*Example:* `"GS PERFORMANCE"` | No |
| merchantCategoryCode | string | [A 4 digit code assigned by the merchant’s acquirer to identify the merchant’s type of business.]<br>*Example:* `"5735"` | No |
| merchantLineBusiness | string | [Merchant line business]<br>*Example:* `"Online Service"` | No |
| merchantAcquiringIdentifiers | [ string ] | [Merchant acquiring identifier]<br>*Example:* `["312345","312344"]` | No |

#### RejectMerchantSearch Schema

[RejectMerchantSearch contains the reject details if the merchant search is rejected]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectCode | string | [This field contains the following reject codes: * I-Merchant ID must be 12 characters] <br>*Example:* `"I"` | Yes |
| rejectMessage | string | [This field contains the description of reject message: * I-Merchant ID must be 12 characters] <br>*Example:* `"Merchant ID must be 12 characters"` | Yes |

#### SubscriptionRequestAttributes Schema

[Subscription request attributes]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| expirationDate | string | [If provided, it must contain the expiration date of the account on file at the merchant for billing purposes. The date must be in YYMM format]<br>*Example:* `"2204"` | No |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover) that is on file at the merchant for billing purposes.]<br>*Example:* `"400000XX00000000"` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [If provided, it contains acquirer or merchant proprietary information such as a customer ID that is carried in the merchant’s back-end system.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### SubscriptionResponseAttributes Schema

[Subscription response attributes]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reject | { **"rejectReason"**: string, **"rejectReasonCode"**: string } | [Rejected Subscription Response] | No |
| expirationDate | string | [This field contains the expiration date in YYMM format, where YY = 00-99 and MM = 01–12]<br>*Example:* `"2204"` | No |
| subscribedStatus | string | Subscription Status: Success, AlreadySubscribed, Reject]<br>*Example:* `"Success"` | Yes |
| newExpirationDate | string | [If provided, it must contain the expiration date of the account on file at the merchant for billing purposes. The date must be in YYMM format]<br>*Example:* `"2204"` | No |
| serviceIdentifier | string | [This field contains one of the following: * A—Account number change message * C—Closed account advice * E—Expiration date change * N—Non-participating BIN * Q—Contact cardholder advice * P—Participating BIN, no match         Note: UK only—This might also mean that the account is currently being switched from one bank to a different bank as part of the UKCASS. * V—Match made, account number and expiration date unchanged.]<br>*Example:* `"A"` | No |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover) that is on file at the merchant for billing purposes.]<br>*Example:* `"400000XX00000000"` | Yes |
| newCardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover) that is on file at the merchant for billing purposes.]<br>*Example:* `"400000XX00000000"` | No |
| acquirerOrMerchantProprietaryInfo | string | [This field contains the Acquirer or merchant Proprietary information that was submitted in the associated Acquirer Inquiry Request.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### MerchantSearchResponse Schema

[Merchant Search Response]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchants | [ { **"city"**: string, **"state"**: string, **"reject"**: { **"rejectCode"**: string, **"rejectMessage"**: string }, **"merchantId"**: string, **"postalCode"**: string, **"contactName"**: string, **"countryCode"**: string, **"contactEmail"**: string, **"contactPhone"**: string, **"merchantName"**: string, **"parentCompany"**: string, **"cardAcceptorId"**: string, **"merchantStatus"**: string, **"streetAddress1"**: string, **"streetAddress2"**: string, **"internetAddress"**: string, **"merchantDescriptor"**: string, **"merchantCategoryCode"**: string, **"merchantLineBusiness"**: string, **"merchantAcquiringIdentifiers"**: [ string ] } ] | [List of merchant search results] | Yes |
| acquirerSegmentId | integer | [This field  must contain a valid VAU acquirer segment Id.]<br>*Example:* `2` | Yes |

#### SubscriptionResponse Schema

[Subscription-api response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [This field contains the VAU Merchant ID that was submitted in the associated Subscription Request.]<br>*Example:* `"000000705853"` | Yes |
| subscriptions | [ { **"reject"**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }, **"expirationDate"**: string, **"subscribedStatus"**: string, **"newExpirationDate"**: string, **"serviceIdentifier"**: string, **"cardholderAccountNumber"**: string, **"newCardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ] | [List of Subscription Responses] | Yes |
| subMerchantName | string | [This field contains the sub merchant name that was submitted in the associated Subscription Request.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field contains the VAU Acquirer Segment ID of the associated Subscription Request.]<br>*Example:* `2` | Yes |

#### MerchantResponse Schema

[Merchant Response]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reject | { **"rejectCode"**: string, **"rejectMessage"**: string } | [RejectMerchant] | No |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705853"` | No |
| enrollStatus | string | [Merchant enrollment status, This field contains one of the following status: * Success — Merchant is enrolled successfully * In-Progress — Merchant enrollment is in progress * Reject — Merchant is rejected, reject code and reject message will be returned] <br>*Example:* `"Reject"` | Yes |
| merchantName | string | [Name of Merchant]<br>*Example:* `"GS PERFORMANCE"` | No |

#### RejectedRequestResponse Schema

[Reject Request]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705853"` | Yes |
| rejectReason | string | [This field contains the description of the reject code: * A—Acquirer segment is not enrolled * X-Acquirer status is in test mode, please contact client services representative * M—Merchant is not enrolled or inactive * V—No data found in subscription field * 9—Max subscription threshold passed for single request, current threshold is:100.] <br>*Example:* `"Acquirer segment is not enrolled"` | Yes |
| subMerchantName | string | [If inquiry is submitted by a merchant, then this field must be empty. If inquiry is submitted by a third-party aggregator on behalf of a merchant, then this field must be populated with the sub- merchant name. Acquirers and processors must pass the value to Visa. No special characters are allowed.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| rejectReasonCode | string | [This field contains one of the following codes: * A—Acquirer segment is not enrolled * X-Acquirer status is in test mode, please contact client services representative * M—Merchant is not enrolled or inactive * V—No data found in subscription field * 9—Max subscription threshold passed for single request, current threshold is:100".] <br>*Example:* `"A"` | Yes |
| acquirerSegmentId | integer | [This field  must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `9992` | Yes |

#### SuccessfulStopAdviceResponse Schema

[SuccessfulStopAdviceResponse body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| startDate | date | [This field contains the start date, which shouldn't be less than the current date, and its format is yyyy-mm-dd, the default value is the current date.] | No |
| merchantName | string | [This field must contain merchant name.]<br>*Example:* `"TestMerchant"` | Yes |
| responseCode | string | [This field contains one of the following response codes: * 1—Stop advice applied in both RTVAU and VAU * 2—Stop advice applied in VAU * 3—Stop advice applied in RTVAU <br>*Example:* `"1"` | No |
| cardAcceptorId | string | [This field must contain card acceptor id.]<br>*Example:* `"89389898"` | Yes |
| responseMessage | string | [This field contains the description of the response message: * 1—Stop advice applied in both RTVAU and VAU * 2—Stop advice applied in VAU * 3—Stop advice applied in RTVAU <br>*Example:* `"Stop advice applied in both RTVAU and VAU"` | No |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover).]<br>*Example:* `"400000XX00000000"` | Yes |

#### RejectedRequestResponse-1 Schema

[Reject Request]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705853"` | Yes |
| rejectReason | string | [This field contains the description of the reject code: * A—Acquirer segment is not enrolled * M—Merchant is not enrolled * V—No data found in inquiry field * 9—Max PANs threshold passed for single request. Max PANs allowed are bound to change, at present this limit is set to 100.] <br>*Example:* `"Acquirer segment is not enrolled"` | No |
| subMerchantName | string | [If inquiry is submitted by a merchant, then this field must be empty. If inquiry is submitted by a third-party aggregator on behalf of a merchant, then this field must be populated with the sub- merchant name. Acquirers and processors must pass the value to Visa. No special characters are allowed.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| rejectReasonCode | string | [This field contains one of the following codes: * A—Acquirer segment is not enrolled * M—Merchant is not enrolled * V—No data found in inquiry field * 9—Max PANs threshold passed for single request. Max PANs allowed are bound to change, at present this limit is set to 100.] <br>*Example:* `"A"` | No |
| acquirerSegmentId | integer | [This field  must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `9992` | Yes |
| acquirerInformation | string | [If provided, it contains acquirer or merchant proprietary information such as a customer ID that is carried in the merchant’s back-end system.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### SubscriptionInquiryRequest Schema

[Subscription Inquiry api request body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705854"` | Yes |
| subscriptions | [ { **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ] | [List of Inquiries] | Yes |
| subMerchantName | string | [If inquiry is submitted by a merchant, then this field must be empty. If inquiry is submitted by a third-party aggregator on behalf of a merchant, then this field must be populated with the sub-merchant name. Acquirers and processors must pass the value to Visa. No special characters are allowed.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `2` | Yes |

#### stopAdvice Schema

[Stop advice fields]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| startDate | date | [This field contains the start date, which shouldn't be less than the current date, and its format is yyyy-mm-dd, the default value is the current date.] | No |
| merchantName | string | [This field must contain merchant name.]<br>*Example:* `"TestMerchant"` | Yes |
| cardAcceptorId | string | [This field must contain card acceptor id.]<br>*Example:* `"89389898"` | Yes |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover).]<br>*Example:* `"400000XX00000000"` | Yes |

#### BadFormattedErrorMessage-1 Schema

[Inquiry is badly formatted]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | This fields contains following reject reasons * Request is badly formatted and/or the required field(s) is (are) missing <br>*Example:* `"Request is badly formatted and/or the required field(s) is (are) missing"` | No |
| rejectReasonCode | string | This Fields contains following Reject reason codes: * B <br>*Example:* `"B"` | No |

#### Account Updates Response Schema

[Account Updates Response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseCode | string | [This field contains the status either Success or Reject]<br>*Example:* `"SUCCESS"` | Yes |
| oldExpirationDate | string | [This field contains the old expiration date in YYMM format, where YY = 00-99 and MM = 01–12]<br>*Example:* `"2204"` | No |
| oldCardholderAccountNumber | string | [Old Cardholder Account Number.]<br>*Example:* `"400000XX00000000"` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [Acquirer/Merchant Proprietary Information is a specific field in the Visa Account Updater's (VAU) record layout, which can contain internal customer identification numbers.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### merchantSearchRequest Schema

merchantSearch

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchants | [ { **"merchantId"**: string } ] | [List of merchants to search] | Yes |
| acquirerSegmentId | integer | [This field must contain a valid VAU acquirer segment id]<br>*Example:* `2` | Yes |

#### merchantEnrolmentRequest Schema

merchantEnrolment

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchants | [ { **"city"**: string, **"state"**: string, **"merchantId"**: string, **"postalCode"**: string, **"contactName"**: string, **"countryCode"**: string, **"contactEmail"**: string, **"contactPhone"**: string, **"merchantName"**: string, **"parentCompany"**: string, **"cardAcceptorId"**: string, **"streetAddress1"**: string, **"streetAddress2"**: string, **"internetAddress"**: string, **"merchantDescriptor"**: string, **"merchantCategoryCode"**: string, **"merchantLineBusiness"**: string, **"merchantAcquiringIdentifiers"**: [ string ] } ] | [List of merchant enrolment] | Yes |
| acquirerSegmentId | integer | [This field must contain a valid VAU acquirer segment id]<br>*Example:* `2` | Yes |

#### BadFormattedErrorMessage-2 Schema

[Request is badly formatted]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | This fields contains following reject reasons * Request is badly formatted and/or the required field(s) is (are) missing <br>*Example:* `"Request is badly formatted and/or the required field(s) is (are) missing"` | No |
| rejectReasonCode | string | This Fields contains following Reject reason codes: * B <br>*Example:* `"B"` | No |

#### BadFormattedErrorMessage Schema

[Inquiry is badly formatted]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | This fields contains following reject reasons * Request is badly formatted and/or the required field(s) is (are) missing <br>*Example:* `"Request is badly formatted and/or the required field(s) is (are) missing"` | No |
| rejectReasonCode | string | This Fields contains following Reject reason codes: * B <br>*Example:* `"B"` | No |

#### MerchantEnrolmentResponse Schema

[Merchant Enrolment Response]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchants | [ { **"reject"**: { **"rejectCode"**: string, **"rejectMessage"**: string }, **"merchantId"**: string, **"enrollStatus"**: string, **"merchantName"**: string } ] | [List of merchant enrolment] | Yes |
| acquirerSegmentId | integer | [This field  must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `2` | Yes |

#### Request Schema

[Acquirer-api request body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| inquiries | [ { **"expirationDate"**: string, **"cardholderAccountNumber"**: string } ] | [List of Inquiries] | Yes |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705853"` | Yes |
| subMerchantName | string | [If inquiry is submitted by a merchant, then this field must be empty. If inquiry is submitted by a third-party aggregator on behalf of a merchant, then this field must be populated with the sub-merchant name. Acquirers and processors must pass the value to Visa. No special characters are allowed.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `2` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [If provided, it contains acquirer or merchant proprietary information such as a customer ID that is carried in the merchant’s back-end system.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### RejectedSubscriptionResponse Schema

[Rejected Subscription Response]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | [This field contains the description of the reject code: * 1-Account Number does not start with 2, 3, 4, 5 or 6 * 3-Account Number contains non-numeric characters or is blank * 4-Account Number is not of proper length (must be 13, 15, 16 or 19 * 5-Expiration Date is invalid (must be YYMM) * M—Account number is not mod 10 compliant * D-Duplicate subscription in the request] <br>*Example:* `"Account Number contains non-numeric characters or is blank"` | Yes |
| rejectReasonCode | string | [This field contains one of the following codes: * 1-Account Number does not start with 2, 3, 4, 5 or 6 * 3-Account Number contains non-numeric characters or is blank * 4-Account Number is not of proper length (must be 13, 15, 16 or 19 * 5-Expiration Date is invalid (must be YYMM) * M—Account number is not mod 10 compliant * D-Duplicate subscription in the request] <br>*Example:* `"3"` | Yes |

#### SubscriptionInquiryResponse Schema

[Subscription Inquiry api response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [This field contains the VAU Merchant ID that was submitted in the associated Subscription Inquiry Request.]<br>*Example:* `"000000705853"` | Yes |
| subscriptions | [ { **"reject"**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }, **"subscribedStatus"**: string, **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ] | [List of Subscription Inquiry Responses] | Yes |
| subMerchantName | string | [This field contains the sub merchant name that was submitted in the associated Subscription Inquiry Request.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field contains the VAU Acquirer Segment ID of the associated Subscription Inquiry Request.]<br>*Example:* `2` | Yes |

#### OutboundResponse Schema

[Outbound Response]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestId | string | [UUID is generated  to track the request and their response.]<br>*Example:* `"e719f768-85eb-4e50-8259-87f5d2fc2fbe"` | Yes |
| merchantId | string | [This field contains the VAU Merchant ID.]<br>*Example:* `"000000705853"` | Yes |
| accountUpdates | [ { **"responseCode"**: string, **"oldExpirationDate"**: string, **"oldCardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ] | [List of Account Updates] | Yes |
| subMerchantName | string | [This field contains the sub merchant name.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field contains the VAU Acquirer Segment ID.]<br>*Example:* `2` | Yes |

#### Inquiry Schema

[Pan inquiry consists of two fields, the cardholder account number and it's expiration date.]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| expirationDate | string | [If provided, it must contain the expiration date of the account on file at the merchant for billing purposes. The date must be in YYMM format]<br>*Example:* `"2204"` | No |
| cardholderAccountNumber | string | [This field must contain the account number (Visa, Mastercard, American Express, or Discover) that is on file at the merchant for billing purposes.]<br>*Example:* `"400000XX00000000"` | Yes |

#### Response Schema

[Acquirer-api response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejects | [ { **"rejectReason"**: string, **"expirationDate"**: string, **"rejectReasonCode"**: string, **"cardholderAccountNumber"**: string } ] | [List of Rejected Inquiry Response] | Yes |
| responses | [ { **"newExpirationDate"**: string, **"oldExpirationDate"**: string, **"serviceIdentifier"**: string, **"previouslySentFlag"**: string, **"newCardholderAccountNumber"**: string, **"oldCardholderAccountNumber"**: string } ] | [List of Successful Inquiry Responses] | Yes |
| merchantId | string | [This field contains the VAU Merchant ID that was submitted in the associated Acquirer Inquiry Request.]<br>*Example:* `"000000705853"` | Yes |
| subMerchantName | string | [This field contains the sub merchant name that was submitted in the associated Acquirer Inquiry Request.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field contains the VAU Acquirer Segment ID of the associated Acquirer Inquiry Request.]<br>*Example:* `2` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [This field contains the Acquirer or merchant Proprietary information that was submitted in the associated Acquirer Inquiry Request.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### RejectedStopAdviceRequestResponse Schema

[Reject Request]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | [This field contains the description of the reject code: * A—Issuer segment is not enrolled * T—Max stop advices threshold passed for single request, current threshold is:100 * V—No data found in stop advice field <br>*Example:* `"Issuer segment is not enrolled"` | No |
| issuerSegmentId | integer | [This field must contain a valid VAU Issuer Segment ID.]<br>*Example:* `2` | Yes |
| rejectReasonCode | string | [This field contains one of the following codes: * A—Issuer segment is not enrolled * T—Max stop advices threshold passed for single request, current threshold is:100 * V—No data found in stop advice field <br>*Example:* `"A"` | No |

#### StopAdviceResponse Schema

[Issuer-stop-advice-api response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejects | [ { **"startDate"**: date, **"rejectCode"**: string, **"merchantName"**: string, **"rejectMessage"**: string, **"cardAcceptorId"**: string, **"cardholderAccountNumber"**: string } ] | [List of rejected stop advice responses] | Yes |
| responses | [ { **"startDate"**: date, **"merchantName"**: string, **"responseCode"**: string, **"cardAcceptorId"**: string, **"responseMessage"**: string, **"cardholderAccountNumber"**: string } ] | [List of successful stop advice responses] | Yes |
| issuerSegmentId | integer | [This field must contain a valid VAU issuer segment id.]<br>*Example:* `2` | Yes |

#### SubscriptionDeleteRequest Schema

[Subscription Delete api request body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705854"` | Yes |
| subscriptions | [ { **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ] | [List of Inquiries] | Yes |
| subMerchantName | string | [If inquiry is submitted by a merchant, then this field must be empty. If inquiry is submitted by a third-party aggregator on behalf of a merchant, then this field must be populated with the sub-merchant name. Acquirers and processors must pass the value to Visa. No special characters are allowed.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `2` | Yes |

#### MerchantRequest Schema

[List of merchant enrolment]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | [Merchant city name]<br>*Example:* `"Dallas"` | No |
| state | string | [Merchant state name]<br>*Example:* `"TX"` | No |
| merchantId | string | [Acquirer assigns the merchant ID. This field must contain a valid VAU Merchant ID.]<br>*Example:* `"000000705853"` | Yes |
| postalCode | string | [Merchant postal code]<br>*Example:* `"75231"` | No |
| contactName | string | [Merchant contact name]<br>*Example:* `"John"` | No |
| countryCode | string | [Merchant ISO country code]<br>*Example:* `"840"` | Yes |
| contactEmail | string | [Merchant contact email]<br>*Example:* `"john@glockstor.com"` | No |
| contactPhone | string | [Contact phone number of the merchant]<br>*Example:* `"840909090"` | No |
| merchantName | string | [Name of Merchant]<br>*Example:* `"GS PERFORMANCE"` | Yes |
| parentCompany | string | [Parent company name of  the merchants]<br>*Example:* `"GS PERFORMANCE"` | No |
| cardAcceptorId | string | [Merchant card acceptor id]<br>*Example:* `"8405445454"` | Yes |
| streetAddress1 | string | [Address1 for the merchant]<br>*Example:* `"8144 Walnut Hill Lane"` | No |
| streetAddress2 | string | [Address2 for the merchant]<br>*Example:* `"4th cross"` | No |
| internetAddress | string | [Internet address for the merchant]<br>*Example:* `"https://www.glockstor.com"` | No |
| merchantDescriptor | string | [Merchant descriptor]<br>*Example:* `"GS PERFORMANCE"` | No |
| merchantCategoryCode | string | [A 4 digit code assigned by the merchant’s acquirer to identify the merchant’s type of business.]<br>*Example:* `"5735"` | Yes |
| merchantLineBusiness | string | [Merchant line business]<br>*Example:* `"Online Service"` | No |
| merchantAcquiringIdentifiers | [ string ] | [Merchant acquiring identifier]<br>*Example:* `["312345","312344"]` | Yes |

#### SuccessfulInquiryResponse Schema

[Successful Inquiry Response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| newExpirationDate | string | [This field contains one of the following: * The expiration date when new information is available, in YYMM format, where: YY = 00–99 MM = 01–12 Spaces for messages that indicate one of the following conditions:     * Closed Account {C}      * Contact Cardholder {Q}      * Participating BIN, No Match {P}      * Non-participating BIN, No Match {N} ]<br>*Example:* `"2204"` | No |
| oldExpirationDate | string | [This field contains the old expiration date in YYMM format, where YY = 00-99 and MM = 01–12]<br>*Example:* `"2204"` | No |
| serviceIdentifier | string | [This field contains one of the following: * A—Account number change message * C—Closed account advice * E—Expiration date change * N—Non-participating BIN * Q—Contact cardholder advice * O—Cardholder Opt-Out     Note:        – When a 'Stop Advice' is placed on a card and the acquirer/merchant is ready to accept          the code, they would receive the 'O'.        – If the acquirer is not ready to accept 'O', then, VAU responds with 'P'.        – To confirm the ability to receive 'O', please send email to VAU Client Support Team at          updater@visa.com (for North America customers), or customersupport@visa.com (for          Europe customers). * P—Participating BIN, no match         Note: UK only—This might also mean that the account is currently being switched from one bank to a different bank as part of the UKCASS. * V—Match made, account number and expiration date unchanged.]<br>*Example:* `"A"` | No |
| previouslySentFlag | string | [This field contains one of the following:  Y—Yes or N—No Note: A Y value indicates that exactly the same account information was requested by the acquirer and sent by VAU during the previous 40 days (the retention period), excluding the current day.]<br>*Example:* `"Y"` | No |
| newCardholderAccountNumber | string | [This field contains one of the following: * The account number when new information is available. * The account number if a validation response is provided. Spaces for records with the following service identifiers:     * Closed Account {C}     * Contact Cardholder {Q}     * Participating BIN, No Match {P}               Note: UK only—This might also mean that the account is currently being switched from one bank to a different bank as part of the UKCASS.     * Non-participating BIN, No Match {N} ]<br>*Example:* `"400000XX00000001"` | Yes |
| oldCardholderAccountNumber | string | [This field contains the account number that was submitted in the associated Acquirer Inquiry Request.]<br>*Example:* `"400000XX00000000"` | Yes |

#### DeleteSubscription Schema

[List of Subscription Delete Responses]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reject | { **"rejectReason"**: string, **"rejectReasonCode"**: string } | [Rejected Subscription Response] | No |
| unsubscribedStatus | string | [This field contains the  status whether the subscribe pan is Success or NotFound or Reject]<br>*Example:* `"Success"` | Yes |
| cardholderAccountNumber | string | [This field contains the account number that was submitted in the associated Subscription Delete Request.]<br>*Example:* `"400000XX00000000"` | Yes |
| acquirerOrMerchantProprietaryInfo | string | [This field contains the Acquirer or merchant Proprietary information that was submitted in the associated Subscription Delete Request.]<br>*Example:* `"180720216995565000113            XXXXAIBR"` | No |

#### RejectedSubscription Schema

[Rejected Subscription Response]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | [This field contains the description of the reject code: * 1-Account Number does not start with 2, 3, 4, 5 or 6 * 3-Account Number contains non-numeric characters or is blank * 4-Account Number is not of proper length (must be 13, 15, 16 or 19 * M—Account number is not mod 10 compliant * D-Duplicate subscription in the request] <br>*Example:* `"Account Number contains non-numeric characters or is blank"` | Yes |
| rejectReasonCode | string | [This field contains one of the following codes: * 1-Account Number does not start with 2, 3, 4, 5 or 6 * 3-Account Number contains non-numeric characters or is blank * 4-Account Number is not of proper length (must be 13, 15, 16 or 19 * M—Account number is not mod 10 compliant * D-Duplicate subscription in the request] <br>*Example:* `"3"` | Yes |

#### SubscriptionDeleteResponse Schema

[Subscription Delete api response body]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantId | string | [This field contains the VAU Merchant ID that was submitted in the associated Subscription Delete Request.]<br>*Example:* `"000000705853"` | Yes |
| subscriptions | [ { **"reject"**: { **"rejectReason"**: string, **"rejectReasonCode"**: string }, **"unsubscribedStatus"**: string, **"cardholderAccountNumber"**: string, **"acquirerOrMerchantProprietaryInfo"**: string } ] | [List of Subscription Delete Responses] | Yes |
| subMerchantName | string | [This field contains the sub merchant name that was submitted in the associated Subscription Delete Request.]<br>*Example:* `"SUB-MERCHANT-NAME"` | No |
| acquirerSegmentId | integer | [This field contains the VAU Acquirer Segment ID of the associated Subscription Delete Request.]<br>*Example:* `2` | Yes |

#### RejectedMerchantSearchResponse Schema

[Reject Request]

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rejectReason | string | [This field contains the description of the reject code: * A—Acquirer segment is not enrolled * V—No data found in merchant field * X-Acquirer status is in test mode, please contact client services representative * T—Max merchants threshold passed for single request, current threshold is:100.] <br>*Example:* `"Acquirer segment is not enrolled"` | Yes |
| rejectReasonCode | string | [This field contains one of the following codes: * A—Acquirer segment is not enrolled * V—No data found in merchant field * X-Acquirer status is in test mode, please contact client services representative * T—Max merchants threshold passed for single request, current threshold is:100.] <br>*Example:* `"A"` | Yes |
| acquirerSegmentId | integer | [This field  must contain a valid VAU Acquirer Segment ID.]<br>*Example:* `9992` | Yes |
