# Kernel in the Cloud
Kernel in the Cloud onboarding

## Version: 1

### Servers

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

---
## KiC Terminal Profile
Service Providers could use this API to configure terminal profiles on iOS devices that accept payments using the Kernel in Cloud Solution.

### [POST] /vacservices/v1/ios/associate/terminalProfile
**Associate Terminal Profile**

This document defines APIs used by ServiceProviders/Apple Business Registry account holders to link the terminalProfileId generated by Apple to KernelProfileId generated in KiC.

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"kernelTerminalMappingList"**: [ { **"kernelProfileId"**: string, **"ternminalProfileId"**: string } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [GET] /vacservices/v1/ios/terminalProfile/{kernelProfileId}
**Get Terminal Profile**

This document defines APIs used by ServiceProviders/ABR Account holders to get the TerminalProfile generated KiC. 
KiC generates the TerminalProfile in YAML format, This YAML is Base64Encoded and sent in Response. 
ServiceProviders can base64decode the response and upload the YAML to Apple Business Registry.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| kernelProfileId | path | Kernel Profile ID | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Get Terminal Profile API | **application/json**: { **"kernelProfileId"**: string, **"ternminalProfile"**: string }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

---
## KiC Store Profile
Apis to create and update Store Profile

### [GET] /vacservices/v1/profile/merchant/{merchantProfileId}/store/{storeProfileId}
**Get Store Profile**

This API is for Providers to get StoreProfile created in KiC

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| merchantProfileId | path | Store profile id and merchant ID | Yes | string | simple | No |
| storeProfileId | path |  | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation | **application/json**: { **"city"**: string, **"state"**: string, **"country"**: string, **"clientId"**: string, **"storeName"**: string, **"postalCode"**: string, **"addressLine"**: string, **"storeProfileId"**: string, **"storeProfileName"**: string, **"merchantProfileId"**: string }<br> |

### [PUT] /vacservices/v1/profile/merchant/{merchantProfileId}/store/{storeProfileId}
**Update Store Profile**

Store Profile Update.

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| merchantProfileId | path |  | Yes | string | simple | No |
| storeProfileId | path |  | Yes | string | simple | No |

#### Request Body

Store profile update request details

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"city"**: string, **"state"**: string, **"country"**: string, **"zipcode"**: string, **"storeName"**: string, **"addressLine"**: string }<br> |

#### Responses

| Code | Description |
| ---- | ----------- |
| 200 | successful operation |

### [DELETE] /vacservices/v1/profile/merchant/{merchantProfileId}/store/{storeProfileId}
**Delete Store Profile**

This API is for Providers to delete StoreProfile in KiC

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| merchantProfileId | path | Store profile id and merchant ID | Yes | string | simple | No |
| storeProfileId | path |  | Yes | string | simple | No |

#### Responses

| Code | Description |
| ---- | ----------- |
| 200 | successful operation |

### [POST] /vacservices/v1/profile/merchant/{merchantProfileId}/store
**Create Store Profile**

Store Profile Creation.

#### Parameters

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

#### Request Body

Store profile creation request details

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"city"**: string, **"state"**: string, **"country"**: string, **"zipcode"**: string, **"storeName"**: string, **"addressLine"**: string, **"storeProfileName"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | created operation | **application/json**: { **"storeProfileId"**: string }<br> |

---
## KiC Kernel Profile
Apis to create,Update ProviderProfiles

### [PUT] /vacservices/v1/profile/kernel/{kernelProfileName}
**Kernel Profile Update**

Kernel Profile Update.

#### Parameters

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

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"kernelConfig"**: { **"kernelConfigurationCDO"**: { **"qual"**: string, **"tmsid"**: string, **"lastUpdate"**: dateTime, **"scriptList"**: { **"scriptCDO"**: [ { **"script"**: string, **"dataStoreID"**: string } ] }, **"scriptFormat"**: string, **"scriptEncoding"**: string, **"configurationID"**: string, **"psconfigurationList"**: { **"psconfigurationCDO"**: [ { **"psid"**: string, **"lastUpdate"**: dateTime, **"psconfigurationID"**: string } ] } } } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 202 | Accepted | **application/json**: { **"KernelProfileUpdateResponse"**: { **"version"**: integer } }<br> |

### [GET] /vacservices/v2/profile/kernel/{kernelProfileId}
**Get Kernel Profile**

This API is for Providers to get Kernel Profile created KiC.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| kernelProfileId | path | Kernel Profile ID | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Update API | **application/json**: { **"version"**: string, **"KernelProfileRequestV2"**: { **"kernelProfileInfo"**: { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] }, **"kernelProfileName"**: string } }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [PUT] /vacservices/v2/profile/kernel/{kernelProfileId}
**Update Kernel Profile**

This API is for Providers to update Kernel Profile in KiC.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| kernelProfileId | path | Kernel Profile ID | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"kernelProfileInfo"**: { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Update API | **application/json**: { **"version"**: integer }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [DELETE] /vacservices/v2/profile/kernel/{kernelProfileId}
**Delete Kernel Profile**

This API is for Providers to delete Kernel Profile in KiC.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| kernelProfileId | path | Kernel Profile ID | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [GET] /vacservices/v2/profile/kernel/{kernelProfileId}/{version}
**Get Kernel profile by Version**

This API is for Providers to get Kernel Profile created in VAC.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| kernelProfileId | path | Kernel Profile ID | Yes | string | No |
| version | path | Kernel Profile Version (If no value sent current active version of Kernel Profile would be returned) | Yes | integer | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Update API | **application/json**: { **"version"**: string, **"KernelProfileRequestV2"**: { **"kernelProfileInfo"**: { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] }, **"kernelProfileName"**: string } }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [POST] /vacservices/v2/profile/kernel
**Create Kernel Profile**

Kernel Profile Creation Version 2.0.

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"kernelProfileInfo"**: { **"countryCode"**: string, **"currencyCode"**: string, **"storeAndForwardCDO"**: { **"maximumCumulativeAmount"**: string, **"maximumTransactionNumber"**: string }, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, <br>**Available values:** "PayByLink", **"firstGenVersionNumber"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionCategoryCode"**: string, **"additionalCurrencyCodeList"**: [ string ], **"terminalRiskManagementData"**: string, **"additionalCurrencyLimitList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ], **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA", "DDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "SCA", "StatusCheck" ], **"tcTypeList"**: [ string, <br>**Available values:** "iFON" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] }, **"kernelProfileName"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Response for Create API | **application/json**: { **"kernelProfileId"**: string }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 409 | Record Conflict error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [POST] /vacservices/v1/profile/kernel
**Create Kernel Profile**

Kernel Profile Creation.

#### Request Body

KernelProfileCreation request details

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"kernelConfig"**: { **"kernelConfigurationCDO"**: { **"qual"**: string, **"tmsid"**: string, **"lastUpdate"**: dateTime, **"scriptList"**: { **"scriptCDO"**: [ { **"script"**: string, **"dataStoreID"**: string } ] }, **"scriptFormat"**: string, **"scriptEncoding"**: string, **"configurationID"**: string, **"psconfigurationList"**: { **"psconfigurationCDO"**: [ { **"psid"**: string, **"lastUpdate"**: dateTime, **"psconfigurationID"**: string } ] } } }, **"kernelProfileName"**: string }<br> |

#### Responses

| Code | Description |
| ---- | ----------- |
| 201 | successful operation |
| default | successful operation |

### [POST] /vacservices/v2/profile/kernel/{kernelProfileId}/revert/{version}
**Revert Kernel Profile**

This API is for Providers to Revert Kernel Profile to older specific version.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| kernelProfileId | path | Kernel Profile ID | Yes | string | No |
| version | path | Kernel Profile Version | Yes | integer | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Update API | **application/json**: { **"version"**: integer }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

---
## KiC Merchant Profile
Apis to create,Update MerchantProfiles

### [POST] /vacservices/v1/profile/merchant
**Create Merchant Profile**

Merchant Profile Creation.

#### Request Body

MerchantProfileCreation request details

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"routingConfig"**: [ { **"processor"**: string, **"merchantId"**: string } ], **"merchantProfileName"**: string }<br> |

#### Responses

| Code | Description |
| ---- | ----------- |
| 201 | successful operation |
| default | successful operation |

### [GET] /vacservices/v2/profile/merchant/{merchantProfileId}
**Get Merchant Profile**

This API is for Providers to get MerchantProfile created in KiC

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| merchantProfileId | path | MerchantProfileId | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Create API | **application/json**: { **"routingConfig"**: [ { **"processor"**: string, **"merchantId"**: string, **"merchantCategoryCode"**: string } ], **"merchantProfileName"**: string }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [PUT] /vacservices/v2/profile/merchant/{merchantProfileId}
**Update Merchant Profile**

This API is for Providers to update MerchantProfile in KiC

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| merchantProfileId | path | MerchantProfileId | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"routingConfig"**: [ { **"processor"**: string, **"merchantId"**: string, **"merchantCategoryCode"**: string } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [DELETE] /vacservices/v2/profile/merchant/{merchantProfileId}
**Delete Merchant Profile**

This API is for Providers to delete MerchantProfile in KiC

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| merchantProfileId | path | MerchantProfileId | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [POST] /vacservices/v2/profile/merchant
**Create Merchant Profile**

Merchant Profile Creation.

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"routingConfig"**: [ { **"processor"**: string, **"merchantId"**: string, **"merchantBannerName"**: string, **"merchantCategoryCode"**: string } ], **"merchantProfileName"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Response for Create API | **application/json**: { **"merchantProfileId"**: string }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 409 | Record Conflict error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

---
## KiC List
KiC List

### [GET] /vacservices/v1/list/retrieve/{reportGuid}/{reportId}
**Retrieve List**

Used to request a single page of a report of Stores/Devices.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| reportGuid | path |  | Yes | string | No |
| reportId | path |  | Yes | integer | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Retrieve Device/Store Data | **application/json**: { **"_links"**: { **"next"**: { **"href"**: string (uri) }, **"self"**: { **"href"**: string (uri) } }, **"content"**: { **"stores"**: [ { **"status"**: string, **"storeProfileId"**: string, **"statusChangeDateTime"**: string } ], **"devices"**: [ { **"status"**: string, **"vacDeviceId"**: string, **"storeProfileId"**: string, **"kernelProfileId"**: string, **"merchantProfile"**: string, **"statusChangeDateTime"**: string } ] } }<br> |
| 404 | When any field validation fails or when any required field is missing or when request is inconsistent with the Request definitions. | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } } & { **"errorResponse"**: { **"reason"**: , **"status"**: , **"message"**:  } }<br> |

### [POST] /vacservices/v1/list/device
**Device List**

Clients can call this API to fetch a list of device that are onboarded to VAC by sending in the search criteria through request body.

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"status"**: [ string, <br>**Available values:** "Active", "Disabled", "Deleted" ], **"endDate"**: dateTime, **"startDate"**: dateTime, **"recordsPerPage"**: integer, **"storeProfileIds"**: [ string ], **"kernelProfileIds"**: [ string ], **"merchantProfileIds"**: [ string ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 202 | Device/Store search report response | **application/json**: { **"reportLocation"**: string }<br> |
| 400 | When any field validation fails or when any required field is missing or when request is inconsistent with the Request definitions. | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } } & { **"errorResponse"**: { **"reason"**: , **"status"**: , **"message"**:  } }<br> |

### [POST] /vacservices/v1/list/stores
**Store List**

Clients can call this API to fetch a list of stores that are onboarded to VAC by sending in the search criteria through request body.

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"status"**: [ string, <br>**Available values:** "Active", "InActive" ], **"endDate"**: dateTime, **"startDate"**: dateTime, **"recordsPerPage"**: integer, **"merchantProfileIds"**: [ string ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 202 | Device/Store search report response | **application/json**: { **"reportLocation"**: string }<br> |
| 400 | When any field validation fails or when any required field is missing or when request is inconsistent with the Request definitions. | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } } & { **"errorResponse"**: { **"reason"**: , **"status"**: , **"message"**:  } }<br> |

---
## KiC Device Enrollment
Api to enroll a device

### [POST] /vacservices/v2/device/{vacDeviceId}/manage
**Device Management**

This API is for Providers to Delete(permanently), Disable(temporarily) and Enable Devices that are enrolled in KiC

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| vacDeviceId | path | VAC Generated Device Id | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"action"**: string, <br>**Available values:** "disable", "enable", "delete" }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [POST] /vacservices/v2/device/enroll
**Device Enrollment**

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"deviceInfo"**: { **"id"**: string, **"model"**: string, **"osType"**: string, **"manufacturer"**: string }, **"storeProfileId"**: string, **"kernelProfileId"**: string, **"cryptographicKeys"**: { **"deviceCerts"**: [ string ], **"serviceKeys"**: [ { **"keyFun"**: string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT", **"keyRef"**: { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" } } ] } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Enroll Device API | **application/json**: { **"deviceKeys"**: [ { **"key"**: { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" }, **"keyFun"**: string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT" } ], **"vacDeviceId"**: string }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 409 | Record Conflict error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [POST] /vacservices/v1/device/enroll
**Device Enrollment**

Device enrollment

#### Request Body

Device enrollment request details

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"deviceInfo"**: { **"id"**: string, **"model"**: string, **"osType"**: string, **"manufacturer"**: string }, **"cryptographicKeys"**: { **"deviceKeys"**: [ { **"key"**: { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" }, **"keyFun"**: string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT" } ], **"serviceKeys"**: [ { **"keyFun"**: string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT", **"keyRef"**: { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" } } ] }, **"kernelProfileName"**: string, **"merchantProfileName"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"DeviceEnrollmentResponse"**: { **"deviceKeys"**: [ { **"key"**: { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" }, **"keyFun"**: string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT" } ], **"vacDeviceId"**: string } }<br> |

### [GET] /vacservices/v2/device/{vacDeviceId}
**Get Profiles From Device**

This API is used get the Kernel Profile Id and Store Profile Id associated to VacDeviceId in URI.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| vacDeviceId | path | VAC Generated Device Id | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response for Enroll Device API | **application/json**: { **"status"**: string, **"deviceInfo"**: { **"id"**: string, **"model"**: string, **"osType"**: string, **"manufacturer"**: string }, **"storeProfileId"**: string, **"kernelProfileId"**: string }<br> |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [PUT] /vacservices/v2/device/{vacDeviceId}
**Update Device **

This API is For Providers to update Device Enrollment in KiC

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| vacDeviceId | path | VAC Generated Device Id | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"storeProfileId"**: string, **"kernelProfileId"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

---
## KiC Reconfigure
KiC Reconfigure

### [POST] /vacservices/v1/reconfig/merchant/{merchantProfileId}/stores
**Reconfigure Merchant Profile**

This API is to facilitate clients to switch a subset of Stores and its associated Devices to different Merchant.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| merchantProfileId | path | Merchant Profile Id | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"stores"**: [ string ], **"instruction"**: string, <br>**Available values:** "All", "AvailableOnly" }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [POST] /vacservices/v1/reconfig/merchant/{merchantProfileId}/store/{storeProfileId}/devices
**Reconfigure Store Profile**

This API is to facilitate clients to associate a list of devices to different Stores. A Store can have more than one device, Clients can use this API to move a set of devices between stores at different location.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| merchantProfileId | path | Merchant Profile Id | Yes | string | No |
| storeProfileId | path | Store Profile Id | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"devices"**: [ string ], **"instruction"**: string, <br>**Available values:** "All", "AvailableOnly" }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

### [POST] /vacservices/v1/reconfig/kernel/{kernelProfileId}/devices
**Reconfigure Kernel Profile**

This API is to facilitate client to switch a list of devices to new Kernel Profile. Single Kernel Profile can be shared by more than one Device, Any update to Kernel Profile would affect all the devices associated to it. Clients can use this API to break that dependency.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| kernelProfileId | path | VAC generated Kernel Profile Id | Yes | string | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"devices"**: [ string ], **"instruction"**: string, <br>**Available values:** "All", "AvailableOnly" }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | successful operation |  |
| 400 | Field/Parameter Vaildation Error. | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 401 | Unauthorized |  |
| 404 | No data found Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |
| 500 | Unknown Server Error | **application/json**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } & { **"reason"**: , **"status"**: , **"message"**:  }<br> |

---
### Schemas

#### InterfaceProfileCDO-3 Schema

Identifies InterfaceProfile defined for each InterfaceID.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| svIDProfileList | [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ] | Identifies List of SvIDProfileCDO supported by Kernel for each InterfaceId in InterfaceProfileList. | Yes |
| interfaceProfile | string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" | Identifies InterfaceID supported by Kernel.  Validation rules: * Each Interface profile should be supported by the Configuration Management System or should be set to ‘ANY’. * Interface profile cannot have duplicates. * At least 1 Interface profile other than ‘ANY’ must be defined.   Possible values: * `ANY` - To support all interface types to perform transaction. * `Contact` - For Contact interface type to perform transaction. * `Contactless` - For Contactless interface type to perform transaction, for prod only Contactless is supported. * `QR` - For QR interface type to perform transaction. <br>*Enum:* `"ANY"`, `"Contact"`, `"Contactless"`, `"QR"` | Yes |

#### TerminalProfileMappingRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| KernelTerminalMappingList | [ { **"kernelProfileId"**: string, **"ternminalProfileId"**: string } ] |  | Yes |

#### InterfaceProfileCDO-2 Schema

Identifies InterfaceProfile defined for each InterfaceID.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| svIDProfileList | [ { **"svIDProfile"**: string, <br>**Available values:** "PayByLink", **"firstGenVersionNumber"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionCategoryCode"**: string, **"additionalCurrencyCodeList"**: [ string ], **"terminalRiskManagementData"**: string, **"additionalCurrencyLimitList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ], **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA", "DDA" ] } ] } ] | Identifies List of SvIDProfileCDO supported by Kernel for each InterfaceId in InterfaceProfileList. | Yes |
| interfaceProfile | string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" | Identifies InterfaceID supported by Kernel.  Validation rules: * Each Interface profile should be supported by the Configuration Management System or should be set to ‘ANY’. * Interface profile cannot have duplicates. * At least 1 Interface profile other than ‘ANY’ must be defined.   Possible values: * `ANY` - To support all interface types to perform transaction. * `Contact` - For Contact interface type to perform transaction. * `Contactless` - For Contactless interface type to perform transaction, for prod only Contactless is supported. * `QR` - For QR interface type to perform transaction. <br>*Enum:* `"ANY"`, `"Contact"`, `"Contactless"`, `"QR"` | Yes |

#### InterfaceProfileCDO-1 Schema

Identifies InterfaceProfile defined for each InterfaceID.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| svIDProfileList | [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ] | Identifies List of SvIDProfileCDO supported by Kernel for each InterfaceId in InterfaceProfileList. | Yes |
| interfaceProfile | string, <br>**Available values:** "ANY", "Contact", "Contactless" | Identifies InterfaceID supported by Kernel. Possible values: * `ANY` - To support all interface types to perform transaction. * `Contact` - For Contact interface type to perform transaction. * `Contactless` - For Contactless interface type to perform transaction, for prod only Contactless is supported. <br>*Enum:* `"ANY"`, `"Contact"`, `"Contactless"` | Yes |

#### ServiceKey Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| keyFun | string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT" | *Enum:* `"AUTHENTICITY"`, `"KEY_AGREEMENT"` | Yes |
| keyRef | { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" } |  | Yes |

#### DeviceEnrollmentUpdateRequestV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| storeProfileId | string | Store associated to this Device. | No |
| kernelProfileId | string | KernelConfiguration to be used by device for transaction processing | No |

#### SvIDProfileCDO Schema

Identifies SvIDProfile defined for each SvID supported by the Kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| svIDProfile | string | Identifies SvID supported by the Kernel. It indicates AID(supports single Application for a Payment System) or RID(supports multiple Application for a Payment System) or US Common Debit. Currently MasterCard and Visa are supported. | Yes |
| transactionTypeProfileList | [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] | Identifies List of TransactionProfile supported by the Kernel for each SvIDProfile in svIDProfileList. | No |

#### DateTime Schema

A date or date with GMT time. If only date is provided, the time will default to 00:00:00.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DateTime | dateTime | A date or date with GMT time. If only date is provided, the time will default to 00:00:00. |  |

#### TACIndicator-2 Schema

1st Gen Terminal Action Code – Online, Varies per Transaction Type,
per SvID, Not Applicable for ContactLess InterfaceID.

Validation rules:
* Should contain valid Terminal Action Codes.

Possible values:
  * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)
  * `SDAFailed` - SDA failed(Byte1bit7)
  * `ICCDataMissing` - ICC data missing(Byte1bit6)
  * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)  
  * `DDAFailed` - DDA failed(Byte1bit4)
  * `CDAFailed` - CDA failed(Byte1bit3)
  * `RFUByte1bit1` - RFU(Byte1bit1)
  * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)
  * `Expired` - Expired application(Byte2bit7)
  * `NotYetEffective` - Application not yet effective(Byte2bit6)
  * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)
  * `NewCard` - New Card(Byte2bit4)
  * `RFUByte2bit3` - RFU(Byte2bit3)
  * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)
  * `CVMUnknown` - Unrecognised CVM(Byte3bit7)
  * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)
  * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)
  * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)
  * `OnlineCVM` - OnlinePINentered(Byte3bit3)
  * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)
  * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)
  * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)
  * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)
  * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)
  * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)
  * `RFUByte4bit1` - RFU(Byte4bit1)
  * `TDOL` - Default TDOL used(Byte5bit8)
  * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)
  * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)
  * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)
  * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)
  * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3) 
  * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2) 
  * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1) 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TACIndicator-2 | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   |  |

#### TACIndicator-1 Schema

1st Gen Terminal Action Code – Online, Varies per Transaction Type,
per SvID, Not Applicable for ContactLess InterfaceID.

Validation rules:
* Should contain valid Terminal Action Codes.

Possible values:
  * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)
  * `SDAFailed` - SDA failed(Byte1bit7)
  * `ICCDataMissing` - ICC data missing(Byte1bit6)
  * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)  
  * `DDAFailed` - DDA failed(Byte1bit4)
  * `CDAFailed` - CDA failed(Byte1bit3)
  * `RFUByte1bit1` - RFU(Byte1bit1)
  * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)
  * `Expired` - Expired application(Byte2bit7)
  * `NotYetEffective` - Application not yet effective(Byte2bit6)
  * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)
  * `NewCard` - New Card(Byte2bit4)
  * `RFUByte2bit3` - RFU(Byte2bit3)
  * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)
  * `CVMUnknown` - Unrecognised CVM(Byte3bit7)
  * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)
  * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)
  * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)
  * `OnlineCVM` - OnlinePINentered(Byte3bit3)
  * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)
  * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)
  * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)
  * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)
  * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)
  * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)
  * `RFUByte4bit1` - RFU(Byte4bit1)
  * `TDOL` - Default TDOL used(Byte5bit8)
  * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)
  * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)
  * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)
  * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)
  * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3) 
  * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2) 
  * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1) 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TACIndicator-1 | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   |  |

#### DeviceInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| id | string | Unique DeviceId generated in Acquirer/PSP Payment Gateway, This is treated as TerminalId in VAC.<br>*Example:* `"3424bd66-1ed2-9h21-4fg61"` | Yes |
| model | string | Device Model. | No |
| osType | string | OSType on Device. | No |
| manufacturer | string | Device Manufacturer. | No |

#### StoreDataList Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stores | [ string ] | No more than 200 Stores in a single Request | Yes |
| instruction | string, <br>**Available values:** "All", "AvailableOnly" | Instruction indicates the action to be performed on the DeviceList          Possible values: * `All` - This action will instruct VAC to consider the all devices sent in Request to update, If Unknown/Deleted/Disabled devices found in request, API Errors out. * `AvailableOnly` - This action will instruct VAC to ignore any Unknown/Deleted/Disabled devices and update only the available devices. <br>*Enum:* `"All"`, `"AvailableOnly"` | Yes |

#### KernelProfileRequestV2-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### StoreProfileCreateRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string |  | Yes |
| state | string |  | Yes |
| country | string |  | Yes |
| zipcode | string |  | Yes |
| storeName | string |  | Yes |
| addressLine | string |  | Yes |
| storeProfileName | string |  | Yes |

#### KernelProfileRequestV2-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### KernelProfileRequestV2-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"storeAndForwardCDO"**: { **"maximumCumulativeAmount"**: string, **"maximumTransactionNumber"**: string }, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, <br>**Available values:** "PayByLink", **"firstGenVersionNumber"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionCategoryCode"**: string, **"additionalCurrencyCodeList"**: [ string ], **"terminalRiskManagementData"**: string, **"additionalCurrencyLimitList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ], **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA", "DDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "SCA", "StatusCheck" ], **"tcTypeList"**: [ string, <br>**Available values:** "iFON" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### ErrorResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } |  | No |

#### AcceptanceEnvironmentCDO Schema

Identifies the AcceptanceEnvironment supported by Kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| usageList | [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ] | Identifies the list usage of the Terminal. Possible values: * `PartialApproval` - This value is set if Acquirer wants to support Partial Approve. * `StatusCheck` - This value is set if Merchant/Acquirer wants to support Pre-Authorization(transaction with amount equal to 1).  | No |
| terminalControl | string, <br>**Available values:** "Merchant", "FinancialInstitution" | Identifies who has operational control of the Terminal. Possible values: * `Merchant` - The terminal is controlled by merchant. * `FinancialInstitution` - The terminal is controlled by financial institutions like banks. <br>*Enum:* `"Merchant"`, `"FinancialInstitution"` | No |
| terminalAttended | string, <br>**Available values:** "Attended", "NonAttended" | Identifies whether the Terminal is attended or nonattended. Possible values: * `Attended` - This value is set in the scenario where the terminal has an attendant. * `NonAttended` - This value is set in the scenario where the terminal does not have to be attended. <br>*Enum:* `"Attended"`, `"NonAttended"` | No |

#### KernelProfileRequestV2-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### JWK Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| x | string |  | No |
| y | string |  | No |
| crv | string |  | No |
| kid | string |  | No |
| kty | string, <br>**Available values:** "EC" | *Enum:* `"EC"` | No |
| use | string, <br>**Available values:** "ENC", "SIG" | *Enum:* `"ENC"`, `"SIG"` | No |

#### kernelProfileRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### MerchantProfileUpdateRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string, **"merchantBannerName"**: string, **"merchantCategoryCode"**: string } ] |  | Yes |

#### StoreProfileUpdateRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string |  | Yes |
| state | string |  | Yes |
| country | string |  | Yes |
| zipcode | string |  | Yes |
| storeName | string |  | Yes |
| addressLine | string |  | Yes |

#### MerchantProfileUpdateRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string, **"merchantCategoryCode"**: string } ] |  | Yes |

#### MerchantProfileUpdateRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string } ] |  | Yes |

#### guidString Schema

String

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| guidString | string | String |  |

**Example**
<pre>3424bd66-1ed2-9h21-4fg6-130a14bsrb01</pre>

#### GetTerminalProfileResponseV1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileId | string |  | Yes |
| ternminalProfile | string | Base64-encoded data containing the TerminalProfile, which is generated in YAML format within KiC using the Kernel Profile Data. | Yes |

#### KernelProfileInfoCDO-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string | Identifies the Country of the Terminal. | Yes |
| currencyCode | string | Identifies the primary Currency in which the Kernel performs transactions. | Yes |
| interfaceProfileList | [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ] | Identifies List of InterfaceProfile Supported by the Kernel. | Yes |
| acceptanceEnvironmentCDO | { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" } | Identifies the AcceptanceEnvironment supported by Kernel. | No |
| merchantPrioritySvIDList | [ string ] | Indicates the Merchant's preferences (in order) among SvIDs that are supported on the Acceptance System. This elements holds List of SvIDs (other than ANY) ordered by merchant priority, the first SvID in the list having the highest priority; or empty. To support US Common Debit (Durbin), include the US Common Debit AIDs here in this list. For Visa US Common Debit AID, include A0000000980840 in this list and set the SvIDProfile as A0000000031010_USDebit.  For Mastercard US Maestro Debit AID, include A0000000042203 in this list and set the SvIDProfile also as A0000000042203. | No |

#### KernelProfileInfoCDO-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string | Identifies the Country of the Terminal.  Validation rules: * CountryCode cannot have duplicates and should be ISO 3166 compliant.  | Yes |
| currencyCode | string | Identifies the primary Currency in which the Kernel performs transactions.  Validation rules: * CurrencyCode cannot have duplicates and should be ISO 4217 compliant.  | Yes |
| storeAndForwardCDO | { **"maximumCumulativeAmount"**: string, **"maximumTransactionNumber"**: string } | Identifies Store and Forward supported by the Kernel. If Store and Forward is supported, Cumulative amount and total transaction count limits for accepting transactions while in Offline Processing (SAF) mode can be set in the Kernel Profile using this CDO, but they are optional fields. When not specified in Kernel Profile, Default values are used for processing transactions during SAF mode | No |
| interfaceProfileList | [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, <br>**Available values:** "PayByLink", **"firstGenVersionNumber"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionCategoryCode"**: string, **"additionalCurrencyCodeList"**: [ string ], **"terminalRiskManagementData"**: string, **"additionalCurrencyLimitList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ], **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA", "DDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ] | Identifies List of InterfaceProfile Supported by the Kernel. | Yes |
| acceptanceEnvironmentCDO | { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "SCA", "StatusCheck" ], **"tcTypeList"**: [ string, <br>**Available values:** "iFON" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" } | Identifies the AcceptanceEnvironment supported by Kernel.  Validation rules: * Acceptance Environment CDO should have fields and values.  | No |
| merchantPrioritySvIDList | [ string ] | Indicates the Merchant's preferences (in order) among SvIDs that are supported on the Acceptance System. This elements holds List of SvIDs (other than ANY) ordered by merchant priority, the first SvID in the list having the highest priority; or empty. To support US Common Debit (Durbin), include the US Common Debit AIDs here in this list. For Visa US Common Debit AID, include A0000000980840 in this list and set the SvIDProfile as A0000000031010_USDebit.  For Mastercard US Maestro Debit AID, include A0000000042203 in this list and set the SvIDProfile also as A0000000042203. For Discover include A00000001524010 in this list and set the SvIDProfile also as A00000001524010. | No |

#### KernelProfileInfoCDO-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string | Identifies the Country of the Terminal. | Yes |
| currencyCode | string | Identifies the primary Currency in which the Kernel performs transactions. | Yes |
| interfaceProfileList | [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ] | Identifies List of InterfaceProfile Supported by the Kernel. | Yes |
| acceptanceEnvironmentCDO | { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" } | Identifies the AcceptanceEnvironment supported by Kernel. | No |
| merchantPrioritySvIDList | [ string ] | Indicates the Merchant's preferences (in order) among SvIDs that are supported on the Acceptance System. This elements holds List of SvIDs (other than ANY) ordered by merchant priority, the first SvID in the list having the highest priority; or empty. To support US Common Debit (Durbin), include the US Common Debit AIDs here in this list. For Visa US Common Debit AID, include A0000000980840 in this list and set the SvIDProfile as A0000000031010_USDebit.  For Mastercard US Maestro Debit AID, include A0000000042203 in this list and set the SvIDProfile also as A0000000042203. | No |

#### StoreSearchRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | [ string, <br>**Available values:** "Active", "InActive" ] | Identifies the status of Stores in VAC | No |
| endDate | string | Date (yyyy-MM-dd)<br>*Example:* `"1980-02-01T00:00:00.000Z"` | No |
| startDate | string | Date (yyyy-MM-dd)<br>*Example:* `"1980-02-01T00:00:00.000Z"` | Yes |
| recordsPerPage | integer | Identifies the the numbers of records to be returned per page. Note -> VAC has default value of 200, if no limit mentioned | No |
| merchantProfileIds | [ string ] | Identifies list of MerchantProfileIds used to filter all Stores associated to the Merchants(Irrespective of Stores), Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |

#### KernelProfileInfoCDO-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string | Identifies the Country of the Terminal.  Validation rules: * CountryCode cannot have duplicates and should be ISO 3166 compliant.  | Yes |
| currencyCode | string | Identifies the primary Currency in which the Kernel performs transactions.  Validation rules: * CurrencyCode cannot have duplicates and should be ISO 4217 compliant.  | Yes |
| interfaceProfileList | [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ] | Identifies List of InterfaceProfile Supported by the Kernel. | Yes |
| acceptanceEnvironmentCDO | { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" } | Identifies the AcceptanceEnvironment supported by Kernel.  Validation rules: * Acceptance Environment CDO should have fields and values.  | No |
| merchantPrioritySvIDList | [ string ] | Indicates the Merchant's preferences (in order) among SvIDs that are supported on the Acceptance System. This elements holds List of SvIDs (other than ANY) ordered by merchant priority, the first SvID in the list having the highest priority; or empty. To support US Common Debit (Durbin), include the US Common Debit AIDs here in this list. For Visa US Common Debit AID, include A0000000980840 in this list and set the SvIDProfile as A0000000031010_USDebit.  For Mastercard US Maestro Debit AID, include A0000000042203 in this list and set the SvIDProfile also as A0000000042203. | No |

#### MerchantProfileRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string, **"merchantBannerName"**: string, **"merchantCategoryCode"**: string } ] |  | No |
| merchantProfileName | string | Unique name defined for Merchant Profile in VAC | Yes |

#### ExceptionFileCDO Schema

Identifies the list of black-listed PANs, PAN Sequence Numbers and/or PARs. Varies per SvID.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Identifies the Primary Account Number (PAN) of the card. | No |
| par | string | The Payment Account Reference (PAR) of the card. May be used in lieu of Primary Account Number (PAN) for non-payment purposes. | No |
| panSequenceNumber | string | Differentiates cards with the same PAN. | No |

#### kernelProfileRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### kernelProfileRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### MerchantProfileRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string, **"merchantCategoryCode"**: string } ] |  | No |
| merchantProfileName | string | Unique name defined for Merchant Profile in VAC | Yes |

#### TACIndicator Schema

1st Gen Terminal Action Code – Online, Varies per Transaction Type,
per SvID, Not Applicable for ContactLess InterfaceID.
Possible values:
  * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)
  * `SDAFailed` - SDA failed(Byte1bit7)
  * `ICCDataMissing` - ICC data missing(Byte1bit6)
  * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)  
  * `DDAFailed` - DDA failed(Byte1bit4)
  * `CDAFailed` - CDA failed(Byte1bit3)
  * `RFUByte1bit1` - RFU(Byte1bit1)
  * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)
  * `Expired` - Expired application(Byte2bit7)
  * `NotYetEffective` - Application not yet effective(Byte2bit6)
  * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)
  * `NewCard` - New Card(Byte2bit4)
  * `RFUByte2bit3` - RFU(Byte2bit3)
  * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)
  * `CVMUnknown` - Unrecognised CVM(Byte3bit7)
  * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)
  * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)
  * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)
  * `OnlineCVM` - OnlinePINentered(Byte3bit3)
  * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)
  * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)
  * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)
  * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)
  * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)
  * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)
  * `RFUByte4bit1` - RFU(Byte4bit1)
  * `TDOL` - Default TDOL used(Byte5bit8)
  * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)
  * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)
  * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)
  * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)
  * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3) 
  * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2) 
  * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1) 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TACIndicator | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID. Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   |  |

#### kernelProfileRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"storeAndForwardCDO"**: { **"maximumCumulativeAmount"**: string, **"maximumTransactionNumber"**: string }, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, <br>**Available values:** "PayByLink", **"firstGenVersionNumber"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionCategoryCode"**: string, **"additionalCurrencyCodeList"**: [ string ], **"terminalRiskManagementData"**: string, **"additionalCurrencyLimitList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ], **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA", "DDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "SCA", "StatusCheck" ], **"tcTypeList"**: [ string, <br>**Available values:** "iFON" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### MerchantProfileRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string } ] |  | No |
| merchantProfileName | string | Unique name defined for Merchant Profile in VAC | Yes |

#### SvIDProfileCDO-1 Schema

Identifies SvIDProfile defined for each SvID supported by the Kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| svIDProfile | string, <br>**Available values:** "PayByLink" | Identifies SvID supported by the Kernel. It indicates AID(supports single Application for a Payment System) or RID(supports multiple Application for a Payment System) or US Common Debit. Currently Visa, MasterCard, AMEX and Discover/Elo are supported.  Validation rules: * Each SvIDProfile should be supported by the Configuration Management System or should be set to ‘ANY’. * SvIDProfile per Interface cannot have duplicates. * Each SvIDProfile should be assigned to an InterfaceProfile other than ‘ANY’. * At least 1 SvIDProfile other than ‘ANY’ should be defined by InterfaceProfile other than ‘ANY’. * `PayByLink` is supported as a value for svIDProfile when InterfaceProfile is `QR`.<br>*Enum:* `"PayByLink"` | Yes |
| firstGenVersionNumber | string | Identifies the Application Version Number | No |
| transactionTypeProfileList | [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionCategoryCode"**: string, **"additionalCurrencyCodeList"**: [ string ], **"terminalRiskManagementData"**: string, **"additionalCurrencyLimitList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ], **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA", "DDA" ] } ] | Identifies List of TransactionProfile supported by the Kernel for each SvIDProfile in svIDProfileList. | No |

#### TransactionTypeProfileCDO-2 Schema

Identifies TransactionProfile defined for each TransactionType supported by the Kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvmlimit | string | Identifies the deciding amount to pick the right CV defined under cvmAtOrAboveLimitList, cvmBelowLimitList and perform CV accordingly, Not Applicable for Contact InterfaceID. Default value is 0.  Validation rules: * CVMLimit should be lower than the MaximumLimit/MaximumLimitODCVM for each combination of Interface ID / SvID / Transaction Type. * CVMLimit cannot have duplicates for each combination of Interface ID / SvID / Transaction Type.  | No |
| floorLimit | string | Identifies the reader contactless floor limit Amount for Kernel. If Amount is greater than FloorLimit, then transaction will go online. Default value is 0.  Validation rules: * FloorLimit should be lower than the MaximumLimit/MaximumLimitODCVM for each combination of Interface ID / SvID / Transaction Type. * FloorLimit or MaximumLimit per Interface, per SvID, per Transaction Type cannot have duplicates.  | No |
| maximumLimit | string | Identifies the reader contactless transaction limit Amount for Kernel. Default value will be 999999999999. | No |
| kernelOptionList | [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ] | Indicates Mastercard kernel options such as Relay Resistance, Varies per Transaction Type, per SvID.  Possible values: * `AUCBypass` - This is used to bypass AUC checks for Visa only when TransactionType is PaymentWithCashback or ManualCash. * `EMVMode` - N/A for Visa. Mandatory for Mastercard, Amex etc. * `RRP` - N/A for Visa. Supported for Mastercard.  | No |
| zeroAmountAction | string, <br>**Available values:** "Decline", "Online", "Allowed" | Identifies the action to be taken by Kernel for Zero Amount transaction.<br>*Enum:* `"Decline"`, `"Online"`, `"Allowed"` | No |
| cvmbelowLimitList | [ string ] | List of CV Method IDs selected for the transaction if the final amount of the transaction is less than the CVMLimit. List of CVM's supported MOIPIN(for Online PIN), AnyOnDeviceCVM(CDCVM for Visa and on-device CVM for Mastercard), SignatureAfterTransaction(Signature).  Validation rules: * CVMBelowLimit should not be empty when the CVMLimit is not zero, for each combination of Interface ID / SvID / Transaction Type. * CVMBelowLimit per Interface, per SvID, per Transaction Type cannot have duplicates and contains valid CV Method Identifiers.  | No |
| maximumLimitODCVM | string | Identifies the reader contactless transaction limit(On-Device CVM) Amount for Kernel. Applicable for Mastercard only.  If not provided the default value will be set to maximumLimit value.  Validation rules: * MaximumLimitODCVM per Interface, per SvID, per Transaction Type cannot have duplicates.  | No |
| cvmatOrAboveLimitList | [ string ] | List of CV Method IDs selected for the transaction if the final amount of the transaction is greater than or equal to CVMLimit. List of CVM's supported MOIPIN(for Online PIN), AnyOnDeviceCVM(CDCVM for Visa and on-device CVM for Mastercard), SignatureAfterTransaction(Signature).  For Visa, "NoCVM" should not be included in this list and the CVM list in the CVMAtOrAboveLimitList should match the CVMBelowLimitList.  For Mastercard, "NoCVM" can be included in this list and the CVM in the CVMAtOrAboveLimitList need not match the CVMBelowLimitList.  Validation rules: * CVMAboveLimit should not be empty and cannot have duplicates for each combination of Interface ID / SvID / Transaction Type. * CVMAboveLimit should contain valid CV Method Identifiers.  | No |
| tacdenialIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| taconlineIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| transactionTypeProfile | string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY" | Identifies TransactionType supported by the Kernel for defined InterfaceID and SvID.  Validation rules: * Each TransactionProfile should be supported by the Configuration Management System or should be set to ‘ANY’. * TransactionProfile per InterfaceProfile, per SvIDProfile cannot have duplicates. * Each TransactionProfile should be assigned to a SvID other than ‘ANY’ and an InterfaceProfile other than ‘ANY’. * At least 1 TransactionProfile other than ‘ANY’ should be defined by SvIDProfile other than ‘ANY’ and by InterfaceProfile other than ‘ANY’. * Each combination of InterfaceProfile / SvIDProfile / TransactionProfile should be unique. <br>*Enum:* `"Payment"`, `"PaymentWithCashback"`, `"Refund"`, `"Cash"`, `"CashBack"`, `"ANY"` | Yes |
| tacdefaultIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| transactionCategoryCode | string | Single alphabetic character defined by Mastercard | No |
| terminalRiskManagementData | string | Application-specific value used by the cardholder device for risk management purposes. | No |
| offlineOnlineCapabilityList | [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ] | Indicates based on the transaction characteristics, the offline/online capabilities for the product on this transaction. Allows for specific offline/online configuration per product, varies per Transaction Type, SvID, and Interface ID.  Validation rules: * Offline Online Capability List should include either 'Online' or 'DeferredOnline' (but not both) for each combination of Interface ID / SvID / Transaction Type. * Offline Online Capability List per Interface, per SvID, per Transaction Type cannot have duplicates. * Offline Online Capability List should include 'Online' or 'DeferredOnline' when FloorLimit is zero, for each combination of Interface ID / SvID / Transaction Type. * At least 1 Offline Online Capability List other than ‘ANY’ should be defined by Transaction Type other than ‘ANY’. * Offline Online Capability List should include 'Offline' when FloorLimit is not zero, for each combination of Interface ID / SvID / Transaction Type. * Offline Online Capability List should include 'Offline' and 'Online' (or 'DeferredOnline') when FloorLimit is not zero and lower than MaximumLimit/MaximumLimitODCVM, for each combination of Interface ID / SvID / Transaction Type.  | No |
| additionalPaymentServiceList | [ string, <br>**Available values:** "Cashback", "Tip" ] | Additional Payment Services to be supported by Kernel | No |
| applicationSelectionIndicator | string, <br>**Available values:** "Partial", "Full" | Indicates whether the SvID matching rule must be an exact (full) or partial match and varies per Interface ID and SvID.  Possible values: * `Partial` - This is to indicate whether to do a Partial match of the AID from card to the SvID defined in the kernelProfile. Default is Partial. * `Full` - This is to indicate whether to do a Full match of the AID from card to the SvID defined in the kernelProfile. <br>*Enum:* `"Partial"`, `"Full"` | No |
| offlineDataAuthenticationList | [ string, <br>**Available values:** "CDA" ] | Offline Data Authentication List, varies per Transaction Type, per SvID.  Possible values: * `CDA` - Indicates Combined Data Authentication which consists of a dynamic signature generated by the ICC (similar to DDA   but including Application Cryptogram (AC) generation) followed by   verification of the signature by the terminal.  | No |

#### StoreSearchRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | [ string, <br>**Available values:** "Active", "InActive" ] | Identifies the status of Stores in VAC | No |
| endDate | dateTime | A date or date with GMT time. If only date is provided, the time will default to 00:00:00. | No |
| startDate | dateTime | A date or date with GMT time. If only date is provided, the time will default to 00:00:00. | Yes |
| recordsPerPage | integer | Identifies the the numbers of records to be returned per page. Note -> VAC has default value of 200, if no limit mentioned | No |
| merchantProfileIds | [ string ] | Identifies list of MerchantProfileIds used to filter all Stores associated to the Merchants(Irrespective of Stores), Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |

#### TransactionTypeProfileCDO-1 Schema

Identifies TransactionProfile defined for each TransactionType supported by the Kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvmlimit | string | Identifies the deciding amount to pick the right CV defined under cvmAtOrAboveLimitList, cvmBelowLimitList and perform CV accordingly, Not Applicable for Contact InterfaceID. Default value is 0.  Validation rules: * CVMLimit should be lower than the MaximumLimit/MaximumLimitODCVM for each combination of Interface ID / SvID / Transaction Type. * CVMLimit cannot have duplicates for each combination of Interface ID / SvID / Transaction Type.  | Yes |
| floorLimit | string | Identifies the reader contactless floor limit Amount for Kernel. If Amount is greater than FloorLimit, then transaction will go online. Default value is 0.  Validation rules: * FloorLimit should be lower than the MaximumLimit/MaximumLimitODCVM for each combination of Interface ID / SvID / Transaction Type. * FloorLimit or MaximumLimit per Interface, per SvID, per Transaction Type cannot have duplicates.  | No |
| maximumLimit | string | Identifies the reader contactless transaction limit Amount for Kernel. Default value will be 999999999999. | No |
| kernelOptionList | [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ] | Indicates Mastercard kernel options such as Relay Resistance, Varies per Transaction Type, per SvID.  Possible values: * `AUCBypass` - This is used to bypass AUC checks for Visa only when TransactionType is PaymentWithCashback or ManualCash. * `EMVMode` - N/A for Visa. Mandatory for Mastercard, Amex etc. * `RRP` - N/A for Visa. Supported for Mastercard. * `TearingRecovery` - Mandatory for Discover.  | No |
| zeroAmountAction | string, <br>**Available values:** "Decline", "Online", "Allowed" | Identifies the action to be taken by Kernel for Zero Amount transaction.<br>*Enum:* `"Decline"`, `"Online"`, `"Allowed"` | No |
| cvmbelowLimitList | [ string ] | List of CV Method IDs selected for the transaction if the final amount of the transaction is less than the CVMLimit. List of CVM's supported MOIPIN(for Online PIN), AnyOnDeviceCVM(CDCVM for Visa and on-device CVM for Mastercard), SignatureAfterTransaction(Signature).  Validation rules: * CVMBelowLimit should not be empty when the CVMLimit is not zero, for each combination of Interface ID / SvID / Transaction Type. * CVMBelowLimit per Interface, per SvID, per Transaction Type cannot have duplicates and contains valid CV Method Identifiers.  | Yes |
| maximumLimitODCVM | string | Identifies the reader contactless transaction limit(On-Device CVM) Amount for Kernel. Applicable for Mastercard only.  If not provided the default value will be set to maximumLimit value.  Validation rules: * MaximumLimitODCVM per Interface, per SvID, per Transaction Type cannot have duplicates.  | No |
| cvmatOrAboveLimitList | [ string ] | List of CV Method IDs selected for the transaction if the final amount of the transaction is greater than or equal to CVMLimit. List of CVM's supported MOIPIN(for Online PIN), AnyOnDeviceCVM(CDCVM for Visa and on-device CVM for Mastercard), SignatureAfterTransaction(Signature).  For Visa, "NoCVM" should not be included in this list and the CVM list in the CVMAtOrAboveLimitList should match the CVMBelowLimitList.  For Mastercard, "NoCVM" can be included in this list and the CVM in the CVMAtOrAboveLimitList need not match the CVMBelowLimitList.  Validation rules: * CVMAboveLimit should not be empty and cannot have duplicates for each combination of Interface ID / SvID / Transaction Type. * CVMAboveLimit should contain valid CV Method Identifiers.  | Yes |
| tacdenialIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| taconlineIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| transactionTypeProfile | string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY" | Identifies TransactionType supported by the Kernel for defined InterfaceID and SvID.When supporting SAF mode, Service Providers will need to specify supported transaction types for offline mode in Kernel Profile. Currently only 2 Transaction Types are allowed for offline mode (“SAFPayment” and “SAFRefund”).Each SAF Transaction Type can be configured for specific CVM limits, Contactless Transaction limits, Data Authentication methods and CV methods.  Validation rules: * Each TransactionProfile should be supported by the Configuration Management System or should be set to ‘ANY’. * TransactionProfile per InterfaceProfile, per SvIDProfile cannot have duplicates. * Each TransactionProfile should be assigned to a SvIDProfile other than ‘ANY’ and an InterfaceProfile other than ‘ANY’. * At least 1 TransactionProfile other than ‘ANY’ should be defined by SvIDProfile other than ‘ANY’ and by InterfaceProfile other than ‘ANY’. * Each combination of InterfaceProfile / SvIDProfile / TransactionProfile should be unique. <br>*Enum:* `"Payment"`, `"PaymentWithCashback"`, `"Refund"`, `"SAFPayment"`, `"SAFRefund"`, `"ANY"` | Yes |
| tacdefaultIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID.  Validation rules: * Should contain valid Terminal Action Codes.   Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| transactionCategoryCode | string | Single alphabetic character defined by Mastercard | No |
| additionalCurrencyCodeList | [ string ] | List of additional currency codes that need to be supported. At present, this feature is implemented only for ANY, ANY, ANY and applies to all SvIDs. If AdditionalCurrencyCodeList is specified with a particular SvID, the kernel profile will be generated successfully, but this setting will be ignored. | No |
| terminalRiskManagementData | string | Application-specific value used by the cardholder device for risk management purposes. | No |
| additionalCurrencyLimitList | [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ] | This is used to define the limits for List of additional currency codes that need to be supported. At present, this feature is implemented only for ‘ANY’, ‘ANY’, ‘ANY’ and applies to all SvIDs. If AdditionalCurrencyCodeList is specified with a particular SvID, the kernel profile will be generated successfully, but this setting will be ignored. For the default currency, limits can be specified per SvID, but for AdditionalCurrencyCodeList, it is a single limit for all SvIDs. | No |
| offlineOnlineCapabilityList | [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ] | Indicates based on the transaction characteristics, the offline/online capabilities for the product on this transaction. Allows for specific offline/online configuration per product, varies per Transaction Type, SvID, and Interface ID.  Validation rules: * Offline Online Capability List should include either 'Online' or 'DeferredOnline' (but not both) for each combination of Interface ID / SvID / Transaction Type. * Offline Online Capability List per Interface, per SvID, per Transaction Type cannot have duplicates. * Offline Online Capability List should include 'Online' or 'DeferredOnline' when FloorLimit is zero, for each combination of Interface ID / SvID / Transaction Type. * At least 1 Offline Online Capability List other than ‘ANY’ should be defined by Transaction Type other than ‘ANY’. * Offline Online Capability List should include 'Offline' when FloorLimit is not zero, for each combination of Interface ID / SvID / Transaction Type. * Offline Online Capability List should include 'Offline' and 'Online' (or 'DeferredOnline') when FloorLimit is not zero and lower than MaximumLimit/MaximumLimitODCVM, for each combination of Interface ID / SvID / Transaction Type.  | No |
| additionalPaymentServiceList | [ string, <br>**Available values:** "Cashback", "Tip" ] | Additional Payment Services to be supported by Kernel | No |
| applicationSelectionIndicator | string, <br>**Available values:** "Partial", "Full" | Indicates whether the SvID matching rule must be an exact (full) or partial match and varies per Interface ID and SvID.  Possible values: * `Partial` - This is to indicate whether to do a Partial match of the AID from card to the SvID defined in the kernelProfile. Default is Partial. * `Full` - This is to indicate whether to do a Full match of the AID from card to the SvID defined in the kernelProfile. <br>*Enum:* `"Partial"`, `"Full"` | No |
| offlineDataAuthenticationList | [ string, <br>**Available values:** "CDA", "DDA" ] | Offline Data Authentication List, varies per Transaction Type, per SvID.  Possible values: * `CDA` - Indicates Combined Data Authentication which consists of a dynamic signature generated by the ICC (similar to DDA   but including Application Cryptogram (AC) generation) followed by   verification of the signature by the terminal. * `DDA` - Indicates Dynamic Data Authentication which consists of a dynamic signature generated by the ICC  Optional for AMEX  | No |

#### CurrencyLimitCDO Schema

Identifies the the list of limits defined by supported currencies and supported by the kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvmlimit | string |  | No |
| floorLimit | string |  | No |
| currencyCode | string |  | No |
| maximumLimit | string |  | No |
| maximumLimitODCVM | string |  | No |

#### InterfaceProfileCDO Schema

Identifies InterfaceProfile defined for each InterfaceID.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| svIDProfileList | [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ] | Identifies List of SvIDProfileCDO supported by Kernel for each InterfaceId in InterfaceProfileList. | Yes |
| interfaceProfile | string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" | Identifies InterfaceID supported by Kernel. Possible values: * `ANY` - To support all interface types to perform transaction. * `Contact` - For Contact interface type to perform transaction. * `Contactless` - For Contactless interface type to perform transaction, for prod only Contactless is supported. * `QR` - For QR interface type to perform transaction. <br>*Enum:* `"ANY"`, `"Contact"`, `"Contactless"`, `"QR"` | Yes |

#### TransactionTypeProfileCDO Schema

Identifies TransactionProfile defined for each TransactionType supported by the Kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cvmlimit | string | Identifies the deciding amount to pick the right CV defined under cvmAtOrAboveLimitList, cvmBelowLimitList and perform CV accordingly, Not Applicable for Contact InterfaceID. Default value is 0. | No |
| floorLimit | string | Identifies the reader contactless floor limit Amount for Kernel. If Amount is greater than FloorLimit, then transaction will go online. Default value is 0. | No |
| maximumLimit | string | Identifies the reader contactless transaction limit Amount for Kernel. Default value will be 999999999999. | No |
| kernelOptionList | [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ] | Indicates Mastercard kernel options such as Relay Resistance, Varies per Transaction Type, per SvID. Possible values: * `AUCBypass` - This is used to bypass AUC checks for Visa only when TransactionType is PaymentWithCashback or ManualCash. * `EMVMode` - N/A for Visa. Mandatory for Mastercard, Amex etc. * `RRP` - N/A for Visa. Supported for Mastercard.  | No |
| zeroAmountAction | string, <br>**Available values:** "Decline", "Online", "Allowed" | Identifies the action to be taken by Kernel for Zero Amount transaction.<br>*Enum:* `"Decline"`, `"Online"`, `"Allowed"` | No |
| cvmbelowLimitList | [ string ] | List of CV Method IDs selected for the transaction if the final amount of the transaction is less than the CVMLimit. List of CVM's supported MOIPIN(for Online PIN), AnyOnDeviceCVM(CDCVM for Visa and on-device CVM for Mastercard), SignatureAfterTransaction(Signature).  | No |
| maximumLimitODCVM | string | Identifies the reader contactless transaction limit(On-Device CVM) Amount for Kernel. Applicable for Mastercard only.  If not provided the default value will be set to maximumLimit value. | No |
| cvmatOrAboveLimitList | [ string ] | List of CV Method IDs selected for the transaction if the final amount of the transaction is greater than or equal to CVMLimit. List of CVM's supported MOIPIN(for Online PIN), AnyOnDeviceCVM(CDCVM for Visa and on-device CVM for Mastercard), SignatureAfterTransaction(Signature).  For Visa, "NoCVM" should not be included in this list and the CVM list in the CVMAtOrAboveLimitList should match the CVMBelowLimitList.  For Mastercard, "NoCVM" can be included in this list and the CVM in the CVMAtOrAboveLimitList need not match the CVMBelowLimitList. | No |
| tacdenialIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID. Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| taconlineIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID. Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| transactionTypeProfile | string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY" | Identifies TransactionType supported by the Kernel for defined InterfaceID and SvID.<br>*Enum:* `"Payment"`, `"PaymentWithCashback"`, `"Refund"`, `"Cash"`, `"CashBack"`, `"ANY"` | Yes |
| tacdefaultIndicatorList | [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ] | 1st Gen Terminal Action Code – Online, Varies per Transaction Type, per SvID, Not Applicable for ContactLess InterfaceID. Possible values:   * `ODANotPerformed` - Offline data authentication was not performed(Byte1bit8)   * `SDAFailed` - SDA failed(Byte1bit7)   * `ICCDataMissing` - ICC data missing(Byte1bit6)   * `ExceptionFile` - Card appears on terminal exception file(Byte1bit5)     * `DDAFailed` - DDA failed(Byte1bit4)   * `CDAFailed` - CDA failed(Byte1bit3)   * `RFUByte1bit1` - RFU(Byte1bit1)   * `VersionMismatch` - ICC and terminal have different application versions(Byte2bit8)   * `Expired` - Expired application(Byte2bit7)   * `NotYetEffective` - Application not yet effective(Byte2bit6)   * `ServiceNotAllowed` - Requested service not allowed for card product(Byte2bit5)   * `NewCard` - New Card(Byte2bit4)   * `RFUByte2bit3` - RFU(Byte2bit3)   * `CVNotSuccessful` - Cardholder verification was not successful(Byte3bit8)   * `CVMUnknown` - Unrecognised CVM(Byte3bit7)   * `PINTryExeceeded` - PIN Try Limit exceeded(Byte3bit6)   * `PEDMalfunction` - PIN entry required and PIN pad not present or not working(Byte3bit5)   * `PINBypassed` - PIN entry required, PIN pad present, but PIN was not entered(Byte3bit4)   * `OnlineCVM` - OnlinePINentered(Byte3bit3)   * `BEDMalfunction/RFUByte3bit2` - RFU(Byte3bit2)   * `FloorLimitExceeded` - Transaction exceeds floor limit(Byte4bit8)   * `LCOLExceeded` - Lower consecutive offline limit exceeded(Byte4bit7)   * `UCOLExceeded` - Upper consecutive offline limit exceeded(Byte4bit6)   * `RandomOnline` - Transaction  selected randomly for online processing(Byte4bit5)   * `ForcedOnline` - Merchant forced transaction online(Byte4bit4)   * `RFUByte4bit1` - RFU(Byte4bit1)   * `TDOL` - Default TDOL used(Byte5bit8)   * `IssuerAuthenticationFailed` - Issuer authentication failed(Byte5bit7)   * `ScriptFailureBeforeGenAC` - Script processing failed before final GENERATE AC(Byte5bit6)   * `ScriptFailureAfterGenAC` - Script processing failed after final GENERATE AC(Byte5bit5)   * `RRPThresholdExceeded/RFUByte5bit4` - RRPThresholdExceeded apply to Mastercard only. RFU(Byte5bit4)   * `RRPTimeExceeded/RFUByte5bit3` - RRPTimeExceeded apply to Mastercard only. RFU(Byte5bit3)    * `RRPPerformed/RFUByte5bit2` - RRPPerformed apply to Mastercard only. RFU(Byte5bit2)    * `RRPNotPerformed/RFUByte5bit1` - RRPNotPerformed apply to Mastercard only. RFU(Byte5bit1)   | No |
| transactionCategoryCode | string | Single alphabetic character defined by Mastercard | No |
| terminalRiskManagementData | string | Application-specific value used by the cardholder device for risk management purposes. | No |
| offlineOnlineCapabilityList | [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ] | Indicates based on the transaction characteristics, the offline/online capabilities for the product on this transaction. Allows for specific offline/online configuration per product, varies per Transaction Type, SvID, and Interface ID. | No |
| additionalPaymentServiceList | [ string, <br>**Available values:** "Cashback", "Tip" ] | Additional Payment Services to be supported by Kernel | No |
| applicationSelectionIndicator | string, <br>**Available values:** "Partial", "Full" | Indicates whether the SvID matching rule must be an exact (full) or partial match and varies per Interface ID and SvID. Possible values: * `Partial` - This is to indicate whether to do a Partial match of the AID from card to the SvID defined in the kernelProfile. Default is Partial. * `Full` - This is to indicate whether to do a Full match of the AID from card to the SvID defined in the kernelProfile. <br>*Enum:* `"Partial"`, `"Full"` | No |
| offlineDataAuthenticationList | [ string, <br>**Available values:** "CDA" ] | Offline Data Authentication List, varies per Transaction Type, per SvID. Possible values: * `CDA` - Indicates Combined Data Authentication which consists of a dynamic signature generated by the ICC (similar to DDA   but including Application Cryptogram (AC) generation) followed by   verification of the signature by the terminal.  | No |

#### KernelTerminalMapping Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileId | string |  | Yes |
| ternminalProfileId | string | This field is an Apple-generated ID, created in Apple Business Registry after the Service Providers upload the terminal profile YAML generated by KiC. | Yes |

#### SvIDProfileCDO-2 Schema

Identifies SvIDProfile defined for each SvID supported by the Kernel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| svIDProfile | string | Identifies SvID supported by the Kernel. It indicates AID(supports single Application for a Payment System) or RID(supports multiple Application for a Payment System) or US Common Debit. Currently MasterCard and Visa are supported.  Validation rules: * Each SvIDProfile should be supported by the Configuration Management System or should be set to ‘ANY’. * SvIDProfile per InterfaceProfile cannot have duplicates. * Each SvIDProfile should be assigned to an InterfaceProfile other than ‘ANY’. * At least 1 SvIDProfile other than ‘ANY’ should be defined by InterfaceProfile other than ‘ANY’.  | Yes |
| transactionTypeProfileList | [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] | Identifies List of TransactionProfile supported by the Kernel for each SvIDProfile in svIDProfileList. | No |

#### DeviceSearchRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | [ string, <br>**Available values:** "Active", "Disabled", "Deleted" ] | Identifies the status of device to be filtered by. | No |
| endDate | string | Date (yyyy-MM-dd)<br>*Example:* `"1980-02-01T00:00:00.000Z"` | No |
| startDate | string | Date (yyyy-MM-dd)<br>*Example:* `"1980-02-01T00:00:00.000Z"` | Yes |
| recordsPerPage | integer | Identifies the the numbers of records to be returned per page, Note -> VAC has default value of 200, if no limit mentioned | No |
| storeProfileIds | [ string ] | Identifies list of StoreProfileIds used to filter all Devices associated to the Stores, Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |
| kernelProfileIds | [ string ] | Identifies list of KernelProfileId used to filter all Devices associated to the Kernel Profiles, Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |
| merchantProfileIds | [ string ] | Identifies list of MerchantProfileIds used to filter all Devices associated to the Merchants(Irrespective of Stores), Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |

#### DeviceEnrollmentManageRequestV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| action | string, <br>**Available values:** "disable", "enable", "delete" | Indicates the action to be performed on VacDeviceId sent in Path           Possible values: * `disable` - This actionCode disables the device in VAC, and can be enabled again to continuing using the device. * `enable` - This actionCode enables the device that was disabled in VAC. * `delete` - This actionCode deletes the device in VAC and cannot be recovered. Note: To re-use the same Device, One should re-enroll it with new deviceinfo.id(TerminalId), Please be sure before deleting the device. <br>*Enum:* `"disable"`, `"enable"`, `"delete"` | Yes |

#### MerchantProfileRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string, **"merchantCategoryCode"**: string } ] |  | No |
| merchantProfileName | string | Unique name defined for Merchant Profile in VAC | Yes |

#### DeviceSearchRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | [ string, <br>**Available values:** "Active", "Disabled", "Deleted" ] | Identifies the status of device to be filtered by. | No |
| endDate | dateTime | A date or date with GMT time. If only date is provided, the time will default to 00:00:00. | No |
| startDate | dateTime | A date or date with GMT time. If only date is provided, the time will default to 00:00:00. | Yes |
| recordsPerPage | integer | Identifies the the numbers of records to be returned per page, Note -> VAC has default value of 200, if no limit mentioned | No |
| storeProfileIds | [ string ] | Identifies list of StoreProfileIds used to filter all Devices associated to the Stores, Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |
| kernelProfileIds | [ string ] | Identifies list of KernelProfileId used to filter all Devices associated to the Kernel Profiles, Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |
| merchantProfileIds | [ string ] | Identifies list of MerchantProfileIds used to filter all Devices associated to the Merchants(Irrespective of Stores), Length should be 36 and match ^[a-zA-Z0-9-]*$ Pattern | No |

#### StoreProfileRequestBO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string |  | No |
| state | string |  | No |
| country | string |  | No |
| clientId | string |  | No |
| storeName | string |  | No |
| postalCode | string |  | No |
| addressLine | string |  | No |
| storeProfileId | string |  | No |
| storeProfileName | string |  | No |
| merchantProfileId | string |  | No |

#### AcceptanceEnvironmentCDO-1 Schema

Identifies the AcceptanceEnvironment supported by Kernel.

Validation rules:
* Acceptance Environment CDO should have fields and values.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| usageList | [ string, <br>**Available values:** "PartialApproval", "SCA", "StatusCheck" ] | Identifies the list usage of the Terminal.  Possible values: * `PartialApproval` - This value is set if Acquirer wants to support Partial Approve. * `StatusCheck` - This value is set if Merchant/Acquirer wants to support Pre-Authorization(transaction with amount equal to 1). * `SCA` - Strong Consumer Authentication L3 requirements  | No |
| tcTypeList | [ string, <br>**Available values:** "iFON" ] | Identifies the list of Thin Client Type Supported by Kernel.  Possible values: * `iFON` - Set this value in Kernel Profile if the profile is used to enroll iOS Devices. NOTE: Do not use this profile to enroll Andriod Devices.  | No |
| terminalControl | string, <br>**Available values:** "Merchant", "FinancialInstitution" | Identifies who has operational control of the Terminal.  Possible values: * `Merchant` - The terminal is controlled by merchant. * `FinancialInstitution` - The terminal is controlled by financial institutions like banks. <br>*Enum:* `"Merchant"`, `"FinancialInstitution"` | No |
| terminalAttended | string, <br>**Available values:** "Attended", "NonAttended" | Identifies whether the Terminal is attended or nonattended.  Possible values: * `Attended` - This value is set in the scenario where the terminal has an attendant. * `NonAttended` - This value is set in the scenario where the terminal does not have to be attended. <br>*Enum:* `"Attended"`, `"NonAttended"` | No |

#### AcceptanceEnvironmentCDO-2 Schema

Identifies the AcceptanceEnvironment supported by Kernel.

Validation rules:
* Acceptance Environment CDO should have fields and values.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| usageList | [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ] | Identifies the list usage of the Terminal.  Possible values: * `PartialApproval` - This value is set if Acquirer wants to support Partial Approve. * `StatusCheck` - This value is set if Merchant/Acquirer wants to support Pre-Authorization(transaction with amount equal to 1).  | No |
| terminalControl | string, <br>**Available values:** "Merchant", "FinancialInstitution" | Identifies who has operational control of the Terminal.  Possible values: * `Merchant` - The terminal is controlled by merchant. * `FinancialInstitution` - The terminal is controlled by financial institutions like banks. <br>*Enum:* `"Merchant"`, `"FinancialInstitution"` | No |
| terminalAttended | string, <br>**Available values:** "Attended", "NonAttended" | Identifies whether the Terminal is attended or nonattended.  Possible values: * `Attended` - This value is set in the scenario where the terminal has an attendant. * `NonAttended` - This value is set in the scenario where the terminal does not have to be attended. <br>*Enum:* `"Attended"`, `"NonAttended"` | No |

#### StoreProfileCreateRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string |  | Yes |
| state | string |  | No |
| country | string |  | Yes |
| zipcode | string |  | Yes |
| storeName | string |  | Yes |
| addressLine | string |  | No |
| storeProfileName | string |  | Yes |

#### KernelProfileUpdateRequestV2-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |

#### KernelProfileUpdateRequestV2-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |

#### KernelProfileUpdateRequestV2-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"storeAndForwardCDO"**: { **"maximumCumulativeAmount"**: string, **"maximumTransactionNumber"**: string }, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, <br>**Available values:** "PayByLink", **"firstGenVersionNumber"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP", "TearingRecovery" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "SAFPayment", "SAFRefund", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1" ], **"transactionCategoryCode"**: string, **"additionalCurrencyCodeList"**: [ string ], **"terminalRiskManagementData"**: string, **"additionalCurrencyLimitList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"currencyCode"**: string, **"maximumLimit"**: string, **"maximumLimitODCVM"**: string } ], **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA", "DDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "SCA", "StatusCheck" ], **"tcTypeList"**: [ string, <br>**Available values:** "iFON" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |

#### KernelProfileUpdateRequestV2-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |

#### RoutingConfig-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| processor | string | Acquirer/PSP Payment Gateway to which VAC calls for transaction Authorization | Yes |
| merchantId | string | Merchant Identifier recognised by Acquirer/PSP Payment Gateway | Yes |
| merchantBannerName | string | The `MerchantBannerName` field is `required` and must be provided by the merchant when the device is `Apple`.   This field is used to display the merchant banner in the Apple Pay UI. | No |
| merchantCategoryCode | string | MerchantCategoryCode : Refer to https://usa.visa.com/content/dam/VCOM/download/merchants/visa-merchant-data-standards-manual.pdf | Yes |

#### RoutingConfig-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| processor | string | Acquirer/PSP Payment Gateway to which VAC calls for transaction Authorization | Yes |
| merchantId | string | Merchant Identifier recognised by Acquirer/PSP Payment Gateway | Yes |

#### RoutingConfig-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| processor | string | Acquirer/PSP Payment Gateway to which VAC calls for transaction Authorization | Yes |
| merchantId | string | Merchant Identifier recognised by Acquirer/PSP Payment Gateway | Yes |
| merchantCategoryCode | string | MerchantCategoryCode : Refer to https://usa.visa.com/content/dam/VCOM/download/merchants/visa-merchant-data-standards-manual.pdf | No |

#### DeviceDataList Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| devices | [ string ] | No more than 200 Devices in a single Request | Yes |
| instruction | string, <br>**Available values:** "All", "AvailableOnly" | Instruction indicates the action to be performed on the DeviceList          Possible values: * `All` - This action will instruct VAC to consider the all devices sent in Request to update, If Unknown/Deleted/Disabled devices found in request, API Errors out. * `AvailableOnly` - This action will instruct VAC to ignore any Unknown/Deleted/Disabled devices and update only the available devices. <br>*Enum:* `"All"`, `"AvailableOnly"` | Yes |

#### kernelProfileRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### TerminalProfileMappingRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelTerminalMappingList | [ { **"kernelProfileId"**: string, **"ternminalProfileId"**: string } ] |  | Yes |

#### KernelProfileUpdateRequestV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |

#### ListDeviceObject Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Status of Device/Store in VAC. | No |
| vacDeviceId | string | VAC Device Id | No |
| storeProfileId | string | Store profile Id associated to VAC Device/Merchant. | No |
| kernelProfileId | string | Kernel profile Id associated to VAC Device. | No |
| merchantProfile | string | Merchant profile Id to which the VAC Device belongs to. | No |
| statusChangeDateTime | string | Date on which the Status of Device/Store in VAC changed. | No |

#### MerchantProfileUpdateRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| routingConfig | [ { **"processor"**: string, **"merchantId"**: string, **"merchantCategoryCode"**: string } ] |  | Yes |

#### CAPublicKeyCDO Schema

Identifies the list of Public Keys of Payment System.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| psid | string |  | No |
| index | [ byte ] |  | No |

#### RoutingConfig Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| processor | string | Acquirer/PSP Payment Gateway to which VAC calls for transaction Authorization | Yes |
| merchantId | string | Merchant Identifier recognised by Acquirer/PSP Payment Gateway | Yes |
| merchantCategoryCode | string | MerchantCategoryCode : Refer to https://usa.visa.com/content/dam/VCOM/download/merchants/visa-merchant-data-standards-manual.pdf | Yes |

#### StoreProfileUpdateRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string |  | Yes |
| state | string |  | No |
| country | string |  | Yes |
| zipcode | string |  | Yes |
| storeName | string |  | Yes |
| addressLine | string |  | No |

#### Date Schema

Date (yyyy-MM-dd)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Date | string | Date (yyyy-MM-dd) |  |

**Example**
<pre>1980-02-01T00:00:00.000Z</pre>

#### ErrorResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | The short description of the error. | No |
| status | integer | 3 digit http status code<br>*Example:* `400` | No |
| details | [ { **"message"**: string, **"location"**: string } ] |  | No |
| message | string | The long description of the error | No |

#### StoreProfileResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| storeProfileId | string | UniqueId generated in VAC against the Merchant Profile | Yes |

#### KernelProfileRequestV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| kernelProfileInfo | { **"countryCode"**: string, **"currencyCode"**: string, **"interfaceProfileList"**: [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ], **"acceptanceEnvironmentCDO"**: { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" }, **"merchantPrioritySvIDList"**: [ string ] } |  | Yes |
| kernelProfileName | string | Identifies the name defined for the KernelConfig by Providers and should be unique. | Yes |

#### ListStoreObject Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string | Status of Device/Store in VAC. | No |
| storeProfileId | string | Store profile Id associated to VAC Device/Merchant. | No |
| statusChangeDateTime | string | Date on which the Status of Device/Store in VAC changed. | No |

#### DeviceEnrollmentRequestV2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| deviceInfo | { **"id"**: string, **"model"**: string, **"osType"**: string, **"manufacturer"**: string } |  | Yes |
| storeProfileId | string | Store associated to this Device. | Yes |
| kernelProfileId | string | KernelConfiguration to be used by device for transaction processing | Yes |
| cryptographicKeys | { **"deviceCerts"**: [ string ], **"serviceKeys"**: [ { **"keyFun"**: string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT", **"keyRef"**: { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" } } ] } | Keys used by VAC for Enrollment/Authentication | Yes |

#### KernelProfileInfoCDO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string | Identifies the Country of the Terminal. | Yes |
| currencyCode | string | Identifies the primary Currency in which the Kernel performs transactions. | Yes |
| interfaceProfileList | [ { **"svIDProfileList"**: [ { **"svIDProfile"**: string, **"transactionTypeProfileList"**: [ { **"cvmlimit"**: string, **"floorLimit"**: string, **"maximumLimit"**: string, **"kernelOptionList"**: [ string, <br>**Available values:** "AUCBypass", "EMVMode", "RRP" ], **"zeroAmountAction"**: string, <br>**Available values:** "Decline", "Online", "Allowed", **"cvmbelowLimitList"**: [ string ], **"maximumLimitODCVM"**: string, **"cvmatOrAboveLimitList"**: [ string ], **"tacdenialIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"taconlineIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionTypeProfile"**: string, <br>**Available values:** "Payment", "PaymentWithCashback", "Refund", "Cash", "CashBack", "ANY", **"tacdefaultIndicatorList"**: [ string, <br>**Available values:** "ODANotPerformed", "SDAFailed", "ICCDataMissing", "ExceptionFile", "DDAFailed", "CDAFailed", "RFUByte1bit1", "VersionMismatch", "Expired", "NotYetEffective", "ServiceNotAllowed", "NewCard", "RFUByte2bit3", "CVNotSuccessful", "CVMUnknown", "PINTryExeceeded", "PEDMalfunction", "PINBypassed", "OnlineCVM", "BEDMalfunction/RFUByte3bit2", "FloorLimitExceeded", "LCOLExceeded", "UCOLExceeded", "RandomOnline", "ForcedOnline", "RFUByte4bit1", "TDOL", "IssuerAuthenticationFailed", "ScriptFailureBeforeGenAC", "ScriptFailureAfterGenAC", "RRPThresholdExceeded/RFUByte5bit4", "RRPTimeExceeded/RFUByte5bit3", "RRPPerformed/RFUByte5bit2", "RRPNotPerformed/RFUByte5bit1", "RRPNotSupported" ], **"transactionCategoryCode"**: string, **"terminalRiskManagementData"**: string, **"offlineOnlineCapabilityList"**: [ string, <br>**Available values:** "DeferredOnline", "Offline", "Online" ], **"additionalPaymentServiceList"**: [ string, <br>**Available values:** "Cashback", "Tip" ], **"applicationSelectionIndicator"**: string, <br>**Available values:** "Partial", "Full", **"offlineDataAuthenticationList"**: [ string, <br>**Available values:** "CDA" ] } ] } ], **"interfaceProfile"**: string, <br>**Available values:** "ANY", "Contact", "Contactless", "QR" } ] | Identifies List of InterfaceProfile Supported by the Kernel. | Yes |
| acceptanceEnvironmentCDO | { **"usageList"**: [ string, <br>**Available values:** "PartialApproval", "StatusCheck" ], **"terminalControl"**: string, <br>**Available values:** "Merchant", "FinancialInstitution", **"terminalAttended"**: string, <br>**Available values:** "Attended", "NonAttended" } | Identifies the AcceptanceEnvironment supported by Kernel. | No |
| merchantPrioritySvIDList | [ string ] | Indicates the Merchant's preferences (in order) among SvIDs that are supported on the Acceptance System. This elements holds List of SvIDs (other than ANY) ordered by merchant priority, the first SvID in the list having the highest priority; or empty. To support US Common Debit (Durbin), include the US Common Debit AIDs here in this list. For Visa US Common Debit AID, include A0000000980840 in this list and set the SvIDProfile as A0000000031010_USDebit.  For Mastercard US Maestro Debit AID, include A0000000042203 in this list and set the SvIDProfile also as A0000000042203. | No |

#### Links Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| next | { **"href"**: string (uri) } | Link to get data for next page, Not present if this is result is the last page of results | No |
| self | { **"href"**: string (uri) } | Link to get data for current page | No |

#### CryptographicKeys Schema

Keys used by VAC for Enrollment/Authentication

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| deviceCerts | [ string ] | Certificate generated by device for signing and verification | Yes |
| serviceKeys | [ { **"keyFun"**: string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT", **"keyRef"**: { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" } } ] | Keys shared VAC | Yes |

#### DeviceKey Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| key | { **"x"**: string, **"y"**: string, **"crv"**: string, **"kid"**: string, **"kty"**: string, <br>**Available values:** "EC", **"use"**: string, <br>**Available values:** "ENC", "SIG" } |  | Yes |
| keyFun | string, <br>**Available values:** "AUTHENTICITY", "KEY_AGREEMENT" | *Enum:* `"AUTHENTICITY"`, `"KEY_AGREEMENT"` | Yes |
