# Visa Digital Benefits Platform
Visa Digital Benefits Platform (VDBP) is an interactive card benefit management platforms that provide a flexible, web-based application interface for end-to-end issuer management and cardholder servicing of payment card benefits. 

## Version: 1

### Servers

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

---
## Card Product
Card Product

### [POST] /vdbp-benefits/cardproduct/benefitdetails
**Card Product Benefit Details**

This endpoint is designed to return detailed information associated with a specified benefit. This endpoint requires the benefit id as an input parameter and provides comprehensive data about that particular benefit. The data returned can include information such as the benefit description, eligibility criteria, usage limitations, and other relevant details. This endpoint is crucial for users looking to understand the specifics of a particular benefit.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string, <br>**Default:** application/json | No |

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"asOfDate"**: date, **"language"**: string, **"benefitId"**: [ integer ], **"requestLevel"**: string, **"cardProductId"**: string, **"requestValues"**: [ string ], **"productSubType"**: string, **"accountFundingSourceCode"**: string, **"accountFundingSubtypeCode"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Success | **application/json**: { **"asOfDate"**: date, **"benefitDetails"**: { **"costs"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"files"**: object, **"issuer"**: [ { **"businessId"**: integer, **"businessName"**: string } ], **"endDate"**: date, **"coverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"isActive"**: boolean, **"supplier"**: { **"businessId"**: integer, **"businessName"**: string }, **"videoUrl"**: string, **"visaCore"**: boolean, **"benefitId"**: string, **"startDate"**: date, **"mediaFiles"**: object, **"benefitTags"**: [ string ], **"fundedByCode"**: string, **"fundedByName"**: string, **"languageCode"**: string, **"coverageUntil"**: date, **"isVisaManaged"**: boolean, **"benefitVersion"**: string, **"additionalLinks"**: [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ], **"benefitTypeCode"**: string, **"benefitTypeName"**: string, **"cardProductType"**: string, **"isIssuerSourced"**: boolean, **"languageSupport"**: [ string ], **"serviceProvider"**: { **"businessId"**: integer, **"businessName"**: string }, **"benefitCategories"**: [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ], **"benefitSpendTiers"**: [ { **"spendCoverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierOrderId"**: integer, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ], **"benefitDisplayName"**: string, **"coverageUntilValue"**: integer, **"isInsuranceBenefit"**: boolean, **"benefitInternalName"**: string, **"coverageUntilPeriod"**: string, **"qualificationTypeCode"**: string, **"serviceProviderPhones"**: [ { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } ], **"benefitLongDescription"**: string, **"issuerBenefitReference"**: string, **"benefitShortDescription"**: string }, **"responseStatus"**: { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string }, **"cardProductDetails"**: { **"isoBin"**: string, **"regionCode"**: string, **"regionName"**: string, **"countryCode"**: string, **"countryName"**: string, **"productIdCode"**: string, **"productIdName"**: string, **"productCategory"**: string, **"productDescription"**: string, **"productCategoryCode"**: string, **"productIdSubtypeCode"**: string, **"accountFundingSourceCode"**: string, **"accountFundingSourceName"**: string, **"accountFundingSubtypeCode"**: string, **"accountFundingSubtypeName"**: string, **"productIdSubtypeDescription"**: string } }<br> |
| 400 | Bad Request (the request was unacceptable often due to required missing or invalid request parameters) | **application/json**: { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string }<br> |
| 401 | Access Denied (not authorized for this request or lack of permission to access API) | **application/json**: { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string }<br> |
| 404 | Not Found (unique or valid data could not be found for the request parameters) | **application/json**: { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string }<br> |
| 500 | Internal Server Error | **application/json**: { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string }<br> |

---
### Schemas

#### BenefitSelectionInfoDTO Schema

Detailed information about the benefits selection process for the cardholder, including choices made and relevant dates.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| unlockReqId | integer | The unique identifier for the active unlock request, used to track the unlock period for cardholder benefits.<br>*Example:* `12356` | No |
| unlockActive | boolean |  | No |
| unlockEndDate | date | Indicates the end date of the current unlock period | No |
| isUnlockActive | boolean | **Write-only** | No |
| gracePeriodUnit | string | The unit of time for the grace period value, indicating the duration during which the cardholder may make a choice.<br>*Example:* `"MON"` | No |
| unlockStartDate | date | Indicates the start date of the current unlock period | No |
| gracePeriodValue | integer | The numeric value representing the duration of the grace period during which the cardholder may make a choice.<br>*Example:* `1` | No |
| renewalPeriodUnit | string | The unit of time for the renewal period value, indicating the duration until the cardholder may choose again.<br>*Example:* `"YAR"` | No |
| renewalPeriodValue | integer | The numeric value representing the duration of the renewal period until the cardholder may choose again.<br>*Example:* `1` | No |
| nextChoiceStartDate | date | The date when the new cardholder choices take effect. This marks the start date for the next selection period. | No |
| gracePeriodStartDate | date | The start date of the current or next grace period, depending on whether the cardholder is currently in a grace period. | No |
| cardHolderChoiceCompleted | boolean | Indicates whether the cardholder has made a choice.<br>*Example:* `true` | No |
| renewalDateForCardHolderSelection | date | Indicates the end date of the grace period in which the cardholder is allowed to make a selection. | No |
| lastCardHolderChoiceCompletionDate | date | Indicates the last date the cardholder made a choice. | No |

#### BenefitCategoryDTO Schema

A list of categories associated with the benefit. The maximum size of the list is 512 UTF-8 bytes.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| benefitCategory | string | The category to which the benefit belongs.<br>*Example:* `"Digital"` | No |
| benefitCategoryId | integer | Unique identifier of the benefit category.<br>*Example:* `102` | No |

#### RenewalEmailInfoDTO Schema

List of renewal email settings.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settings | { **"frequency"**: { **"type"**: string, **"event"**: string, **"value"**: string, **"periodType"**: string, **"description"**: string, **"eventCriteriaParameter"**: string }, **"sendRenewalEmail"**: boolean } | Settings related to the renewal email, including frequency and criteria. | No |
| emailBody | string | he body content of the email.<br>*Example:* `"RE_EMAIL_BODY"` | No |
| emailSubject | string | The subject line of the email.<br>*Example:* `"RE_EMAIL_SUBJECT"` | No |
| emailTypeCode | string | A code representing the type of email.<br>*Example:* `"RE"` | No |
| emailTypeName | string | The name of the email type.<br>*Example:* `"Renewal Email"` | No |
| emailLanguageCode | string | The language code for the email content.<br>*Example:* `"en"` | No |

#### ImageFilesDTO Schema

Media files associated with the benefit.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| key | string | Unique key to identify multiple image files of the same type.<br>*Example:* `"123"` | No |
| url | string | URL for the image file.<br>*Example:* `"https://qa.imgctl.visa.com/ImageCatalog/NkLnyT2u20aDHI5ROuLYRw"` | Yes |
| language | string | The language associated with the image file.<br>*Example:* `"en"` | Yes |
| hostingType | string | Type of hosting for the image file.<br>*Example:* `"Internal"` | Yes |
| alternateText | string | Alternate text for the image file, used for accessibility and when the image cannot be displayed.<br>*Example:* `"Alternate text"` | Yes |
| languageIndependent | boolean | Indicator whether the image file is applicable for all languages.<br>*Example:* `true` | Yes |

#### GroupDTO Schema

Details of optional benefits available in a groups template.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| groupId | integer | Unique identifier for the group.<br>*Example:* `1` | No |
| benefits | [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ] | List of benefits included in the group. | No |
| groupName | string | Name of the group.<br>*Example:* `"Group 1"` | No |
| instructions | string | Instructions for the group.<br>*Example:* `"Instructions will show here"` | No |
| maxAmountValue | integer | Maximum amount value for the group.<br>*Example:* `100` | No |
| maxBenefitsAllowed | integer | Maximum number of benefits allowed in the group.<br>*Example:* `5` | No |
| minBenefitsRequired | integer | Minimum number of benefits required in the group.<br>*Example:* `0` | No |
| maxAmountCurrencyCode | number | Currency code for the maximum amount value. | No |
| maxAmountCurrencyName | string | Name of the currency for the maximum amount value.<br>*Example:* `"U.S. DOLLAR"` | No |
| coveredSelectionLimitType | string | Type of selection limit covered by the group.<br>*Example:* `"Number Range"` | No |

#### CardAccountBenefitDetailsResponseDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rPinId | string | Rewards program identifier (RPIN) for requested card, if available (maximum 6 UTF-8 bytes).<br>*Example:* `"132345"` | No |
| asOfDate | date | The date as of which the benefits are applicable. This date should be in the format yyyy-MM-dd. | No |
| rPinName | string | Rewards program name for requested card, if available (maximum 100 UTF-8 bytes).<br>*Example:* `"Travel Rewards"` | No |
| issuerBid | integer | The issuer business identifier.<br>*Example:* `112301` | No |
| packageId | integer | The unique identifier for the package to which benefits are attached.<br>*Example:* `8000007` | No |
| issuerName | string | The issuer name.<br>*Example:* `"BOA"` | No |
| packageTerms | string | The terms and conditions associated with the package.<br>*Example:* `"Terms and conditions"` | No |
| portfolioName | string | Name of the portfolio.<br>*Example:* `"Default Portfolio"` | No |
| benefitDetails | { **"costs"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"files"**: object, **"issuer"**: { **"businessId"**: integer, **"businessName"**: string }, **"endDate"**: date, **"isAddOn"**: boolean, **"coverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"isActive"**: boolean, **"supplier"**: { **"businessId"**: integer, **"businessName"**: string }, **"videoUrl"**: string, **"visaCore"**: boolean, **"benefitId"**: string, **"startDate"**: date, **"choiceDate"**: string, **"choiceType"**: string, **"issuerCore"**: boolean, **"mediaFiles"**: object, **"benefitPath"**: string, **"benefitTags"**: [ string ], **"fundedByCode"**: string, **"fundedByName"**: string, **"languageCode"**: string, **"coverageUntil"**: date, **"isVisaManaged"**: boolean, **"benefitVersion"**: string, **"redemptionInfo"**: { **"redemptionsAsOfDate"**: string, **"totalRedemptionsUsed"**: integer, **"currentRedemptionsUsed"**: integer }, **"additionalLinks"**: [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ], **"benefitTypeCode"**: string, **"benefitTypeName"**: string, **"cardProductType"**: string, **"isDefaultChoice"**: boolean, **"isIssuerSourced"**: boolean, **"languageSupport"**: [ string ], **"serviceProvider"**: { **"businessId"**: integer, **"businessName"**: string }, **"benefitCategories"**: [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ], **"benefitSpendTiers"**: [ { **"spendCoverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierOrderId"**: integer, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ], **"benefitDisplayName"**: string, **"coverageUntilValue"**: integer, **"isInsuranceBenefit"**: boolean, **"benefitInternalName"**: string, **"coverageUntilPeriod"**: string, **"isAvailableToSelect"**: boolean, **"qualifiedSpendTiers"**: [ { **"spendAsOfDate"**: string, **"transactionCount"**: integer, **"spendTierConfigId"**: integer, **"isMaxQualifiedTier"**: boolean, **"spendTierSpendAmount"**: number } ], **"qualificationTypeCode"**: string, **"serviceProviderPhones"**: [ { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } ], **"benefitLongDescription"**: string, **"issuerBenefitReference"**: string, **"benefitShortDescription"**: string, **"reAcknowledgeTermsRequired"**: boolean } | Benefit details. | No |
| cardSpendTiers | [ { **"spendAsOfDate"**: date, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierSpendAmount"**: number, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ] | A list of card spend tiers details, each representing a specific spending threshold. | No |
| packageEndDate | date | The date when the package is no longer in effect. This date should be in the format yyyy-MM-dd. | No |
| packageVersion | string | The version number of the package.<br>*Example:* `"1"` | No |
| responseStatus | { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string } | Response status. | No |
| vfsPortfolioId | integer | The VFS portfolio identifier.<br>*Example:* `7000020` | No |
| packageStartDate | date | The date when the package becomes effective. This date should be in the format yyyy-MM-dd. | No |
| renewalIndicator | boolean | Renewal indicator.<br>*Example:* `true` | No |
| templateTypeName | string | The name of the template type used for the package.<br>*Example:* `"Group Template"` | No |
| issuerPortfolioId | string | Issuer portfolio identifier.<br>*Example:* `"T2E080823"` | No |
| cardProductDetails | { **"isoBin"**: string, **"regionCode"**: string, **"regionName"**: string, **"countryCode"**: string, **"countryName"**: string, **"productIdCode"**: string, **"productIdName"**: string, **"productCategory"**: string, **"productDescription"**: string, **"productCategoryCode"**: string, **"productIdSubtypeCode"**: string, **"accountFundingSourceCode"**: string, **"accountFundingSourceName"**: string, **"accountFundingSubtypeCode"**: string, **"accountFundingSubtypeName"**: string, **"productIdSubtypeDescription"**: string } | Card product details. | No |
| packageDisplayName | string | The name of the package displayed to clients.<br>*Example:* `"Package Display"` | No |
| packageInternalName | string | The internal name of the package used by Visa systems.<br>*Example:* `"Package Internal"` | No |
| packageLanguageCode | string | The language code of the package content.<br>*Example:* `"en"` | No |
| cardHolderChoiceIndicator | boolean | Cardholder choice indicator.<br>*Example:* `true` | No |
| issuerCustomerServicePhone | { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } | The issuer customer service phone details. | No |
| renewalDateForCardHolderChoice | date | Renewal date for cardholder choice. | No |

#### OptionalBenefitsDTO Schema

The list of optional benefits.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| list | [ { **"benefits"**: [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ], **"instructions"**: string, **"maxBenefitsAllowed"**: integer, **"minBenefitsRequired"**: integer } ] | Details of optional benefits available in a list template. | No |
| groups | [ { **"groupId"**: integer, **"benefits"**: [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ], **"groupName"**: string, **"instructions"**: string, **"maxAmountValue"**: integer, **"maxBenefitsAllowed"**: integer, **"minBenefitsRequired"**: integer, **"maxAmountCurrencyCode"**: number, **"maxAmountCurrencyName"**: string, **"coveredSelectionLimitType"**: string } ] | Details of optional benefits available in a groups template. | No |
| bundles | { **"bundle"**: [ { **"benefits"**: [ integer ], **"bundleId"**: integer, **"bundleName"**: string, **"choiceDate"**: string, **"choiceType"**: string, **"instructions"**: string, **"isChoiceEnabled"**: boolean, **"isDefaultChoice"**: boolean, **"isAvailableToSelect"**: boolean } ], **"maxBundlesAllowed"**: integer, **"minBundlesRequired"**: integer } | Details of optional benefits available in a bundles template. | No |
| additionalPurchaseAllowed | boolean | Indicates whether additional purchases of benefits are allowed for the cardholder.<br>*Example:* `true` | No |

#### CardProductBenefitsResponseDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| asOfDate | date | The date as of which the benefits are applicable. This date should be in the format yyyy-MM-dd. | No |
| benefits | [ { **"costs"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"endDate"**: date, **"isActive"**: boolean, **"videoUrl"**: string, **"visaCore"**: boolean, **"benefitId"**: integer, **"startDate"**: date, **"mediaFiles"**: object, **"benefitPath"**: string, **"benefitTags"**: [ string ], **"fundedByCode"**: string, **"fundedByName"**: string, **"languageCode"**: string, **"coverageUntil"**: date, **"isVisaManaged"**: boolean, **"benefitVersion"**: string, **"additionalLinks"**: [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ], **"benefitTypeCode"**: string, **"benefitTypeName"**: string, **"cardProductType"**: string, **"isIssuerSourced"**: boolean, **"languageSupport"**: [ string ], **"benefitCategories"**: [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ], **"benefitDisplayName"**: string, **"coverageUntilValue"**: integer, **"isInsuranceBenefit"**: boolean, **"benefitInternalName"**: string, **"coverageUntilPeriod"**: string, **"qualificationTypeCode"**: string, **"benefitLongDescription"**: string, **"benefitShortDescription"**: string } ] | List of benefits available, detailing each benefit's attributes and conditions. | No |
| issuerBid | integer | The unique business identifier for the issuer.<br>*Example:* `110202` | No |
| packageId | integer | The unique identifier for the package to which benefits are attached.<br>*Example:* `22` | No |
| issuerName | string | The name of the issuer providing the benefit.<br>*Example:* `"National Bank"` | No |
| benefitCount | integer | The total number of benefits available based on the given request.<br>*Example:* `10` | No |
| coreBenefits | [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ] | The list of core benefits. | No |
| portfolioName | string | Name of the portfolio.<br>*Example:* `"Default Portfolio"` | No |
| packageEndDate | date | The date when the package is no longer in effect. This date should be in the format yyyy-MM-dd. | No |
| packageVersion | string | The version number of the package<br>*Example:* `"1"` | No |
| responseStatus | { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string } | Response status. | No |
| vfsPortfolioId | integer | The VFS portfolio identifier.<br>*Example:* `7000020` | No |
| optionalBenefits | { **"list"**: [ { **"benefits"**: [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ], **"instructions"**: string, **"maxBenefitsAllowed"**: integer, **"minBenefitsRequired"**: integer } ], **"groups"**: [ { **"groupId"**: integer, **"benefits"**: [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ], **"groupName"**: string, **"instructions"**: string, **"maxAmountValue"**: integer, **"maxBenefitsAllowed"**: integer, **"minBenefitsRequired"**: integer, **"maxAmountCurrencyCode"**: number, **"maxAmountCurrencyName"**: string, **"coveredSelectionLimitType"**: string } ], **"bundles"**: { **"bundle"**: [ { **"benefits"**: [ integer ], **"bundleId"**: integer, **"bundleName"**: string, **"choiceDate"**: string, **"choiceType"**: string, **"instructions"**: string, **"isChoiceEnabled"**: boolean, **"isDefaultChoice"**: boolean, **"isAvailableToSelect"**: boolean } ], **"maxBundlesAllowed"**: integer, **"minBundlesRequired"**: integer }, **"additionalPurchaseAllowed"**: boolean } | The list of optional benefits. | No |
| packageStartDate | date | The date when the package becomes effective. This date should be in the format yyyy-MM-dd. | No |
| templateTypeName | string | The name of the template type used for the package.<br>*Example:* `"List Template"` | No |
| issuerPortfolioId | string | Issuer portfolio identifier.<br>*Example:* `"VSF098077"` | No |
| cardProductDetails | { **"isoBin"**: string, **"regionCode"**: string, **"regionName"**: string, **"countryCode"**: string, **"countryName"**: string, **"productIdCode"**: string, **"productIdName"**: string, **"productCategory"**: string, **"productDescription"**: string, **"productCategoryCode"**: string, **"productIdSubtypeCode"**: string, **"accountFundingSourceCode"**: string, **"accountFundingSourceName"**: string, **"accountFundingSubtypeCode"**: string, **"accountFundingSubtypeName"**: string, **"productIdSubtypeDescription"**: string } | Card product details. | No |
| packageDisplayName | string | The name of the package displayed to clients.<br>*Example:* `"Package Display"` | No |
| packageInternalName | string | The internal name of the package used by Visa systems.<br>*Example:* `"Package Internal"` | No |
| packageLanguageCode | string | The language code of the returned package.<br>*Example:* `"en"` | No |
| issuerCustomerServicePhone | { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } | The issuer customer service phone details. | No |

#### CardSpendTiersDTO Schema

A list of card spend tiers details, each representing a specific spending threshold.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| spendAsOfDate | date | The date until which the cardholder's spend amount is calculated. | No |
| spendTierType | string | The type of the card spend tier.<br>*Example:* `"Global"` | No |
| spendToAmount | number | The ending amount for the card spend tier range.<br>*Example:* `2000` | No |
| spendFromAmount | number | The starting amount for the card spend tier range.<br>*Example:* `1000` | No |
| benefitIndicator | string | Card spend tier spend benefit indicator.<br>*Example:* `"Individual"` | No |
| spendTierConfigId | integer | The unique identifier for the spend tier configuration.<br>*Example:* `20241223` | No |
| spendTierDescription | string | A description of the card spend tier, with a maximum length of 100 UTF-8 bytes.<br>*Example:* `"Name of spend tier"` | No |
| spendTierSpendAmount | number | The spend amount for the card spend tier.<br>*Example:* `1000` | No |
| spendTierCurrencyCode | integer | The numeric code of the currency used in the card spend tier.<br>*Example:* `840` | No |
| spendTierCurrencyName | string | The name of the currency used in the card spend tier.<br>*Example:* `"U. S. DOLLAR"` | No |
| spendTierCurrencyCodeName | string | The alpha code of the currency used in the card spend tier.<br>*Example:* `"USD"` | No |
| spendTierMerchantCategory | string | The merchant category group associated with the card spend tier.<br>*Example:* `"MCG"` | No |

#### RedemptionBillingInfoDTO Schema

The billing information of redemption.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| userType | string | The type of user performing the redemption.<br>*Example:* `"Guest"` | No |
| statusCode | string | The status code representing the outcome of the redemption process.<br>*Example:* `"000"` | No |
| entityToBill | string | The entity to which the redemption is billed.<br>*Example:* `"VISA"` | No |
| userQuantity | integer | The number of users involved in the redemption.<br>*Example:* `4` | No |

#### CostsDTO Schema

Cost details for each redemption of the benefit.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| billedTo | string | The entity to which the cost is billed.<br>*Example:* `"VISA"` | No |
| costAmount | number | The amount of the cost.<br>*Example:* `102.0001` | No |
| costTypeCode | string | The code representing the type of cost. Possible values include: ACT (Activation Based), OOT (Optional One time cost), OGF (On-going fixed cost), CTV (Cost to Visa), PTC (Price to Cardholder), PTI (Price to Issuer), MAR (Market Value).<br>*Example:* `"ACT"` | No |
| billingOptions | string | The options for billing the cost.<br>*Example:* `"PT"` | No |
| costCurrencyCode | integer | The numeric code of the currency in which the cost is denominated.<br>*Example:* `840` | No |
| costCurrencyName | string | The name of the currency in which the cost is denominated.<br>*Example:* `"U. S. DOLLAR"` | No |
| costCurrencyCodeName | string | The alpha code of the currency in which the cost is denominated.<br>*Example:* `"USD"` | No |

#### RedemptionInfoDTO Schema

Details of the redemption of the benefit.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| redemptionsAsOfDate | string | The as of date for the redemptions<br>*Example:* `"07-14-2017"` | No |
| totalRedemptionsUsed | integer | The total redemptions used.<br>*Example:* `10` | No |
| currentRedemptionsUsed | integer | The current redemptions used.<br>*Example:* `5` | No |

#### PhoneHoursOfOperationDTO Schema

Hours of operation for the phone number, including timezone information.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| timezone | string | The timezone in which the phone number's hours of operation are specified, following standard timezone abbreviations.<br>*Example:* `"PST"` | Yes |
| dailyHours | [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] | A list of daily operational hours for the phone number, detailing the opening and closing times for each day of the week. | Yes |

#### CardAccountEligibilityResponseDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rpinId | string | Rewards program identifier (RPIN) for requested card, if available (maximum 6 UTF-8 bytes).<br>*Example:* `"132345"` | No |
| asOfDate | string | Date by when the eligibility needs to checked. This date should be in the format yyyy-MM-dd.<br>*Example:* `"2024-09-15"` | No |
| benefits | [ { **"costs"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"issuer"**: { **"businessId"**: integer, **"businessName"**: string }, **"endDate"**: date, **"isAddOn"**: boolean, **"coverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"visaCore"**: boolean, **"benefitId"**: string, **"startDate"**: date, **"issuerCore"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageUntil"**: date, **"isVisaManaged"**: boolean, **"redemptionInfo"**: { **"redemptionsAsOfDate"**: string, **"totalRedemptionsUsed"**: integer, **"currentRedemptionsUsed"**: integer }, **"benefitTypeCode"**: string, **"benefitTypeName"**: string, **"cardProductType"**: string, **"isDefaultChoice"**: boolean, **"languageSupport"**: [ string ], **"serviceProvider"**: { **"businessId"**: integer, **"businessName"**: string }, **"benefitCategories"**: [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ], **"benefitSpendTiers"**: [ { **"spendCoverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierOrderId"**: integer, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ], **"benefitDisplayName"**: string, **"coverageUntilValue"**: integer, **"benefitInternalName"**: string, **"coverageUntilPeriod"**: string, **"qualifiedSpendTiers"**: [ { **"spendAsOfDate"**: string, **"transactionCount"**: integer, **"spendTierConfigId"**: integer, **"isMaxQualifiedTier"**: boolean, **"spendTierSpendAmount"**: number } ], **"qualificationTypeCode"**: string, **"serviceProviderPhones"**: [ { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } ], **"benefitLongDescription"**: string, **"benefitShortDescription"**: string, **"reAcknowledgeTermsRequired"**: boolean } ] | List of active benefits, detailing each benefit's attributes and conditions. | No |
| rpinName | string | Rewards program name for requested card, if available (maximum 100 UTF-8 bytes).<br>*Example:* `"Travel Rewards"` | No |
| issuerBid | integer | The unique business identifier for the issuer.<br>*Example:* `112301` | No |
| packageId | integer | The unique identifier for the package to which benefits are attached.<br>*Example:* `8004743` | No |
| issuerName | string | The name of the issuer providing the benefit.<br>*Example:* `"BOA"` | No |
| benefitCount | integer | The total number of benefits available for the cardholder based on the given request.<br>*Example:* `4` | No |
| packageTerms | string | The terms and conditions associated with the package.<br>*Example:* `"Terms and conditions"` | No |
| cardSpendTiers | [ { **"spendAsOfDate"**: date, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierSpendAmount"**: number, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ] | A list of card spend tiers details, each representing a specific spending threshold. | No |
| packageEndDate | string | The date when the package is no longer in effect. This date should be in the format yyyy-MM-dd.<br>*Example:* `"2026-09-15"` | No |
| responseStatus | { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string } | Response status. | No |
| packageStartDate | string | The date when the package becomes effective. This date should be in the format yyyy-MM-dd.<br>*Example:* `"2024-09-15"` | No |
| templateTypeName | string | The name of the template type used for the package.<br>*Example:* `"Group Template"` | No |
| cardProductDetails | { **"isoBin"**: string, **"regionCode"**: string, **"regionName"**: string, **"countryCode"**: string, **"countryName"**: string, **"productIdCode"**: string, **"productIdName"**: string, **"productCategory"**: string, **"productDescription"**: string, **"productCategoryCode"**: string, **"productIdSubtypeCode"**: string, **"accountFundingSourceCode"**: string, **"accountFundingSourceName"**: string, **"accountFundingSubtypeCode"**: string, **"accountFundingSubtypeName"**: string, **"productIdSubtypeDescription"**: string } | Card product details. | No |
| packageDisplayName | string | Package name displayed to clients<br>*Example:* `"Package Display"` | No |
| packageInternalName | string | The internal name of the package used by Visa systems.<br>*Example:* `"Package Internal"` | No |
| packageLanguageCode | string | The language code of the package content.<br>*Example:* `"en"` | No |
| issuerCustomerServicePhone | { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } | The issuer customer service phone details. | No |

#### LinksDTO Schema

A list of additional links related to the benefit, providing further information or actions for each redemption.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| linkUrl | string | The URL associated with the link, applicable only if the link type is URL.<br>*Example:* `"https://www.redemptionsite.com/pathtoredemption"` | No |
| linkValue | string | The value associated with the link, such as a phone number, email address, or other relevant information.<br>*Example:* `"1234567890"` | No |
| linkTypeCode | string | The code representing the type of link, such as Contact Information (CI), File Claim (FC), Link (LK), or Promo Code (PC).<br>*Example:* `"CI"` | No |
| linkDescription | string | A detailed description of the link, providing additional context or information about its purpose.<br>*Example:* `"Redemption link"` | No |
| linkSubTypeCode | string | The code representing the subtype of the link, such as URL (U), Link (L), Phone Number (P), Email (E), Single (S), or Exclusive (X).<br>*Example:* `"P"` | No |
| linkTypeDescription | string | A description of the link type, such as Contact Information, File Claim, Link, or Promo Code.<br>*Example:* `"Contact Information"` | No |
| linkSubTypeDescription | string | A description of the link subtype, such as URL, Link, Phone Number, Email, Single, or Exclusive.<br>*Example:* `"Phone Number"` | No |

#### RenewalEmailFrequencyDTO Schema

Metadata related to the frequency of the renewal email, including the type and period.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string | The type of frequency for the renewal email.<br>*Example:* `"ON_RENEWAL_DATE"` | No |
| event | string | The event type that triggers the frequency.<br>*Example:* `"ON_DT"` | No |
| value | string | The value associated with the frequency.<br>*Example:* `"1"` | No |
| periodType | string | The period type for the frequency.<br>*Example:* `"DAY"` | No |
| description | string | A description of the frequency.<br>*Example:* `"Only one email, sent on renewal date"` | No |
| eventCriteriaParameter | string | The criteria parameter for the event that triggers the frequency.<br>*Example:* `"RNWL_DT"` | No |

#### CardProductBenefitDetailsDTO Schema

Benefit details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| costs | [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ] | Cost details for each redemption of the benefit. | No |
| files | object | Files associated with the benefit. | No |
| issuer | [ { **"businessId"**: integer, **"businessName"**: string } ] | Details of the issuer providing the benefit. | No |
| endDate | date | The date when the benefit ends. This date should be in the format yyyy-MM-dd. | No |
| coverage | { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string } | Details about the coverage associated to the spend tier. | No |
| isActive | boolean | Indicates whether the benefit is currently active (true) or inactive (false).<br>*Example:* `true` | No |
| supplier | { **"businessId"**: integer, **"businessName"**: string } | Details of the supplier of the benefit. | No |
| videoUrl | string | URL link to the video related to the benefit.<br>*Example:* `"https://sampleurl.com"` | No |
| visaCore | boolean | Indicator to check if benefit is a Visa core benefit.<br>*Example:* `false` | No |
| benefitId | string | Unique identifier for the benefit.<br>*Example:* `"7000345"` | Yes |
| startDate | date | The date when the benefit starts. This date should be in the format yyyy-MM-dd. | No |
| mediaFiles | object | Media files associated with the benefit. | No |
| benefitTags | [ string ] | A list of tags associated with the benefit.<br>*Example:* `["wellness","dine","top10"]` | No |
| fundedByCode | string | A code representing the entity or entities responsible for funding the benefit, such as C for Cardholder, I for Issuer, B for Visa & Issuer, etc.<br>*Example:* `"I"` | No |
| fundedByName | string | The entity or entities responsible for funding the benefit, which could be the cardholder, issuer, merchant, or other combinations of the specified entities.<br>*Example:* `"Issuer"` | No |
| languageCode | string | The language code of the returned benefit.<br>*Example:* `"en"` | No |
| coverageUntil | date | The date until which the benefit coverage is valid. This date should be in the format yyyy-MM-dd. | No |
| isVisaManaged | boolean | Indicates if benefit is managed by Visa.<br>*Example:* `false` | No |
| benefitVersion | string | Version number of the benefit.<br>*Example:* `"2"` | No |
| additionalLinks | [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ] | A list of additional links related to the benefit, providing further information or actions for each redemption. | No |
| benefitTypeCode | string | Code representing the type of benefit (maximum 10 UTF-8 bytes).<br>*Example:* `"ALA"` | No |
| benefitTypeName | string | Name representing the type of benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Airport Lounge Access"` | No |
| cardProductType | string | Type of the card associated with the benefit.<br>*Example:* `"Visa Signature"` | No |
| isIssuerSourced | boolean | Indicates if benefit is managed by Issuer.<br>*Example:* `false` | No |
| languageSupport | [ string ] | Supported languages for the benefit.<br>*Example:* `["en","es"]` | No |
| serviceProvider | { **"businessId"**: integer, **"businessName"**: string } | Details of the supplier of the benefit. | No |
| benefitCategories | [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ] | A list of categories associated with the benefit, each represented as a BenefitCategoryDTO object. The maximum size of the list is 512 UTF-8 bytes. | No |
| benefitSpendTiers | [ { **"spendCoverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierOrderId"**: integer, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ] | List of benefit spend tier information and associated coverages. Each entry represents a portion of the benefit's coverage, with some portions having spend-based qualifications. If there is no spend-based qualification, the coverage portion is still listed, but with spend tier information set to default values. When coverages are individuals will only list coverage with max coverage level among the applicable ones. When coverages are cumulative, the list will have all applicable coverages. | No |
| benefitDisplayName | string | Display name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilValue | integer | The numerical value representing the duration of the benefit coverage period.<br>*Example:* `21` | No |
| isInsuranceBenefit | boolean | Indicates if benefit is an insurance benefit.<br>*Example:* `false` | No |
| benefitInternalName | string | Internal name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilPeriod | string | The unit of time for the benefit coverage period.<br>*Example:* `"DAY"` | No |
| qualificationTypeCode | string | Code to indicate the qualification type of a benefit. Possible values are: SPN (Spend Individual: spend-based qualification for one coverage), SPC (Spend Combined: spend-based qualification for aggregated coverages), FLT (Float Individual: no spend criteria for one coverage), FLC (Float Combined: no spend criteria for aggregated coverages). Spend-based qualifications require meeting a spend criteria or range, while float-based qualifications do not. Individual means qualifying for only one of the available coverages, and combined means receiving the aggregation of all available coverages. When there is a combination of spend and float coverages, it will classify as spend-based.<br>*Example:* `"SPN"` | No |
| serviceProviderPhones | [ { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } ] | Phone details of the service provider for the benefit. | No |
| benefitLongDescription | string | Long description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |
| issuerBenefitReference | string | Reference identifier for the benefit provided by the issuer. | No |
| benefitShortDescription | string | Short description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |

#### CardProductBenefitDetailsResponseDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| asOfDate | date | The date as of which the benefits are applicable. This date should be in the format yyyy-MM-dd. | No |
| benefitDetails | { **"costs"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"files"**: object, **"issuer"**: [ { **"businessId"**: integer, **"businessName"**: string } ], **"endDate"**: date, **"coverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"isActive"**: boolean, **"supplier"**: { **"businessId"**: integer, **"businessName"**: string }, **"videoUrl"**: string, **"visaCore"**: boolean, **"benefitId"**: string, **"startDate"**: date, **"mediaFiles"**: object, **"benefitTags"**: [ string ], **"fundedByCode"**: string, **"fundedByName"**: string, **"languageCode"**: string, **"coverageUntil"**: date, **"isVisaManaged"**: boolean, **"benefitVersion"**: string, **"additionalLinks"**: [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ], **"benefitTypeCode"**: string, **"benefitTypeName"**: string, **"cardProductType"**: string, **"isIssuerSourced"**: boolean, **"languageSupport"**: [ string ], **"serviceProvider"**: { **"businessId"**: integer, **"businessName"**: string }, **"benefitCategories"**: [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ], **"benefitSpendTiers"**: [ { **"spendCoverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierOrderId"**: integer, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ], **"benefitDisplayName"**: string, **"coverageUntilValue"**: integer, **"isInsuranceBenefit"**: boolean, **"benefitInternalName"**: string, **"coverageUntilPeriod"**: string, **"qualificationTypeCode"**: string, **"serviceProviderPhones"**: [ { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } ], **"benefitLongDescription"**: string, **"issuerBenefitReference"**: string, **"benefitShortDescription"**: string } | Benefit details. | No |
| responseStatus | { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string } | Response status. | No |
| cardProductDetails | { **"isoBin"**: string, **"regionCode"**: string, **"regionName"**: string, **"countryCode"**: string, **"countryName"**: string, **"productIdCode"**: string, **"productIdName"**: string, **"productCategory"**: string, **"productDescription"**: string, **"productCategoryCode"**: string, **"productIdSubtypeCode"**: string, **"accountFundingSourceCode"**: string, **"accountFundingSourceName"**: string, **"accountFundingSubtypeCode"**: string, **"accountFundingSubtypeName"**: string, **"productIdSubtypeDescription"**: string } | Card product details. | No |

#### FilesDTO Schema

Files associated with the benefit.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| key | string | Unique key to identify multiple files of the same type.<br>*Example:* `"123"` | No |
| url | string | External URL of the file.<br>*Example:* `"url.com"` | No |
| fileId | integer | Unique identifier for the file.<br>*Example:* `109391` | Yes |
| fileName | string | Original name of the file.<br>*Example:* `"T&C"` | Yes |
| filePath | string | Path where the file is stored.<br>*Example:* `"Visa/file/t&c"` | Yes |
| hostingType | string | Type of hosting for the file.<br>*Example:* `"Internal"` | No |
| fileLanguage | string | Language in which the file's terms are written.<br>*Example:* `"en"` | Yes |
| fileTypeCode | string | Code representing the type of the file. Possible values include: HIM (Hero image), SIM (Mobile image), BIC (Browser icon), ILC (Issuer logo - color), IBW (Issuer logo, black & white), LGL (Disclosure - legal), MKT (Disclosure - marketing), AGM (Agreement), TAC (Terms and conditions), PDB (Product brochure / flyer), FAQ (FAQ), OTH (Other), INB (Insurance Benefit), SVG (SVG).<br>*Example:* `"TAC"` | Yes |

#### CardTypeCoverageDTO Schema

Details about the coverage associated to the spend tier.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| isPooled | boolean | Indicates if it is a pooled redemption.<br>*Example:* `false` | No |
| fundedByCode | string | The code representing the entity funding the coverage.<br>*Example:* `"I"` | No |
| fundedByName | string | The name of the entity funding the coverage.<br>*Example:* `"Issuer"` | No |
| coverageCosts | [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ] | The costs of the coverage. | No |
| coverageLevel | integer | The numeric value representing the level of coverage. This value indicates the tier or rank of the coverage provided.<br>*Example:* `1` | No |
| coverageValue | string | The value of the coverage.<br>*Example:* `"700"` | No |
| coverageMaxValue | number | The maximum value of the coverage, included when coverage type is min/max. Maximum 10 decimal digits with zero fractional amounts.<br>*Example:* `20000` | No |
| coverageMinValue | number | The minimum value of the coverage, included when coverage type is min/max. Maximum 10 decimal digits with zero fractional amounts.<br>*Example:* `10000` | No |
| coverageTypeCode | string | The code representing the type of coverage. Maximum 3 UTF-8 bytes.<br>*Example:* `"CNT"` | No |
| coverageTypeName | string | The name of the coverage type. Maximum 20 UTF-8 bytes.<br>*Example:* `"Count"` | No |
| coverageUntilDate | date | The date after which coverage is no longer available for the benefit, or coverage until date for a spend-based benefit, or activation end date for the add-on benefit. | No |
| coverageUntilValue | integer | The period value after which coverage is no longer available for the benefit.<br>*Example:* `21` | No |
| coverageUntilPeriod | string | The period after which coverage is no longer available for the benefit.<br>*Example:* `"DAY"` | No |
| coverageCurrencyCode | integer | The numeric code of the currency used in the coverage, included when coverage type is amount or min/max.<br>*Example:* `840` | No |
| coverageCurrencyName | string | The name of the currency used in the coverage, included when coverage type is amount or min/max.<br>*Example:* `"U. S. DOLLAR"` | No |
| restrictionsPerVisit | integer | The restriction on user per visit while redeeming.<br>*Example:* `4` | No |
| redemptionBillingInfo | [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ] | The billing information of redemption. | No |
| coverageCurrencyCodeName | string | The alpha code of the currency used in the coverage, included when coverage type is amount or min/max.<br>*Example:* `"USD"` | No |
| maxNumRedemptionsAllowed | integer | The maximum number of redemptions allowed for the coverage.<br>*Example:* `6` | No |
| additionalRedemptionsAllowed | integer | The additional number of redemptions allowed for the coverage.<br>*Example:* `1` | No |
| maxNumRedemptionsTimeLimitValue | integer | The time limit value for the maximum number of redemptions allowed for the coverage.<br>*Example:* `12` | No |
| maxNumRedemptionsTimeLimitPeriod | string | The time limit period for the maximum number of redemptions allowed for the coverage.<br>*Example:* `"YAR"` | No |
| additionalRedemptionsTimeLimitValue | integer | The additional time limit value for redemptions allowed for the coverage.<br>*Example:* `1` | No |
| additionalRedemptionsTimeLimitPeriod | string | The additional time limit period for redemptions allowed for the coverage.<br>*Example:* `"MON"` | No |

#### CardAccountEligibilityRequestDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| isCAQ | boolean | Indicates whether the VFS service should be called. When the CAQ flag is true, the service will be called.<br>*Example:* `false` | Yes |
| asOfDate | date | The specific date for which benefits are requested. The date must not be earlier than 2009-01-01. | No |
| benefitId | integer | A unique identifier for the benefit. This identifier is used to reference a specific benefit.<br>*Example:* `7000345` | No |
| primaryAccountNumber | string | The primary account number (PAN) of the cardholder. This is a unique identifier for the cardholder's account.<br>*Example:* `"1234123412341234"` | Yes |

#### ResponseStatusDTO Schema

Response status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE" | Response reason.<br>*Enum:* `"SUCCESS"`, `"MOD_10"`, `"CLIENT_ERROR"`, `"INVALID_INPUT"`, `"INVALID_REQUEST_FORMAT"`, `"NOT_FOUND"`, `"NO_PORTFOLIO_FOUND"`, `"NO_BENEFIT_PORTFOLIO_FOUND"`, `"COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM"`, `"CONFLICTING_CARD_ACCOUNT_RANGES"`, `"COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD"`, `"NO_ORGANIZATION_FOUND"`, `"BIN_MANAGEMENT_IS_UNDEFINED"`, `"MULTIPLE_CLE_TYP_FOUND"`, `"PARSE_ERROR"`, `"FORBIDDEN"`, `"NOT_AUTHORIZED"`, `"INTERNAL_SERVER_ERROR"`, `"BIN_NOT_ASSOCIATED_WITH_ISSUER"`, `"CAQ_PARSE_ERROR"`, `"SERVICE_UNAVAILABLE_ERROR"`, `"INVALID_USER_ID"`, `"INVALID_MESSAGE_ID"`, `"INVALID_APPLICATION_ID"`, `"INVALID_PAN"`, `"INVALID_DATE"`, `"INVALID_PAN_LENGTH"`, `"PAN_MISMATCH"`, `"PACKAGE_NOT_FOUND"`, `"UNSUPPORTED_MEDIA_TYPE"`<br>*Example:* `"SUCCESS"` | No |
| status | integer | Response status of API.<br>*Example:* `200` | No |
| message | string | Response message.<br>*Example:* `"Success"` | No |
| responseCode | string | Response code of API.<br>*Example:* `"00"` | No |
| correlationId | string | Correlation id received in the request.<br>*Example:* `"VDBP_1001101"` | No |
| subResponseCode | string | Sub-response code of API.<br>*Example:* `"00"` | No |
| requestMessageId | string | Request message id received in the request.<br>*Example:* `"1111"` | No |

#### BundleDTO Schema

List of bundles available for the cardholder.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| benefits | [ integer ] | List of optional benefit unique identifiers included in the bundle.<br>*Example:* `[700345,700346]` | No |
| bundleId | integer | Unique identifier for the bundle.<br>*Example:* `1` | No |
| bundleName | string | Name of the bundle.<br>*Example:* `"Travel bundle"` | No |
| choiceDate | string | The date on which the cardholder made their last choice, formatted as yyyy-MM-dd.<br>*Example:* `"2023-05-31"` | No |
| choiceType | string | Specifies the type of choice available for the benefit.<br>*Example:* `"CARDHOLDER"` | No |
| instructions | string | Instructions for the bundle.<br>*Example:* `"Instructions will show here"` | No |
| isChoiceEnabled | boolean | Indicates whether the bundle is available for selection by the cardholder.<br>*Example:* `true` | No |
| isDefaultChoice | boolean | Indicates whether the bundle is the default choice for the cardholder.<br>*Example:* `false` | No |
| isAvailableToSelect | boolean | Specifies whether the bundle is currently available for selection.<br>*Example:* `true` | No |

#### CardAccountBenefitsResponseDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| rPinId | string | Rewards program identifier (RPIN) for requested card, if available (maximum 6 UTF-8 bytes).<br>*Example:* `"132345"` | No |
| asOfDate | date | The date as of which the benefits are applicable. This date should be in the format yyyy-MM-dd. | No |
| benefits | [ { **"costs"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"files"**: object, **"endDate"**: date, **"isAddOn"**: boolean, **"isActive"**: boolean, **"videoUrl"**: string, **"visaCore"**: boolean, **"benefitId"**: string, **"startDate"**: date, **"choiceDate"**: date, **"choiceType"**: string, **"issuerCore"**: boolean, **"mediaFiles"**: object, **"benefitPath"**: string, **"benefitTags"**: [ string ], **"fundedByCode"**: string, **"fundedByName"**: string, **"languageCode"**: string, **"coverageUntil"**: date, **"isVisaManaged"**: boolean, **"benefitVersion"**: string, **"additionalLinks"**: [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ], **"benefitTypeCode"**: string, **"benefitTypeName"**: string, **"cardProductType"**: string, **"isDefaultChoice"**: boolean, **"isIssuerSourced"**: boolean, **"languageSupport"**: [ string ], **"benefitCategories"**: [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ], **"benefitDisplayName"**: string, **"coverageUntilValue"**: integer, **"isInsuranceBenefit"**: boolean, **"benefitInternalName"**: string, **"coverageUntilPeriod"**: string, **"isAvailableToSelect"**: boolean, **"qualificationTypeCode"**: string, **"benefitLongDescription"**: string, **"benefitShortDescription"**: string, **"reAcknowledgeTermsRequired"**: boolean } ] | List of benefits available for the cardholder, detailing each benefit's attributes and conditions. | No |
| rPinName | string | Rewards program name for requested card, if available (maximum 100 UTF-8 bytes).<br>*Example:* `"Travel Rewards"` | No |
| issuerBid | integer | The unique business identifier for the issuer.<br>*Example:* `112301` | No |
| packageId | integer | The unique identifier for the package to which benefits are attached.<br>*Example:* `8000007` | No |
| issuerName | string | The name of the issuer providing the benefit.<br>*Example:* `"BOA"` | No |
| benefitCount | integer | The total number of benefits available for the cardholder based on the given request.<br>*Example:* `3` | No |
| coreBenefits | [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ] | The list of core benefits. | No |
| packageTerms | string | The terms and conditions associated with the package.<br>*Example:* `"Terms and conditions"` | No |
| portfolioName | string | Name of the portfolio.<br>*Example:* `"Default Portfolio"` | No |
| cardSpendTiers | [ { **"spendAsOfDate"**: date, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierSpendAmount"**: number, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ] | A list of card spend tiers details, each representing a specific spending threshold. | No |
| packageEndDate | date | The date when the package is no longer in effect. This date should be in the format yyyy-MM-dd. | No |
| packageVersion | string | The version number of the package.<br>*Example:* `"1"` | No |
| responseStatus | { **"reason"**: string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE", **"status"**: integer, **"message"**: string, **"responseCode"**: string, **"correlationId"**: string, **"subResponseCode"**: string, **"requestMessageId"**: string } | Response status. | No |
| vfsPortfolioId | integer | The VFS portfolio identifier.<br>*Example:* `7000020` | No |
| optionalBenefits | { **"list"**: [ { **"benefits"**: [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ], **"instructions"**: string, **"maxBenefitsAllowed"**: integer, **"minBenefitsRequired"**: integer } ], **"groups"**: [ { **"groupId"**: integer, **"benefits"**: [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ], **"groupName"**: string, **"instructions"**: string, **"maxAmountValue"**: integer, **"maxBenefitsAllowed"**: integer, **"minBenefitsRequired"**: integer, **"maxAmountCurrencyCode"**: number, **"maxAmountCurrencyName"**: string, **"coveredSelectionLimitType"**: string } ], **"bundles"**: { **"bundle"**: [ { **"benefits"**: [ integer ], **"bundleId"**: integer, **"bundleName"**: string, **"choiceDate"**: string, **"choiceType"**: string, **"instructions"**: string, **"isChoiceEnabled"**: boolean, **"isDefaultChoice"**: boolean, **"isAvailableToSelect"**: boolean } ], **"maxBundlesAllowed"**: integer, **"minBundlesRequired"**: integer }, **"additionalPurchaseAllowed"**: boolean } | The list of optional benefits. | No |
| packageStartDate | date | The date when the package becomes effective. This date should be in the format yyyy-MM-dd. | No |
| renewalEmailInfo | [ { **"settings"**: { **"frequency"**: { **"type"**: string, **"event"**: string, **"value"**: string, **"periodType"**: string, **"description"**: string, **"eventCriteriaParameter"**: string }, **"sendRenewalEmail"**: boolean }, **"emailBody"**: string, **"emailSubject"**: string, **"emailTypeCode"**: string, **"emailTypeName"**: string, **"emailLanguageCode"**: string } ] | List of renewal email settings. | No |
| templateTypeName | string | The name of the template type used for the package.<br>*Example:* `"Group Template"` | No |
| issuerPortfolioId | string | Issuer portfolio identifier.<br>*Example:* `"VSF098077"` | No |
| cardProductDetails | { **"isoBin"**: string, **"regionCode"**: string, **"regionName"**: string, **"countryCode"**: string, **"countryName"**: string, **"productIdCode"**: string, **"productIdName"**: string, **"productCategory"**: string, **"productDescription"**: string, **"productCategoryCode"**: string, **"productIdSubtypeCode"**: string, **"accountFundingSourceCode"**: string, **"accountFundingSourceName"**: string, **"accountFundingSubtypeCode"**: string, **"accountFundingSubtypeName"**: string, **"productIdSubtypeDescription"**: string } | Card product details. | No |
| packageDisplayName | string | The name of the package displayed to clients.<br>*Example:* `"Package Display"` | No |
| packageInternalName | string | The internal name of the package used by Visa systems.<br>*Example:* `"Package Internal"` | No |
| packageLanguageCode | string | The language code of the returned package.<br>*Example:* `"en"` | No |
| benefitSelectionInfo | { **"unlockReqId"**: integer, **"unlockActive"**: boolean, **"unlockEndDate"**: date, **"isUnlockActive"**: boolean, **"gracePeriodUnit"**: string, **"unlockStartDate"**: date, **"gracePeriodValue"**: integer, **"renewalPeriodUnit"**: string, **"renewalPeriodValue"**: integer, **"nextChoiceStartDate"**: date, **"gracePeriodStartDate"**: date, **"cardHolderChoiceCompleted"**: boolean, **"renewalDateForCardHolderSelection"**: date, **"lastCardHolderChoiceCompletionDate"**: date } | Detailed information about the benefits selection process for the cardholder, including choices made and relevant dates. | No |
| cardHolderChoiceIndicator | boolean | Indicates if the cardholder can select benefits.<br>*Example:* `false` | No |
| issuerCustomerServicePhone | { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } | The issuer customer service phone details. | No |

#### CardProductBenefitsDTO Schema

List of benefits available, detailing each benefit's attributes and conditions.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| costs | [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ] | Cost details for each redemption of the benefit. | No |
| endDate | date | The date when the benefit ends, formatted as yyyy-MM-dd. | No |
| isActive | boolean | Indicates whether the benefit is currently active. A value of truemeans the benefit is active, while false means it is inactive.<br>*Example:* `true` | No |
| videoUrl | string | URL link to the video related to the benefit.<br>*Example:* `"https://sampleurl.com"` | No |
| visaCore | boolean | Indicator to check if benefit is a Visa core benefit.<br>*Example:* `false` | No |
| benefitId | integer | Unique identifier for the benefit.<br>*Example:* `7000345` | Yes |
| startDate | date | The date when the benefit starts, formatted as yyyy-MM-dd. | No |
| mediaFiles | object | Media files associated with the benefit. | No |
| benefitPath | string | Benefit path (maximum 100 UTF-8 bytes).<br>*Example:* `"group/123"` | No |
| benefitTags | [ string ] | A list of tags associated with the benefit.<br>*Example:* `["wellness","dine","top10"]` | No |
| fundedByCode | string | A code representing the entity or entities responsible for funding the benefit, such as C for Cardholder, I for Issuer, B for Visa & Issuer, etc.<br>*Example:* `"I"` | No |
| fundedByName | string | The entity or entities responsible for funding the benefit, which could be the cardholder, issuer, merchant, or other combinations of the specified entities.<br>*Example:* `"Issuer"` | No |
| languageCode | string | The language of the benefit description.<br>*Example:* `"en"` | No |
| coverageUntil | date | The date until which the benefit coverage is valid, formatted as yyyy-MM-dd. | No |
| isVisaManaged | boolean | Indicates if benefit is managed by Visa.<br>*Example:* `false` | No |
| benefitVersion | string | Version number of the benefit.<br>*Example:* `"2"` | No |
| additionalLinks | [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ] | A list of additional links related to the benefit, providing further information or actions for each redemption. | No |
| benefitTypeCode | string | Code representing the type of benefit (maximum 10 UTF-8 bytes).<br>*Example:* `"ALA"` | No |
| benefitTypeName | string | Name representing the type of benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Airport Lounge Access"` | No |
| cardProductType | string | Type of the card associated with the benefit.<br>*Example:* `"Visa Signature"` | No |
| isIssuerSourced | boolean | Indicates if benefit is managed by Issuer.<br>*Example:* `false` | No |
| languageSupport | [ string ] | Supported languages for the benefit.<br>*Example:* `["en","es"]` | No |
| benefitCategories | [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ] | A list of categories associated with the benefit. The maximum size of the list is 512 UTF-8 bytes). | No |
| benefitDisplayName | string | Display name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilValue | integer | The numerical value representing the duration of the benefit coverage period.<br>*Example:* `21` | No |
| isInsuranceBenefit | boolean | Indicates if benefit is an insurance benefit.<br>*Example:* `false` | No |
| benefitInternalName | string | Internal name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilPeriod | string | The unit of time for the benefit coverage period.<br>*Example:* `"DAY"` | No |
| qualificationTypeCode | string | Code to indicate the qualification type of a benefit. Possible values are: SPN (Spend Individual: spend-based qualification for one coverage), SPC (Spend Combined: spend-based qualification for aggregated coverages), FLT (Float Individual: no spend criteria for one coverage), FLC (Float Combined: no spend criteria for aggregated coverages). Spend-based qualifications require meeting a spend criteria or range, while float-based qualifications do not. Individual means qualifying for only one of the available coverages, and combined means receiving the aggregation of all available coverages. When there is a combination of spend and float coverages, it will classify as spend-based.<br>*Example:* `"SPN"` | No |
| benefitLongDescription | string | Long description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |
| benefitShortDescription | string | Short description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |

#### DailyHoursDTO Schema

A list of daily operational hours for the phone number, detailing the opening and closing times for each day of the week.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dayId | string | Unique identifier for each day of the week.<br>*Example:* `"Fri"` | Yes |
| openTime | string | The opening time of the day in HH:mm format.<br>*Example:* `"10:00"` | Yes |
| closeTime | string | The closing time of the day in HH:mm format.<br>*Example:* `"5:00"` | Yes |

#### CardAccountBenefitDetailsRequestDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| asOfDate | date | The specific date for which benefit details are requested. The date must not be earlier than 2009-01-01. | No |
| language | string | The language code in which the benefit details are requested. The code should be a maximum of 3 characters.<br>*Example:* `"en"` | No |
| benefitId | integer | A unique identifier for the benefit. This identifier is used to reference a specific benefit.<br>*Example:* `7000345` | Yes |
| primaryAccountNumber | string | The primary account number (PAN) of the cardholder. This is a unique identifier for the cardholder's account.<br>*Example:* `"1234123412341234"` | Yes |

#### QualifiedSpendTiersDTO Schema

A list of the qualified spend tiers details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| spendAsOfDate | string | The date up to which the spend amount is calculated, formatted as yyyy-MM-dd.<br>*Example:* `"2018-07-31"` | No |
| transactionCount | integer | The number of transactions that contribute to the total spend amount for this spend tier.<br>*Example:* `10` | No |
| spendTierConfigId | integer | The unique identifier for the spend tier configuration.<br>*Example:* `321` | No |
| isMaxQualifiedTier | boolean | Indicates whether this is the maximum qualified spend tier, with true representing the highest tier.<br>*Example:* `true` | No |
| spendTierSpendAmount | number | The total amount of money spent to qualify for this spend tier, represented as a decimal value.<br>*Example:* `200` | No |

#### CardProductDetailsDTO Schema

Card product details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| isoBin | string | The ISO BIN associated with the card product.<br>*Example:* `"414663"` | No |
| regionCode | string | The code representing the region associated with the card product.<br>*Example:* `"05"` | No |
| regionName | string | The name of the region associated with the card product.<br>*Example:* `"LAT.AM."` | No |
| countryCode | string | The code representing the country associated with the card product.<br>*Example:* `"76"` | No |
| countryName | string | The name of the country associated with the card product.<br>*Example:* `"BRAZIL"` | No |
| productIdCode | string | The code representing the card product. This code specifies the type of card product.<br>*Example:* `"J3"` | No |
| productIdName | string | The name of the card product. This name describes the specific card product.<br>*Example:* `"Visa Signature"` | No |
| productCategory | string | The category of the product. This category classifies the type of product.<br>*Example:* `"Commercial"` | No |
| productDescription | string | A description of the product. This description provides details about the product.<br>*Example:* `"Visa Classic"` | No |
| productCategoryCode | string | The code representing the product category. This code specifies the classification of the product.<br>*Example:* `"COM"` | No |
| productIdSubtypeCode | string | The code representing the subtype of the card product. This code provides additional classification for the card product.<br>*Example:* `"CN"` | No |
| accountFundingSourceCode | string | The code representing the global product ID funding source. This code specifies the source of funds for the account.<br>*Example:* `"C"` | No |
| accountFundingSourceName | string | The name of the account funding source. This name describes the type of funding source for the account.<br>*Example:* `"Credit"` | No |
| accountFundingSubtypeCode | string | The code representing the subtype of the account funding source. This code provides additional classification for the funding source.<br>*Example:* `"N"` | No |
| accountFundingSubtypeName | string | The name of the account funding subtype. This name describes the specific subtype of the funding source for the account.<br>*Example:* `"Non-Reloadable"` | No |
| productIdSubtypeDescription | string | A description of the card product subtype. This description provides details about the specific subtype of the card product.<br>*Example:* `"Commercial Non-Reloadable"` | No |

#### responseStatus Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string, <br>**Available values:** "SUCCESS", "MOD_10", "CLIENT_ERROR", "INVALID_INPUT", "INVALID_REQUEST_FORMAT", "NOT_FOUND", "NO_PORTFOLIO_FOUND", "NO_BENEFIT_PORTFOLIO_FOUND", "COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM", "CONFLICTING_CARD_ACCOUNT_RANGES", "COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD", "NO_ORGANIZATION_FOUND", "BIN_MANAGEMENT_IS_UNDEFINED", "MULTIPLE_CLE_TYP_FOUND", "PARSE_ERROR", "FORBIDDEN", "NOT_AUTHORIZED", "INTERNAL_SERVER_ERROR", "BIN_NOT_ASSOCIATED_WITH_ISSUER", "CAQ_PARSE_ERROR", "SERVICE_UNAVAILABLE_ERROR", "INVALID_USER_ID", "INVALID_MESSAGE_ID", "INVALID_APPLICATION_ID", "INVALID_PAN", "INVALID_DATE", "INVALID_PAN_LENGTH", "PAN_MISMATCH", "PACKAGE_NOT_FOUND", "UNSUPPORTED_MEDIA_TYPE" | Reason about the API Response<br>*Enum:* `"SUCCESS"`, `"MOD_10"`, `"CLIENT_ERROR"`, `"INVALID_INPUT"`, `"INVALID_REQUEST_FORMAT"`, `"NOT_FOUND"`, `"NO_PORTFOLIO_FOUND"`, `"NO_BENEFIT_PORTFOLIO_FOUND"`, `"COULD_NOT_FIND_ACCOUNT_RANGE_FOR_CARD_NUM"`, `"CONFLICTING_CARD_ACCOUNT_RANGES"`, `"COULD_NOT_FIND_PRODUCT_TYPE_FOR_THE_CARD"`, `"NO_ORGANIZATION_FOUND"`, `"BIN_MANAGEMENT_IS_UNDEFINED"`, `"MULTIPLE_CLE_TYP_FOUND"`, `"PARSE_ERROR"`, `"FORBIDDEN"`, `"NOT_AUTHORIZED"`, `"INTERNAL_SERVER_ERROR"`, `"BIN_NOT_ASSOCIATED_WITH_ISSUER"`, `"CAQ_PARSE_ERROR"`, `"SERVICE_UNAVAILABLE_ERROR"`, `"INVALID_USER_ID"`, `"INVALID_MESSAGE_ID"`, `"INVALID_APPLICATION_ID"`, `"INVALID_PAN"`, `"INVALID_DATE"`, `"INVALID_PAN_LENGTH"`, `"PAN_MISMATCH"`, `"PACKAGE_NOT_FOUND"`, `"UNSUPPORTED_MEDIA_TYPE"` | No |
| status | integer | Status of the API Response | No |
| message | string | Short Description about the Response | No |
| responseCode | string | Response Code from the API | No |
| correlationId | string | Id to track the request thru different system | No |
| subResponseCode | string | Sub Response Code from the API for better debugging | No |
| requestMessageId | string | Id to track the request from the client | No |

#### OptionalBenefitInfoDTO Schema

Details of optional benefits available in a list template.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| benefits | [ { **"benefitId"**: integer, **"isChoiceEnabled"**: boolean } ] | List of optional benefits.) | No |
| instructions | string | Instructions related to the benefit, providing guidance on how to use or apply the benefit.<br>*Example:* `"Instructions will show here"` | No |
| maxBenefitsAllowed | integer | Maximum number of benefits that can be allowed to a cardholder.<br>*Example:* `10` | No |
| minBenefitsRequired | integer | Minimum number of benefits required for a cardholder.<br>*Example:* `1` | No |

#### CardAccountBenefitsRequestDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| asOfDate | date | The specific date for which benefits are requested. The date must not be earlier than 2009-01-01. | No |
| language | string | The language code in which the benefit details are requested. The code should be a maximum of 3 characters.<br>*Example:* `"en"` | No |
| primaryAccountNumber | string | The primary account number (PAN) of the cardholder. This is a unique identifier for the cardholder's account.<br>*Example:* `"1234123412341234"` | Yes |

#### CardProductBenefitDetailsRequestDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| asOfDate | date | The specific date for which benefit details are requested. The date must not be earlier than 2009-01-01. | No |
| language | string | The language code in which the benefit details are requested. The code should be a maximum of 3 characters.<br>*Example:* `"en"` | No |
| benefitId | [ integer ] | A unique identifier for the benefit. This identifier is used to reference a specific benefit.<br>*Example:* `["346755"]` | Yes |
| requestLevel | string | Level for which the benefit details are requested (maximum 10 UTF-8 bytes).<br>*Example:* `"RPIN"` | Yes |
| cardProductId | string | The unique identifier for the card product. This code is used to specify the type of card product.<br>*Example:* `"A"` | Yes |
| requestValues | [ string ] | Level value codes for which benefit details are requested.<br>*Example:* `[346755]` | Yes |
| productSubType | string | The subtype code of the product.<br>*Example:* `"CB"` | Yes |
| accountFundingSourceCode | string | The code representing the source of funds for the account.<br>*Example:* `"C"` | Yes |
| accountFundingSubtypeCode | string | The subtype code for the account funding source.<br>*Example:* `"R"` | Yes |

#### PanBenefitDTO Schema

List of benefits available for the cardholder, detailing each benefit's attributes and conditions.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| costs | [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ] | Cost details for each redemption of the benefit. | No |
| files | object | Files associated with the benefit. | No |
| endDate | date | The date when the benefit ends, formatted as yyyy-MM-dd. | No |
| isAddOn | boolean | Specifies if the benefit is an addOn benefit.<br>*Example:* `false` | No |
| isActive | boolean | Indicates whether the benefit is currently active(true) or inactive(false).<br>*Example:* `false` | No |
| videoUrl | string | URL link to the video related to the benefit.<br>*Example:* `"https://sampleurl.com"` | No |
| visaCore | boolean | Indicator to check if benefit is a Visa core benefit.<br>*Example:* `false` | No |
| benefitId | string | Unique identifier for the benefit.<br>*Example:* `"7000345"` | Yes |
| startDate | date | The date when the benefit starts, formatted as yyyy-MM-dd. | No |
| choiceDate | date | The date on which the cardholder made their last choice,formatted as yyyy-MM-dd. | No |
| choiceType | string | Specifies the type of choice available for the benefit.<br>*Example:* `"CARDHOLDER"` | No |
| issuerCore | boolean | Indicator to check if benefit is a Issuer core benefit.<br>*Example:* `false` | No |
| mediaFiles | object | Media files associated with the benefit. | No |
| benefitPath | string | Benefit path. The maximum size is 100 UTF-8 bytes.<br>*Example:* `"bundle/2345"` | No |
| benefitTags | [ string ] | A list of tags associated with the benefit.<br>*Example:* `["wellness","dine","top10"]` | No |
| fundedByCode | string | A code representing the entity or entities responsible for funding the benefit, such as C for Cardholder, I for Issuer, B for Visa & Issuer, etc.<br>*Example:* `"I"` | No |
| fundedByName | string | The entity or entities responsible for funding the benefit, which could be the cardholder, issuer, merchant, or other combinations of the specified entities.<br>*Example:* `"Issuer"` | No |
| languageCode | string | The language code in which the benefit details are returned.<br>*Example:* `"en"` | No |
| coverageUntil | date | The date until which the benefit coverage is valid, formatted as yyyy-MM-dd. | No |
| isVisaManaged | boolean | Indicates if benefit is managed by Visa.<br>*Example:* `false` | No |
| benefitVersion | string | Version number of the benefit.<br>*Example:* `"1"` | Yes |
| additionalLinks | [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ] | A list of additional links related to the benefit, providing further information or actions for each redemption. | No |
| benefitTypeCode | string | Code representing the type of benefit. The maximum size is 10 UTF-8 bytes.<br>*Example:* `"ALA"` | No |
| benefitTypeName | string | Name representing the type of benefit. The maximum size is 100 UTF-8 bytes.<br>*Example:* `"Airport Lounge Access"` | No |
| cardProductType | string | Type of the card associated with the benefit.<br>*Example:* `"Visa Signature"` | No |
| isDefaultChoice | boolean | Specifies if the selection is a default choice.<br>*Example:* `true` | No |
| isIssuerSourced | boolean | Indicates if benefit is managed by Issuer.<br>*Example:* `false` | No |
| languageSupport | [ string ] | Supported languages for the benefit.<br>*Example:* `["en","es"]` | No |
| benefitCategories | [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ] | A list of categories associated with the benefit. The maximum size of the list is 512 UTF-8 bytes. | No |
| benefitDisplayName | string | Display name of the benefit. The maximum size is 100 UTF-8 bytes.<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilValue | integer | The numerical value representing the duration of the benefit coverage period.<br>*Example:* `31` | No |
| isInsuranceBenefit | boolean | Indicates if benefit is an Insurance benefit.<br>*Example:* `false` | No |
| benefitInternalName | string | Internal name of the benefit. The maximum size is 100 UTF-8 bytes.<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilPeriod | string | The unit of time for the benefit coverage period.<br>*Example:* `"DAY"` | No |
| isAvailableToSelect | boolean | Specifies if benefit is available to be selected.<br>*Example:* `true` | No |
| qualificationTypeCode | string | Code to indicate the qualification type of a benefit. Possible values are: SPN (Spend Individual: spend-based qualification for one coverage), SPC (Spend Combined: spend-based qualification for aggregated coverages), FLT (Float Individual: no spend criteria for one coverage), FLC (Float Combined: no spend criteria for aggregated coverages). Spend-based qualifications require meeting a spend criteria or range, while float-based qualifications do not. Individual means qualifying for only one of the available coverages, and combined means receiving the aggregation of all available coverages. When there is a combination of spend and float coverages, it will classify as spend-based.<br>*Example:* `"SPN"` | No |
| benefitLongDescription | string | Long description of the benefit provided by the issuer. The maximum size is 1024 UTF-8 bytes.<br>*Example:* `"2 free lounge access in a year"` | No |
| benefitShortDescription | string | Short description of the benefit provided by the issuer. The maximum size is 1024 UTF-8 bytes.<br>*Example:* `"2 free lounge access in a year"` | No |
| reAcknowledgeTermsRequired | boolean | Specifies if acknowledgement is required.<br>*Example:* `false` | No |

#### CardAccountBenefitDetailsDTO Schema

Benefit details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| costs | [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ] | Cost details for each redemption of the benefit. | No |
| files | object | Files associated with the benefit. | No |
| issuer | { **"businessId"**: integer, **"businessName"**: string } | Details of the supplier of the benefit. | No |
| endDate | date | The date when the benefit ends, formatted as yyyy-MM-dd. | No |
| isAddOn | boolean | Specifies if the benefit is an addOn benefit.<br>*Example:* `false` | No |
| coverage | { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string } | Details about the coverage associated to the spend tier. | No |
| isActive | boolean | Indicates whether the benefit is currently active. A value of true means the benefit is active, while false means it is inactive.<br>*Example:* `true` | No |
| supplier | { **"businessId"**: integer, **"businessName"**: string } | Details of the supplier of the benefit. | No |
| videoUrl | string | URL link to the video related to the benefit.<br>*Example:* `"https://sampleurl.com"` | No |
| visaCore | boolean | Indicator to check if benefit is a Visa core benefit.<br>*Example:* `false` | No |
| benefitId | string | Unique identifier for the benefit.<br>*Example:* `"7000345"` | Yes |
| startDate | date | The date when the benefit starts, formatted as yyyy-MM-dd. | No |
| choiceDate | string | The date on which the cardholder made their last choice, formatted as yyyy-MM-dd.<br>*Example:* `"2023-05-31"` | No |
| choiceType | string | Specifies the type of choice available for the benefit.<br>*Example:* `"CARDHOLDER"` | No |
| issuerCore | boolean | Indicator to check if benefit is an Issuer core benefit.<br>*Example:* `false` | No |
| mediaFiles | object | Media files associated with the benefit. | No |
| benefitPath | string | Benefit path (maximum 100 UTF-8 bytes).<br>*Example:* `"group/123"` | No |
| benefitTags | [ string ] | A list of tags associated with the benefit.<br>*Example:* `["wellness","dine","top10"]` | No |
| fundedByCode | string | A code representing the entity or entities responsible for funding the benefit, such as C for Cardholder, I for Issuer, B for Visa & Issuer, etc.<br>*Example:* `"I"` | No |
| fundedByName | string | The entity or entities responsible for funding the benefit, which could be the cardholder, issuer, merchant, or other combinations of the specified entities.<br>*Example:* `"Issuer"` | No |
| languageCode | string | The language code of the returned benefit.<br>*Example:* `"en"` | No |
| coverageUntil | date | The date until which the benefit coverage is valid, formatted as yyyy-MM-dd. | No |
| isVisaManaged | boolean | Indicates if benefit is managed by Visa.<br>*Example:* `false` | No |
| benefitVersion | string | Version number of the benefit.<br>*Example:* `"1"` | Yes |
| redemptionInfo | { **"redemptionsAsOfDate"**: string, **"totalRedemptionsUsed"**: integer, **"currentRedemptionsUsed"**: integer } | Details of the redemption of the benefit. | No |
| additionalLinks | [ { **"linkUrl"**: string, **"linkValue"**: string, **"linkTypeCode"**: string, **"linkDescription"**: string, **"linkSubTypeCode"**: string, **"linkTypeDescription"**: string, **"linkSubTypeDescription"**: string } ] | A list of additional links related to the benefit, providing further information or actions for each redemption. | No |
| benefitTypeCode | string | Code representing the type of benefit (maximum 10 UTF-8 bytes).<br>*Example:* `"ALA"` | No |
| benefitTypeName | string | Name representing the type of benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Airport Lounge Access"` | No |
| cardProductType | string | Type of the card associated with the benefit.<br>*Example:* `"Visa Signature"` | No |
| isDefaultChoice | boolean | Specifies if the selection is a default choice.<br>*Example:* `true` | No |
| isIssuerSourced | boolean | Indicates if benefit is managed by Issuer.<br>*Example:* `false` | No |
| languageSupport | [ string ] | Supported languages for the benefit.<br>*Example:* `["en","es"]` | No |
| serviceProvider | { **"businessId"**: integer, **"businessName"**: string } | Details of the supplier of the benefit. | No |
| benefitCategories | [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ] | A list of categories associated with the benefit. The maximum size of the list is 512 UTF-8 bytes. | No |
| benefitSpendTiers | [ { **"spendCoverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierOrderId"**: integer, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ] | List of qualified spend tier information and associated coverages. Each entry represents a portion of the benefit's coverage, with some portions having spend-based qualifications. If there is no spend-based qualification, the coverage portion is still listed, but with spend tier information set to default values. When coverages are individuals will only list coverage with max coverage level among the qualified ones. | No |
| benefitDisplayName | string | Display name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilValue | integer | The numerical value representing the duration of the benefit coverage period.<br>*Example:* `31` | No |
| isInsuranceBenefit | boolean | Indicates if benefit is an insurance benefit.<br>*Example:* `false` | No |
| benefitInternalName | string | Internal name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilPeriod | string | The unit of time for the benefit coverage period.<br>*Example:* `"DAY"` | No |
| isAvailableToSelect | boolean | Specifies if benefit is available to be selected.<br>*Example:* `true` | No |
| qualifiedSpendTiers | [ { **"spendAsOfDate"**: string, **"transactionCount"**: integer, **"spendTierConfigId"**: integer, **"isMaxQualifiedTier"**: boolean, **"spendTierSpendAmount"**: number } ] | A list of the qualified spend tiers details. | No |
| qualificationTypeCode | string | Code to indicate the qualification type of a benefit. Possible values are: SPN (Spend Individual: spend-based qualification for one coverage), SPC (Spend Combined: spend-based qualification for aggregated coverages), FLT (Float Individual: no spend criteria for one coverage), FLC (Float Combined: no spend criteria for aggregated coverages). Spend-based qualifications require meeting a spend criteria or range, while float-based qualifications do not. Individual means qualifying for only one of the available coverages, and combined means receiving the aggregation of all available coverages. When there is a combination of spend and float coverages, it will classify as spend-based.<br>*Example:* `"SPN"` | No |
| serviceProviderPhones | [ { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } ] | Phone details of the service provider for the benefit. | No |
| benefitLongDescription | string | Long description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |
| issuerBenefitReference | string | Reference identifier for the benefit provided by the issuer. | No |
| benefitShortDescription | string | Short description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |
| reAcknowledgeTermsRequired | boolean | Specifies if acknowledgement is required.<br>*Example:* `false` | No |

#### BundlesDTO Schema

Details of optional benefits available in a bundles template.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| bundle | [ { **"benefits"**: [ integer ], **"bundleId"**: integer, **"bundleName"**: string, **"choiceDate"**: string, **"choiceType"**: string, **"instructions"**: string, **"isChoiceEnabled"**: boolean, **"isDefaultChoice"**: boolean, **"isAvailableToSelect"**: boolean } ] | List of bundles available for the cardholder. | No |
| maxBundlesAllowed | integer | Maximum number of bundles that can be allowed for a cardholder.<br>*Example:* `5` | No |
| minBundlesRequired | integer | Minimum number of bundles required for a cardholder.<br>*Example:* `0` | No |

#### RenewalEmailSettingsDTO Schema

Settings related to the renewal email, including frequency and criteria.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| frequency | { **"type"**: string, **"event"**: string, **"value"**: string, **"periodType"**: string, **"description"**: string, **"eventCriteriaParameter"**: string } | Metadata related to the frequency of the renewal email, including the type and period. | No |
| sendRenewalEmail | boolean | Indicates whether the renewal email should be sent (true) or not (false).<br>*Example:* `true` | No |

#### CardProductBenefitsRequestDTO Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| asOfDate | date | The specific date for which benefit details are requested. The date must not be earlier than 2009-01-01. | No |
| language | string | The language code in which the benefit details are requested. The code should be a maximum of 3 characters.<br>*Example:* `"en"` | No |
| requestLevel | string | Level for which the benefits are requested (maximum 10 UTF-8 bytes).<br>*Example:* `"RPIN"` | Yes |
| cardProductId | string | The unique identifier for the card product. This code is used to specify the type of card product.<br>*Example:* `"A"` | Yes |
| requestValues | [ string ] | A unique identifier for the benefit. This identifier is used to reference a specific benefit.<br>*Example:* `["346755"]` | Yes |
| productSubType | string | The subtype code of the product.<br>*Example:* `"CB"` | Yes |
| accountFundingSourceCode | string | The code representing the source of funds for the account.<br>*Example:* `"C"` | Yes |
| accountFundingSubtypeCode | string | The subtype code for the account funding source.<br>*Example:* `"R"` | Yes |

#### BenefitDTO Schema

List of benefits included in the group.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| benefitId | integer | Unique identifier for the benefit.<br>*Example:* `700345` | No |
| isChoiceEnabled | boolean | Indicates whether the benefit is available for the cardholder to choose.<br>*Example:* `false` | No |

#### SpendDetailsDTO Schema

List of qualified spend tier information and associated coverages. Each entry represents a portion of the benefit's coverage, with some portions having spend-based qualifications. If there is no spend-based qualification, the coverage portion is still listed, but with spend tier information set to default values. When coverages are individuals will only list coverage with max coverage level among the qualified ones.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| spendCoverage | { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string } | Details about the coverage associated to the spend tier. | No |
| spendTierType | string | The type of spend tier.<br>*Example:* `"Hurdle"` | No |
| spendToAmount | number | The maximum amount allowed for the spend tier.<br>*Example:* `1000` | No |
| spendFromAmount | number | The minimum amount required to qualify for the spend tier.<br>*Example:* `1000` | No |
| benefitIndicator | string | Indicates benefit.<br>*Example:* `"Individual"` | No |
| spendTierOrderId | integer | The order identifier for the spend tier.<br>*Example:* `1` | No |
| spendTierConfigId | integer | The unique identifier for the spend tier configuration.<br>*Example:* `123` | No |
| spendTierDescription | string | A description of the spend tier.<br>*Example:* `"Logical name of spend tier"` | No |
| spendTierCurrencyCode | integer | The numeric code of the currency used in the spend tier.<br>*Example:* `840` | No |
| spendTierCurrencyName | string | The name of the currency used in the spend tier.<br>*Example:* `"U. S. DOLLAR"` | No |
| spendTierCurrencyCodeName | string | The alpha code of the currency used in the spend tier.<br>*Example:* `"USD"` | No |
| spendTierMerchantCategory | string | The merchant category associated with the spend tier.<br>*Example:* `"MCG"` | No |

#### PhoneDTO Schema

The issuer customer service phone details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| phoneLabel | string | Label identifying the phone number type (e.g., name of the organization).<br>*Example:* `"wells-fargo"` | No |
| phoneNumber | string | Value for the phone number.<br>*Example:* `"888-619-1234"` | No |
| phoneExtension | string | Extension number for the phone, if applicable.<br>*Example:* `"4567"` | No |
| phoneHoursOfOperation | { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } | Hours of operation for the phone number, including timezone information. | No |

#### EligibilityPanBenefitDetailsDTO Schema

List of active benefits, detailing each benefit's attributes and conditions.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| costs | [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ] | Cost details for each redemption of the benefit. | No |
| issuer | { **"businessId"**: integer, **"businessName"**: string } | Details of the supplier of the benefit. | No |
| endDate | date | The date when the benefit ends, formatted as yyyy-MM-dd. | No |
| isAddOn | boolean | Specifies if the benefit is an addOn benefit.<br>*Example:* `false` | No |
| coverage | { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string } | Details about the coverage associated to the spend tier. | No |
| visaCore | boolean | Indicator to check if benefit is a Visa core benefit.<br>*Example:* `false` | No |
| benefitId | string | Unique identifier for the benefit.<br>*Example:* `"7000345"` | Yes |
| startDate | date | The date when the benefit starts, formatted as yyyy-MM-dd. | No |
| issuerCore | boolean | Indicator to check if benefit is an Issuer core benefit.<br>*Example:* `false` | No |
| fundedByCode | string | A code representing the entity or entities responsible for funding the benefit, such as C for Cardholder, I for Issuer, B for Visa & Issuer, etc.<br>*Example:* `"I"` | No |
| fundedByName | string | The entity or entities responsible for funding the benefit, which could be the cardholder, issuer, merchant, or other combinations of specified entities.<br>*Example:* `"Issuer"` | No |
| coverageUntil | date | The date until which the benefit coverage is valid, formatted as yyyy-MM-dd. | No |
| isVisaManaged | boolean | Indicates if benefit is managed by Visa.<br>*Example:* `false` | No |
| redemptionInfo | { **"redemptionsAsOfDate"**: string, **"totalRedemptionsUsed"**: integer, **"currentRedemptionsUsed"**: integer } | Details of the redemption of the benefit. | No |
| benefitTypeCode | string | Code representing the type of benefit (maximum 10 UTF-8 bytes).<br>*Example:* `"ALA"` | No |
| benefitTypeName | string | Name representing the type of benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Airport Lounge Access"` | No |
| cardProductType | string | Type of the card associated with the benefit.<br>*Example:* `"Visa Signature"` | No |
| isDefaultChoice | boolean | Specifies if the selection is a default choice.<br>*Example:* `true` | No |
| languageSupport | [ string ] | Supported languages for the benefit.<br>*Example:* `["en","es"]` | No |
| serviceProvider | { **"businessId"**: integer, **"businessName"**: string } | Details of the supplier of the benefit. | No |
| benefitCategories | [ { **"benefitCategory"**: string, **"benefitCategoryId"**: integer } ] | A list of categories associated with the benefit. The maximum size of the list is 512 UTF-8 bytes. | No |
| benefitSpendTiers | [ { **"spendCoverage"**: { **"isPooled"**: boolean, **"fundedByCode"**: string, **"fundedByName"**: string, **"coverageCosts"**: [ { **"billedTo"**: string, **"costAmount"**: number, **"costTypeCode"**: string, **"billingOptions"**: string, **"costCurrencyCode"**: integer, **"costCurrencyName"**: string, **"costCurrencyCodeName"**: string } ], **"coverageLevel"**: integer, **"coverageValue"**: string, **"coverageMaxValue"**: number, **"coverageMinValue"**: number, **"coverageTypeCode"**: string, **"coverageTypeName"**: string, **"coverageUntilDate"**: date, **"coverageUntilValue"**: integer, **"coverageUntilPeriod"**: string, **"coverageCurrencyCode"**: integer, **"coverageCurrencyName"**: string, **"restrictionsPerVisit"**: integer, **"redemptionBillingInfo"**: [ { **"userType"**: string, **"statusCode"**: string, **"entityToBill"**: string, **"userQuantity"**: integer } ], **"coverageCurrencyCodeName"**: string, **"maxNumRedemptionsAllowed"**: integer, **"additionalRedemptionsAllowed"**: integer, **"maxNumRedemptionsTimeLimitValue"**: integer, **"maxNumRedemptionsTimeLimitPeriod"**: string, **"additionalRedemptionsTimeLimitValue"**: integer, **"additionalRedemptionsTimeLimitPeriod"**: string }, **"spendTierType"**: string, **"spendToAmount"**: number, **"spendFromAmount"**: number, **"benefitIndicator"**: string, **"spendTierOrderId"**: integer, **"spendTierConfigId"**: integer, **"spendTierDescription"**: string, **"spendTierCurrencyCode"**: integer, **"spendTierCurrencyName"**: string, **"spendTierCurrencyCodeName"**: string, **"spendTierMerchantCategory"**: string } ] | List of qualified spend tier information and associated coverages. Each entry represents a portion of the benefit's coverage, with some portions having spend-based qualifications. If there is no spend-based qualification, the coverage portion is still listed, but with spend tier information set to default values. When coverages are individuals will only list coverage with max coverage level among the qualified ones. | No |
| benefitDisplayName | string | Display name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilValue | integer | The numerical value representing the duration of the benefit coverage period.<br>*Example:* `31` | No |
| benefitInternalName | string | Internal name of the benefit (maximum 100 UTF-8 bytes).<br>*Example:* `"Free Lounge Access"` | No |
| coverageUntilPeriod | string | The unit of time for the benefit coverage period.<br>*Example:* `"DAY"` | No |
| qualifiedSpendTiers | [ { **"spendAsOfDate"**: string, **"transactionCount"**: integer, **"spendTierConfigId"**: integer, **"isMaxQualifiedTier"**: boolean, **"spendTierSpendAmount"**: number } ] | A list of the qualified spend tiers details. | No |
| qualificationTypeCode | string | Code to indicate the qualification type of a benefit. Possible values are: SPN (Spend Individual: spend-based qualification for one coverage), SPC (Spend Combined: spend-based qualification for aggregated coverages), FLT (Float Individual: no spend criteria for one coverage), FLC (Float Combined: no spend criteria for aggregated coverages). Spend-based qualifications require meeting a spend criteria or range, while float-based qualifications do not. Individual means qualifying for only one of the available coverages, and combined means receiving the aggregation of all available coverages. When there is a combination of spend and float coverages, it will classify as spend-based.<br>*Example:* `"SPN"` | No |
| serviceProviderPhones | [ { **"phoneLabel"**: string, **"phoneNumber"**: string, **"phoneExtension"**: string, **"phoneHoursOfOperation"**: { **"timezone"**: string, **"dailyHours"**: [ { **"dayId"**: string, **"openTime"**: string, **"closeTime"**: string } ] } } ] | Phone details of the service provider for the benefit. | No |
| benefitLongDescription | string | Long description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |
| benefitShortDescription | string | Short description of the benefit provided by the issuer (maximum 1024 UTF-8 bytes).<br>*Example:* `"2 free lounge access in a year"` | No |
| reAcknowledgeTermsRequired | boolean | Specifies if acknowledgement is required.<br>*Example:* `false` | No |

#### OrgDTO Schema

Details of the supplier of the benefit.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| businessId | integer | Unique business identifier for the organization.<br>*Example:* `1022212` | No |
| businessName | string | Business name of the organization.<br>*Example:* `"ALA Bank"` | No |
