swagger: '2.0' info: title: Mastercard Bill Payment Validator Account Opening Debit API description: This service is provided on behalf of the Mastercard Remote Payment and Presentment (RPPS) Bill Payment Processing Network, which supports consumer to business "push" bill payments (i.e. those which are not funded by debit/credit card transactions) in the U.S. version: '1.0' x-artifactId: billpay-api contact: name: Bill Pay Development Support email: Bill_Pay_Development_Support@mastercard.com host: sandbox.api.mastercard.com basePath: /billpayAPI/v1 schemes: - https consumes: - application/json produces: - application/json tags: - name: Debit paths: /debit-cards: post: tags: - Debit summary: Mastercard **debit Card Issuance** - Issue Debit Card to Existing or New Client description: 'This API allows users to issue primary, add-on or supplementary debit card to existing/new client with the help of CBS system. The Mastercard issuing system receives, validates, and send the request to CBS for fulfilment. If the request is successful, then card will be generated, and card details like ''card number'', ''card Id'', ''card pack Id'', etc. will be sent in the response.
Note: More than one card information in the response indicates issuance of paired cards.' operationId: createDebitCard x-mastercard-api-encrypted: true parameters: - $ref: '#/components/parameters/BankCode' - $ref: '#/components/parameters/CorrelationID' - $ref: '#/components/parameters/Source' - $ref: '#/components/parameters/EndUserID' - $ref: '#/components/parameters/IdempotencyKey' requestBody: $ref: '#/components/requestBodies/DebitCardApplicationRequest' responses: '201': $ref: '#/components/responses/DebitCardProfileResponse' '400': $ref: '#/components/responses/BadPostRequestError' '401': $ref: '#/components/responses/UnauthorizedError' '403': $ref: '#/components/responses/ForbiddenError' '409': $ref: '#/components/responses/ConflictError' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: responses: UnauthorizedError: description: Authentication information is missing or invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorsInfo' examples: UnauthorizedExample: $ref: '#/components/examples/UnauthorizedExample' headers: X-MC-Correlation-ID: $ref: '#/components/headers/Response-Correlation-ID' BadPostRequestError: description: The request failed due to invalid or missing value. The value could be a header value, a query parameter value, or a request body property value. content: application/json: schema: $ref: '#/components/schemas/ErrorsInfo' examples: MissingRequiredFieldExample: $ref: '#/components/examples/MissingRequiredFieldExample' InvalidFieldValueExample: $ref: '#/components/examples/InvalidFieldValueExample' InvalidFieldFormatExample: $ref: '#/components/examples/InvalidFieldFormatExample' InvalidFieldLengthExample: $ref: '#/components/examples/InvalidFieldLengthExample' CryptographyErrorExample: $ref: '#/components/examples/CryptographyErrorExample' headers: X-MC-Correlation-ID: $ref: '#/components/headers/Response-Correlation-ID' ForbiddenError: description: Insufficient permissions for interacting with the resource. content: application/json: schema: $ref: '#/components/schemas/ErrorsInfo' examples: ForbiddenExample: $ref: '#/components/examples/ForbiddenExample' headers: X-MC-Correlation-ID: $ref: '#/components/headers/Response-Correlation-ID' ConflictError: description: A conflict happened when creating or updating the resource. content: application/json: schema: $ref: '#/components/schemas/ErrorsInfo' examples: ConflictExample: $ref: '#/components/examples/ConflictExample' headers: X-MC-Correlation-ID: $ref: '#/components/headers/Response-Correlation-ID' DebitCardProfileResponse: description: The debit card was successfully created/issued. content: application/json: schema: $ref: '#/components/schemas/DebitCardProfile' headers: X-MC-Correlation-ID: $ref: '#/components/headers/Response-Correlation-ID' X-MC-Idempotency-Key: $ref: '#/components/headers/Response-Idempotency-Key' X-MC-Original-Request-Correlation-ID: $ref: '#/components/headers/Response-Original-Correlation-ID' schemas: CbsCustomer: allOf: - $ref: '#/components/schemas/BasePerson' type: object properties: kyc: $ref: '#/components/schemas/Kyc' MaritalStatus: type: string description: 'Indicates Marital Status of the client.

**Conditional Mandatory*** field - Required while creating new client.
Valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for ''Type Id=MARITAL_STATUS''.
**Few sample values: ** `Single`, `Married`, `Divorcee`, `Widow/Widower`' example: Married DeliveryMode: type: string description: Client's preferred delivery mode. Application request with instant card true, delivery mode should be `Branch`.
Valid values are configured on "Card Management > Institution Parameter Setup > System Codes [ISSS15]" screen for "Type Id=DELIVERY_MODE".
**Few sample values:** `Branch`, `Payment system department`, `Mail` example: Branch CustomField: type: object properties: name: type: string description: 'Custom field name like: `clientDateField1`, `clientDataField1`, `clientNumberField1`, `cardDateField1`, `cardDataField1`, `cardNumberField1`, `accountDateField1`, `accountDataField1`, `accountNumberField1`.
Only 5 fields of each type are supported like clientDateField2, clientDateField3, clientDateField4, clientDateField5.
This field is required if configured as **Business Mandatory*** .' pattern: ((client|account|card)(Date|Data|Number)Field[1-5]?) example: clientDateField1 value: type: string description: 'Custom field value. * In case of date value, it must be expressed in ISO 8601 format - YYYY-MM-DD. For example, 2022-01-16 * In case of data, it could be a free text that may contain alphanumeric letters or special characters mentioned in the pattern field. * In case of number value, it is recommended to provide a number having maximum 12 digits before decimal and up to 5 digits after decimal. For example: 999999999999.99999' minLength: 1 maxLength: 100 pattern: '[a-zA-Z0-9 ,&.''-]+' example: '2022-01-16' NewCardDetails: allOf: - $ref: '#/components/schemas/BaseCardWithSecrets' type: object properties: embossedName: $ref: '#/components/schemas/EmbossedName' PermanentAddress: allOf: - $ref: '#/components/schemas/Address' type: object properties: permanentAddressFrom: type: string format: date description: Date since when the referenced address is defined as the permanent address.
Format - It is expressed in ISO 8601 - `YYYY-MM-DD` example: '2000-02-22' LegalDocument: description: Legal document that is required for KYC. type: object properties: id: type: string description: ID of legal document.
**Conditional Mandatory*** field - Required when legal document type is provided. minLength: 4 maxLength: 25 pattern: '[a-zA-Z0-9]+' example: P039238238 type: $ref: '#/components/schemas/LegalDocumentType' placeOfIssuance: type: string description: Place of issuance of legal document
**Conditional Mandatory*** field - Required when legal document id is provided and configured in document checklist plan associated with program. minLength: 1 maxLength: 100 pattern: '[^%<>\\[\\]^$]+' example: Mumbai, India expiryDate: type: string format: date description: Date on which the legal document will expire.
**Conditional Mandatory*** field - Required when legal document id is provided and configured in document checklist plan associated with program.
Format - It is expressed in ISO 8601 - `YYYY-MM-DD` example: '2050-05-16' Language: type: string description: 'Language preference. Language tags should be in the ''Language-Region'' format as described by Internet Engineering ''Task Force (IETF) BCP 47'' standard.
**Conditional Mandatory*** field - Required while creating new client.
**Valid values: ** * `en-US` - English language * `ar-AE` - Arabic language * `th-TH` - Thai language' example: en-US DebitCardDetails: allOf: - $ref: '#/components/schemas/RequestValidityTime' type: object required: - dataValidUntilTimestamp properties: application: $ref: '#/components/schemas/DebitApplication' branchCode: type: string description: 'Branch Code.
**Conditional Mandatory*** field - Required for **Primary** card issuance to new client.

For the following application types, if the value is sent, then the branch code is changed for the client initiating the request along with the associated Primary, Supplementary and Add-On cards.:
* Primary Card - Existing Client (New Program)
* Supplementary Card - Existing Program
For the following application types, the value in the field should be empty or same as Primary client''s branch code. If the branch code is received and does not match with Primary client''s branch code, then the request is rejected:
* Add On for new Client
* Supplementary Existing Program for Corporate Card' minLength: 1 maxLength: 6 pattern: '[0-9]+' example: '0316' primary: $ref: '#/components/schemas/PrimaryCard' addOn: $ref: '#/components/schemas/AddOnClient' client: $ref: '#/components/schemas/DebitClient' card: $ref: '#/components/schemas/FreshDebitCard' cbsAccount: $ref: '#/components/schemas/CbsAccount' account: $ref: '#/components/schemas/AccountPromoPlanCodes' customFields: $ref: '#/components/schemas/CustomFields' DebitClient: allOf: - $ref: '#/components/schemas/CbsCustomer' type: object properties: type: $ref: '#/components/schemas/ClientType' vip: type: boolean description: Indicates whether client is VIP person. false (Default) indicates Normal client and true indicates VIP client.
This field is required if configured as **Business Mandatory*** . default: false example: false riskCategory: $ref: '#/components/schemas/RiskCategory' cobrandNumber: $ref: '#/components/schemas/CobrandNumber' DebitCardProfile: type: object properties: branchCode: type: string description: Echo back the branchCode. example: '0316' client: $ref: '#/components/schemas/NewClient' cards: type: array description: List of cards. items: $ref: '#/components/schemas/NewCardDetails' example: [] accounts: type: array description: List of accounts linked to the card returned items: $ref: '#/components/schemas/BaseAccount' example: [] PhoneNumber1: type: string description: Single or Multiple or Range of contact numbers. for example, 9120556677/88/98.
This field is required if configured as **Business Mandatory*** . minLength: 4 maxLength: 15 pattern: ([0-9]+([0-9 -/ \\[\\]])*[0-9]+)* example: 02025870577/88 EducationQualification: type: string description: 'Educational Qualification.
This field is required if configured as **Business Mandatory*** .
Valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for ''Type Id=EDUCATION''.
**Few sample values: ** `SSC`, `HSC`, `Under Graduate`, `Graduate`, `Post Graduate`, `Professional`, `Others`, `PHD`, `Diploma`' example: Graduate ConditionalPrimaryClientCode: type: string description: Unique code of the existing primary client.
**Conditional Mandatory*** field - Primary clientCode or cardNumber or cardId must be present in the request while requesting card for existing primary client or new add-on client. minLength: 4 maxLength: 24 pattern: '[a-zA-Z0-9]+' example: 215812722194 ErrorsInfo: required: - Errors type: object properties: Errors: $ref: '#/components/schemas/Errors' CardStatus: type: string description: 'The current status of the card.
**Valid values: **
* `NORMAL` - Indicates normal card * `SUPERVISION` - Indicates supervision card * `CANCELLED` - Indicates cancelled card * `REPLACED` - Indicates replaced card * `LOST` - Indicates lost card * `STOLEN` - Indicates stolen card * `COUNTERFEIT` - Indicates counterfeit card * `RETURNED` - Indicates returned card * `PROGRAM_CHANGE_OR_UPGRADE` - Indicates program change card * `RETURNED_CARD_RENEWAL` - Indicates returned card renewal card * `NOT_ACTIVATED` - Indicates card is not activated * `EXPIRED` - Indicates expired card * `INACTIVE` - Indicates inactive card * `BLOCKED` - Indicates blocked card * `DISPATCHED` - Indicates card dispatched * `READY_FOR_SALE` - Indicates ready for sale card * `TRANSFERRED_TO_OTHER_BRANCH` - Indicates transferred to another branch card * `RETURNED_AND_SHREDDED` - Indicates returned to bank and shredded card * `DAMAGED` - indicates card is damaged * `EMERGENCY_REPLACEMENT` - Indicates emergency replacement card * `ERRONEOUS` - Indicates card is erroneous * `RETENTION` - Indicates retention card * `NPA_RECLASSIFIED` - Indicates NPA reclassified card * `TECHNOLOGY_UPGRADE` - Indicates card technology upgrade Card * `REPLACED_INACTIVE` - Indicates replaced-inactive card * `RENEWED_INACTIVE` - Indicates renewed-inactive card' example: NORMAL EmployerType: type: string description: Type of employer.
This field is required if configured as **Business Mandatory*** .
Valid values are configured on 'Card Management > Institution Parameter Setup > System Codes [ISSS15]' screen for 'Type Id=COMP_TYPE'.
**Few sample values :** `Private`, `Public`, `Government`, `Non-Government` example: Non-Government PhoneNumber2: type: string description: Single or Multiple or Range of contact numbers. for example, 8120556678/68/58.
This field is required if configured as **Business Mandatory*** . minLength: 4 maxLength: 15 pattern: ([0-9]+([0-9 -/ \\[\\]])*[0-9]+)* example: 04025870466/99 RequestValidityTime: description: Validity of the API request. It protects the API from unauthorized request or man-in-the-middle (MITM) attacks
For example, if the validity of the API request is set for a maximum of 5 minutes (including retry attempts), and someone tries to post the same request after 5 minutes, then the system rejects the API request without processing. type: object required: - dataValidUntilTimestamp properties: dataValidUntilTimestamp: type: string format: date-time description: The date and time after which the request is considered as invalid. If the timestamp of the institution is greater than this timestamp, the API request is considered as expired and is returned.
The 'dataValidUntilTimestamp' parameter is converted into the institution time zone before comparing it with the institution date and time. It is expressed in ISO 8601 extended format. Must be either
'YYYY-MM-DDThh:mm:ss[.sss]Z'
or 'YYYY-MM-DDThh:mm:ss[.sss] (+|-) hh:mm' where [.sss] is optional and can be 1 to 3 digits. minLength: 20 maxLength: 29 example: '2020-07-04T12:09:56.450-07:00' OccupationType: type: string description: Occupation type of the employee.
This field is required if configured as **Business Mandatory*** .
Valid values are configured on 'Card Management > Institution Parameter Setup > System Codes [ISSS15]' screen for 'Type Id=OCCUPATION'.
**Few sample values :** `Service`, `Professional`, `Business`, `Retired`, `Household`, `Student`, `Others` example: Service ClientSearchInfo: type: object properties: code: $ref: '#/components/schemas/ClientCode' mobile: $ref: '#/components/schemas/Mobile' BaseCard: allOf: - $ref: '#/components/schemas/BaseSearchCard' description: Base Card information type: object properties: type: $ref: '#/components/schemas/CardType' relationship: $ref: '#/components/schemas/CardRelationship' status: $ref: '#/components/schemas/CardStatus' ConditionalProgramCode: type: string description: Program code of a card.
**Conditional Mandatory*** field - Required while requesting for `PRIMARY` card. minLength: 1 maxLength: 10 pattern: '[A-Z0-9](([_])?[A-Z0-9])+' example: LOANPR CurrentAddress: allOf: - $ref: '#/components/schemas/Address' type: object properties: lodgingMode: $ref: '#/components/schemas/LodgingMode' BaseSearchCard: description: Base Search Card type: object properties: number: $ref: '#/components/schemas/CardNumber' id: $ref: '#/components/schemas/CardId' packId: $ref: '#/components/schemas/CardPackId' alias: $ref: '#/components/schemas/CardAlias' programCode: $ref: '#/components/schemas/ProgramCode' planCode: $ref: '#/components/schemas/CardPlanCode' DebitApplication: type: object description: Contains information about different types of debit cards required: - type properties: type: $ref: '#/components/schemas/OnboardingApplicationType' ClientType: type: string description: 'Indicates client type

**Conditional Mandatory*** field - Required while creating new client.
Valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for ''Type Id=CUSTOMER_TYPE''.
**Few sample values: ** `Individual`, `Corporate`, `Bank Staff`' example: Individual OnboardingApplicationType: type: string description: 'Application type indicates the type of card being requested.
**Valid values: **
`PRIMARY` - Issue Primary Card
`ADD_ON` - Issue Add-On Card
`SUPPLEMENTARY` - Issue Supplementary Card
' example: PRIMARY LVCCard: description: LVC Card information type: object properties: perTransactionLimit: type: string description: It is the limit set for each transaction.
**Conditional Mandatory*** field - Required while requesting for LVC card. minLength: 1 maxLength: 12 pattern: '[0-9]+' example: '100000' totalTransactionLimit: type: string description: It is the maximum transaction limit configured for the client.
**Conditional Mandatory*** field - Required while requesting for LVC card. minLength: 1 maxLength: 20 pattern: '[0-9]+' example: '10000000' velocity: type: string description: Number of times the card can be used in a configured duration.
**Conditional Mandatory*** field - Required while requesting for LVC card. minLength: 1 maxLength: 20 pattern: '[0-9]+' example: '100000000' validity: type: string description: 'Card validity duration after which the card gets expired.
**Conditional Mandatory*** field - Required while requesting for LVC card.
Must be expressed in ISO 8601 Durations format:
Format - P(n)Y(n)M(n)DT(n)H(n)M(n)S

Where:
* (n) is replaced by the value for each of the date and time elements that follow the (n).
* P is the duration designator (referred to as "period"), and is always placed at the beginning of the duration.
* Y is the year designator that follows the value for the number of years.
* M is the month designator that follows the value for the number of months.
* W is the week designator that follows the value for the number of weeks.
* D is the day designator that follows the value for the number of days.
* T is the time designator that precedes the time components.
* H is the hour designator that follows the value for the number of hours.
* M is the minute designator that follows the value for the number of minutes.
* S is the second designator that follows the value for the number of seconds.
Maximum validity period: 3 Years' minLength: 3 maxLength: 19 pattern: ^P(?!$)([0-9]+Y)?([0-9]+M)?([0-9]+W)?([0-9]+D)?(T(?=[0-9])([0-9]+H)?([0-9]+M)?([0-9]+S)?)?$ example: P3M4DT12H30M5S AddOnClient: type: object properties: clientCode: $ref: '#/components/schemas/ConditionalAddonClientCode' relation: $ref: '#/components/schemas/Relation' CardRelationship: type: string example: PRIMARY description: 'An indicator at card level to describe type of client associated with the card.
**Valid values: ** * `PRIMARY` - Indicates primary card * `ADD_ON` - Indicates add-on card * `SUPPLEMENTARY` - Indicates supplementary card' CobrandNumber: type: string description: Co-brand Number Value. It is also known as Partner Membership Number.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 20 pattern: '[a-zA-Z0-9]+' example: Citi ConditionalCardNumber: type: string description: Unique number (PAN) assigned to the existing card.
**Conditional Mandatory*** field - Primary clientCode or cardNumber or cardId must be present in the request while requesting card for existing primary client or new add-on client. Primary cardNumber or cardId must be present in the request while requesting 'ADD_ON' or 'SUPPLEMENTARY' card. minLength: 12 maxLength: 22 pattern: '[0-9]+' example: '5001890797820298' Title: type: string description: 'The title or salutation that is added before the name of client.

**Conditional Mandatory*** field - Required while creating new client.
The valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for ''Type Id=TITLE''. **Sample values**: Mr, Mrs, Miss, Dr, Chief, Sir, Ms' example: Mr CurrentContact: type: object properties: phoneNumber1: $ref: '#/components/schemas/PhoneNumber1' phoneNumber2: $ref: '#/components/schemas/PhoneNumber2' ConditionalPictureCode: type: string description: Picture Code.
**Conditional Mandatory*** field - Required while applying 'Picture Card' card for new primary client, if not configured at device plan level. minLength: 1 maxLength: 16 pattern: '[A-Z0-9](([_])?[A-Z0-9])+' example: FSFS_3122_13XV ProgramCode: type: string description: Program code of a card minLength: 1 maxLength: 10 pattern: '[A-Z0-9](([_])?[A-Z0-9])+' example: LOANPR AccountPromoPlanCodes: type: object properties: promoPlanCodes: type: array minItems: 0 maxItems: 3 items: type: string minLength: 1 maxLength: 10 pattern: ^[A-Z0-9](([_])?[A-Z0-9])+$ description: Promo plans to be assigned to the account. If provided, the value should be present in Account Promotion plan configuration in CSR portal.
Maximum number of promo plans should not exceed total number of account plans attached to the program (linked to this card) in CSR portal.
If the value of promo plan code is empty then promo plan will not be attached to the respective account plan. example: LOANPR example: - LOANPR - '' - LOANB ConditionalCardId: type: string description: Unique value to identify a card.
**Conditional Mandatory*** field - Primary clientCode or cardNumber or cardId must be present in the request while requesting card for existing primary client or new add-on client. Primary cardNumber or cardId must be present in the request while requesting 'ADD_ON' or 'SUPPLEMENTARY' card. minLength: 32 maxLength: 32 pattern: '[A-Z0-9]+' example: C24B56D71AA2E015E053F482A80ABD00 CardExpiry: type: string description: Expiry date of the card in "MM/YY" format. This field is not applicable for LVC cards. The 'expiry' and 'expiry Date Time' fields are mutually exclusive, which means you can use any one of these fields to specify the details. pattern: (0[1-9]|1[0-2])/[0-9]{2} example: 11/30 Mobile: type: object description: Mobile number details properties: isd: type: string description: ISD code is defined as the country code to call a mobile subscriber directly from outside the country. For example, +91 for India and +971 for UAE.
If not provided, then the institution ISD code is populated. pattern: '[+]?[0-9-]+' minLength: 1 maxLength: 4 example: '+91' number: type: string description: Mobile number excluding ISD Code.
**Conditional Mandatory*** field - Required when SMS alert is activated or ISD value is provided. pattern: '[0-9]+' minLength: 4 maxLength: 15 example: '9058344422' LegalDocumentType: type: string description: 'Legal Document Type
**Conditional Mandatory*** field - Required when type is configured in document checklist plan associated with program.
Valid values are configured on "Card Management > Institution Parameter Setup > System Codes [ISSS15]" screen for "Type Id=LEGAL_IDENTIFICATION_TYPE".
**Few sample values:** * `Passport` * `National Id` * `Tax ID` * `Driving License` * `Travel Ticket` * `Travel Visa` * `Voter ID` * `Pan Card` * `Pan card` * `Ration Card` * `Aadhar Card` * `Company Id` * `Other Id`' example: National Id Errors: required: - Error type: object properties: Error: type: array description: Errors array wrapped in an error object items: $ref: '#/components/schemas/ErrorMessage' example: [] RiskCategory: type: string description: 'Client''s risk category.
This field is required if configured as **Business Mandatory*** .
**Valid values: ** * `NONE` - Insignificant or no risk * `LOW` - Low risk * `MODERATE` - Moderate risk * `HIGH` - High risk * `CRITICAL` - Critical risk * `CATASTROPHIC` - Catastrophic risk' example: LOW ClientCode: type: string description: Unique code of the client minLength: 4 maxLength: 24 pattern: '[a-zA-Z0-9]+' example: 215812722194 Address: type: object properties: line1: type: string description: Address line 1. If the any of the address line value is present but line 1 value is absent then blank value will be considered.
**Conditional Mandatory*** field -
Current Address line1 is required while creating new client.
Office or Permanent Address line1 is required if selected as preferred Mailing Address. minLength: 1 maxLength: 150 pattern: (([a-zA-Z0-9])+([\ .,&#:*()-])*)+ example: House no. 45, second floor line2: type: string description: Address line 2. If the any of the address line value is present but line 2 value is absent then blank value will be considered.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 150 pattern: (([a-zA-Z0-9])+([\ .,&#:*()-])*)+ example: Apartment no. 567, Pashan line3: type: string description: Address line 3. If the any of the address line value is present but line 3 value is absent then blank value will be considered.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 150 pattern: (([a-zA-Z0-9])+([\ .,&#:*()-])*)+ example: Pashan Sus Road line4: type: string description: Address line 4. If the any of the address line value is present but line 4 value is absent then blank value will be considered.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 150 pattern: (([a-zA-Z0-9])+([\ .,&#:*()-])*)+ example: Near NIV Office city: type: string description: City (free text).
This field will be ignored and populated internally if given country is same as institution country, and city is configured to be auto populated in Card Management > Institution Parameter Setup by selecting the option 'Validate Domestic Postal Code [Y]' or 'Do Not Validate Domestic Postal Code-Auto populate [D]'. minLength: 1 maxLength: 50 pattern: '[^ ][a-zA-Z0-9 ]+[^ ]' example: PUN state: type: string description: 'State.
This field is required if configured as **Business Mandatory*** * If zip flag is configured at Institution level by selecting the ''Domestic Postal Code Mandatory'' check box, then the state code must be present in the request, as per the state master configured in the system. * Otherwise, if the zip flag is not configured at institution level, then regardless of the applicant''s state code, this field is a free text. * This field will be ignored and populated internally if given country is same as institution country, and state is configured to be auto populated in ''Card Management > Institution Parameter Setup'' by selecting the option ''Validate Domestic Postal Code [Y]'' or ''Do Not Validate Domestic Postal Code-Auto populate [D]''.' minLength: 1 maxLength: 50 pattern: '[^ ]+([a-zA-Z0-9 ]+[^ ]+)*' example: MH country: description: 'Country Code. Expressed as a 2-letter (Alpha-2) country code as defined in ISO 3166.
**Conditional Mandatory*** field -
* Current Address country is required while creating new client.
* Office or Permanent Address country is required if selected as preferred Mailing Address.' type: string minLength: 2 maxLength: 2 pattern: '[A-Z]+' example: IN zipCode: type: string description: 'Zip Code.
**Conditional Mandatory*** field -
* Required if given country is same as ''institution country'', and ''zip code'' is configured as mandatory in ''Card Management > Institution Parameter Setup'' by selecting the ''Validate Domestic Postal Code [Y]''.
* Office or ''permanent address zip code'' is required if selected as preferred ''mailing address''.' minLength: 1 maxLength: 10 pattern: '[^ ][a-zA-Z0-9 ]+[^ ]' example: '411021' ErrorMessage: required: - Description - ReasonCode - Recoverable - Source type: object properties: Source: type: string description: The application or component that generated this error. minLength: 3 maxLength: 50 example: MI-Issuing ReasonCode: type: string description: Reason code is a unique constant identifying the error case encountered during request processing. minLength: 5 maxLength: 100 example: MISSING_REQUIRED_FIELD Description: type: string description: Human-readable short description of the reason code. minLength: 10 maxLength: 250 example: Missing Required Field '' Details: type: string description: Optional detailed description provides information about data received and calculated during request processing. This helps the user to diagnose errors. minLength: 0 maxLength: 1000 example: This is mandatory field while requesting for new card. Recoverable: type: boolean description: Recoverable flag indicates whether this error is always returned for this request, or retrying could change the outcome. For example, 'true' or 'false'. example: false PrimaryCard: type: object properties: clientCode: $ref: '#/components/schemas/ConditionalPrimaryClientCode' cardNumber: $ref: '#/components/schemas/ConditionalCardNumber' cardId: $ref: '#/components/schemas/ConditionalCardId' Contact: type: object properties: email: $ref: '#/components/schemas/Email' mobile: $ref: '#/components/schemas/Mobile' PhotoIndicator: type: string description: 'Indicates whether picture or photo should be printed on the card or default template to be applied.
In case of LVC card request, valid value is only `NORMAL`.
**Valid values: ** * `NORMAL` - Normal card * `PHOTO` - Photo card * `PICTURE` - Picture card' example: PICTURE CardAlias: type: string description: Alias assigned to each card. This attribute is available only if the CNA (Card number alias) functionality is enabled for the institution. pattern: '[A-Za-z0-9_!''()*+,-.]+' minLength: 1 maxLength: 24 example: '9055544422' CardPromoPlanCode: type: string minLength: 2 maxLength: 10 description: Promo plan assigned to the card. If provided, the value must be present in card promotion plan configuration. example: LOANPR NewCard: type: object required: - type - photoIndicator properties: numberless: type: boolean description: Indicates whether number should be printed on the physical card or not.
Not applicable while issuing existing non-personalized card. example: false instant: type: boolean description: Indicates whether instant card is required be generated or not.
It will be always considered as true in case of SVC/LVC card issuance irrespective of input value.
Not applicable while issuing existing non-personalized card. example: false embossedName: $ref: '#/components/schemas/EmbossedName' photoIndicator: $ref: '#/components/schemas/PhotoIndicator' photoCode: $ref: '#/components/schemas/ConditionalPhotoCode' pictureCode: $ref: '#/components/schemas/ConditionalPictureCode' deliveryMode: $ref: '#/components/schemas/DeliveryMode' deliveryDate: type: string format: date description: Date on which card is delivered or handed over to client.
Format - It is expressed in ISO 8601 - `YYYY-MM-DD` example: '2022-01-26' ProfessionType: type: string description: Profession Type.
This field is required if configured as **Business Mandatory*** .
Valid values are configured on 'Card Management > Institution Parameter Setup > System Codes [ISSS15]' screen for "Type Id=APPLICANT_PROF".
**Few sample values :** `Architect`, `CA`, `Consultant`, `Doctor`, `Lawyer`, `Others`, `Proprietorship`, `Partnership`, `Pvt Ltd Co.`, `HUF`, `Manufacturer`, `Export/ Importer`, `Trader/Stockist`, `Retailer`, `Service Provider`, `Consultant Professional`, `Professional`, `Education`, `Bank/Financial Services`, `Agriculture`, `Salesman`, `Barangay Official` example: Others LodgingMode: type: string description: 'Lodging Mode.
Valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for ''Type Id=RESIDENCE_STATUS''.
**Few sample values: ** `Not reported`, `Financed`, `Owned`, `Rented`, `Company leased`, `PG`, `Office`, `Parental`' example: Owned BaseCardWithSecrets: allOf: - $ref: '#/components/schemas/BaseCard' description: Card information type: object properties: cvv: $ref: '#/components/schemas/Cvv' expiry: $ref: '#/components/schemas/CardExpiry' expiryDateTime: $ref: '#/components/schemas/LvcExpiryDateTime' Profile: allOf: - $ref: '#/components/schemas/BasicProfile' description: Set of Personally Identifiable Information (PII) associated with a given client. type: object properties: maidenName: type: string description: Maiden name of the client.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 50 pattern: '[^ ][^%<>\\[\\]^$]+[^ ]' example: Ria gender: $ref: '#/components/schemas/Gender' birthDate: type: string format: date description: 'Date of birth.
**Conditional Mandatory*** field - Required while creating new client.
Date format must be ISO 8601: `YYYY-MM-DD`
where:
YYYY = four-digit year
MM = two-digit month (01=January, etc.)
DD = two-digit day of month (01 through 31, as applicable)' example: '1991-06-21' birthCity: type: string description: Birth city of the client. City will be verified against the 'city master setup'.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 50 pattern: '[^ ][^%<>\\[\\]^$]+[^ ]' example: London birthCountry: description: Expressed as a 2-letter (Alpha-2) country code as defined in ISO 3166.
For example - IN, US, CA, GB
This field is required if configured as **Business Mandatory*** . type: string maxLength: 2 minLength: 2 example: GB pattern: '[A-Z]+' education: $ref: '#/components/schemas/EducationQualification' maritalStatus: $ref: '#/components/schemas/MaritalStatus' nationality: description: The status of belonging to a particular nation.
**Conditional Mandatory*** field - Required while creating new client.
Expressed as a 2-letter (Alpha-2) country code as defined in ISO 3166.
For example - IN, US, CA, GB type: string maxLength: 2 minLength: 2 example: GB pattern: '[A-Z]+' Designation: type: string description: Designation of the employee.
This field is required if configured as **Business Mandatory*** .
Valid values are configured on 'Card Management > Institution Parameter Setup > System Codes [ISSS15]' screen for 'Type Id=EMPL_DESIGNATION'.
**Few sample values :** `Executive`, `Sr Executive`, `Manager`, `Sr Manager`, `Asst Gen Manager`, `Dy Gen Manager`, `General Manager`, `Vice President`, `Director`, `Others`, `Clerical`, `Middle Management`, `Junior Management`, `Supervisory`, `Top Management` example: Others CbsAccount: type: object description: Core Banking System Account Info. Applicable for Debit Cards only properties: type: $ref: '#/components/schemas/CbsAccountType' number: type: string minLength: 4 maxLength: 20 description: Primary Account number in CBS.
**Conditional Mandatory*** field - Required while creating new client. example: '0005040100006120' clientId: type: string minLength: 4 maxLength: 20 description: Unique id/code/reference assigned to the client in CBS. example: JSMITH094856 currency: type: string description: '"The currency in which the amount is loaded.
Values - 3 letter alphabetic currency codes in `ISO 4217`"
**Conditional Mandatory*** field - Required while creating new client.' maxLength: 3 minLength: 3 example: USD LvcExpiryDateTime: type: string format: date-time description: Applicable only for 'LVC' card. The date/time after which the 'LVC' card should be considered as expired or invalid.

The 'expiry' and 'expiry Date Time' fields are mutually exclusive.
Expressed in ISO 8601 extended format. Must be
YYYY-MM-DDThh:mm:ss[.sss](+|-)hh:mm where [.sss] is optional and can be 1 to 3 digits. minLength: 20 maxLength: 29 example: '2022-07-04T12:09:56.450-07:00' CardPlanCode: type: string minLength: 1 maxLength: 10 description: Plan assigned to the card. If provided, the value must be part of the selected program code and included in the card or account plan configuration in CSR portal. This field is mandatory for EMV type of cards. pattern: '[A-Z0-9](([_])?[A-Z0-9])+' example: DPMEC CardPackId: type: string description: Card pack id is the unique id assigned to the physical packet that contains the card for delivery to the client or branch. Usually paired cards are delivered in a single packet having common card pack id. minLength: 10 maxLength: 24 pattern: '[A-Z0-9]+' example: 500123MCCPGM0000000243 CustomFields: type: array description: Custom fields array (not recommended to be used) items: $ref: '#/components/schemas/CustomField' minItems: 0 maxItems: 45 example: - name: clientDateField1 value: '2021-09-21' - name: cardDataField1 value: sample-data - name: accountNumberField1 value: '234.78' ConditionalAddonClientCode: type: string description: Unique code of the existing add-on client.
**Conditional Mandatory*** field - Add-on clientCode and relation fields are mutually exclusive.
minLength: 4 maxLength: 24 pattern: '[a-zA-Z0-9]+' example: 215812722194 Relation: type: string description: 'It is the relation of the add-on client with the primary client.
**Conditional Mandatory*** field - Add-on ''client code'' and relation fields are mutually exclusive while creating the client. If both present, then relation value will be ignored.
Valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for "Type Id=RELATION".
**Few sample values: ** `Brother`, `Business card`, `Daughter`, `Father`, `Father-in-Law`, `Mother`, `Mother in Law`, `Others`, `Sister`, `Son`, `Spouse`' example: Spouse EmbossedName: type: string description: Embossed name of the client.
**Conditional Mandatory*** field - Required while creating new client. minLength: 2 maxLength: 26 pattern: ([^ ])(?!.*[-]{2})([a-zA-Z.' ]+)([^ ]) example: JOHN SMITH Gender: type: string description: 'Indicates Gender of the client.

**Conditional Mandatory*** field - Required while creating new client.
Valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for ''Type Id=GENDER''.
**Few sample values: ** `Female`, `Male`, `Not Reported`' example: Male CardNumber: type: string description: Unique number (PAN) assigned to the card. This number might be masked based on the API masking configuration settings of the institution in the MI Issuing customer portal. minLength: 12 maxLength: 22 pattern: '[0-9]+' example: '5001878976540298' AlternateName: type: string description: Alternate name of the client. minLength: 1 maxLength: 200 pattern: '[^ ][^%<>\\[\\]^$]+[^ ]' example: Johny Smith ClientPreferences: type: object properties: language: $ref: '#/components/schemas/Language' mailingAddress: $ref: '#/components/schemas/MailingAddress' statementDelivery: $ref: '#/components/schemas/StatementDeliveryOption' registerForDNCR: type: boolean description: Indicates whether registered in 'DNCR' (Do Not Call Register) or not. Default false.
This field is required if configured as **Business Mandatory*** . example: false smsAlert: type: boolean description: Indicates whether registered for sms alert notification facility or not. Default false.
This field is required if configured as **Business Mandatory*** . example: false emailAlert: type: boolean description: Indicates whether registered for email alert notification facility or not. Default false.
This field is required if configured as **Business Mandatory*** . example: false BasicProfile: description: Set of Personally Identifiable Information (PII) associated with a given client. type: object properties: title: $ref: '#/components/schemas/Title' firstName: type: string description: First name of the client.
**Conditional Mandatory*** field - Required while creating new client. minLength: 1 maxLength: 100 pattern: ([^ ])(?!.*[-]{2})([a-zA-Z.' ]+)([^ ]) example: John middleName1: type: string description: Middle name 1 of the client.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 100 pattern: ([^ ])(?!.*[-]{2})([a-zA-Z.' ]+)([^ ]) example: Bob middleName2: type: string description: Middle name 2 of the client. Not applicable for Add-on client.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 100 pattern: ([^ ])(?!.*[-]{2})([a-zA-Z.' ]+)([^ ]) example: Tom lastName: type: string description: Last name of the client.
**Conditional Mandatory*** field - Required while creating new client. minLength: 1 maxLength: 100 pattern: ([^ ])(?!.*[-]{2})([a-zA-Z.' ]+)([^ ]) example: Smith alternateName: $ref: '#/components/schemas/AlternateName' CbsAccountType: type: string description: 'Bank ISO Account Type in CBS.
**Conditional Mandatory*** field - Required while linking new debit account. Possible values configured in CSR portal on "Card Management > Institution Parameter Setup > Account Type [ISSS12]" screen. CBS Host account type must be configured to match with ISO account types like 10, 20.
**Possible values:**
* `DEFAULT` - Default Account * `SAVINGS` - Savings Account * `CHECKING` - Checking or Current Account * `CREDIT_CARD` - Credit Card Account * `CREDIT_LINE` - Credit Line Account * `CORPORATE` - Corporate Account * `UNIVERSAL` - Universal Account * `MONEY_MARKET_INVESTMENT` - Money Market Investment Account * `IRA_INVESTMENT` - Ira Investment Account * `STORED_VALUE` - Stored Value Account * `REVOLVING_LOAN` - Revolving Loan Account * `INSTALLMENT_LOAN` - Installment Loan Account * `REAL_ESTATE_LOAN` - Real Estate Loan Account' example: SAVINGS PhoneExtension: type: string description: Extension Number minLength: 1 maxLength: 15 pattern: ([0-9]+([0-9 -/ \\[\\]])*[0-9]+)+ example: '2987' BaseAccount: type: object properties: number: $ref: '#/components/schemas/AccountNumber' default: type: boolean description: Indicates given account is default account or not example: false currency: type: string description: Currency of the account.
Values - 3 letter alphabetic currency codes in `ISO 4217`
minLength: 3 maxLength: 3 example: INR OfficeContact: allOf: - $ref: '#/components/schemas/Contact' type: object properties: phoneNumber1: $ref: '#/components/schemas/PhoneNumber1' phoneNumber2: $ref: '#/components/schemas/PhoneNumber2' extension: $ref: '#/components/schemas/PhoneExtension' CardId: type: string description: Unique value to identify a card minLength: 32 maxLength: 32 pattern: '[A-Z0-9]+' example: C24B56D71AA2E015E053F482A80ABD00 CardType: type: string description: 'The type indicates the card category.
**Valid values: ** * `EMV_CARD` * `MAGNETIC_STRIPE_CARD` * `STATIC_VIRTUAL_CARD` * `LIMITED_VALIDITY_VIRTUAL_CARD` * `NFC_PAYPASS` * `NFC_EMV_PAYPASS` * `NFC_MAG_STRIPE_PAYPASS` * `MOBILE` * `NFC_PAYWAVE` * `NFC_EMV_PAYWAVE` * `NFC_MAG_STRIPE_PAYWAVE` * `ATM_ADMIN_CARD` * `EXPRESSPAY_MAG_STRIPE` * `EXPRESSPAY_EMV` * `RUPAY_NFC_EMV`' example: EMV_CARD Cvv: type: string description: Card verification value (CVV), card security code (CSC), card verification code (CVC), or card code verification (CCV) found on the back of a card that provides an additional measure of card security. minLength: 3 maxLength: 5 pattern: '[0-9]+' example: '345' LegalDocuments: description: Set of legal documents associated with a given client that are required for KYC. type: array items: $ref: '#/components/schemas/LegalDocument' minItems: 0 maxItems: 4 RegisteredContacts: type: object properties: email: $ref: '#/components/schemas/Email' mobile: $ref: '#/components/schemas/Mobile' fax: type: string description: Fax Number.
This field is required if configured as **Business Mandatory*** . pattern: '[+]?[/A-Za-z0-9-]+' minLength: 1 maxLength: 80 example: +42342/453-5 StatementDeliveryOption: type: string description: 'Statement delivery options.
**Conditional Mandatory*** field - Required while creating new client.
Valid values are configured on ''Card Management > Institution Parameter Setup > System Codes [ISSS15]'' screen for ''Type Id=STATEMENT_PREFERENCE''.
**Few sample values: ** * `Email` - Statement delivery via email * `Hard Copy` - Statement delivery via hard copy * `Both` - Statement delivery via email as well as hard copy' example: Email ConditionalCardAlias: type: string description: Alias to be assigned to the newly issued card.
**Conditional Mandatory*** field - Required if the CNA functionality is turned on for the institution.
OR

This field is required if configured as **Business Mandatory*** . pattern: '[A-Za-z0-9_!''()*+,-.]+' minLength: 1 maxLength: 24 example: '9055544422' EncodedName: type: string description: Applicable only for Physical Card. Encoded name of the client. The value can contain space. For example, John Smith.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 26 pattern: '[^ ][^%<>\\[\\]^$]+[^ ]' example: JOHN SMITH FreshCard: allOf: - $ref: '#/components/schemas/NewCard' type: object required: - planCode properties: alias: $ref: '#/components/schemas/ConditionalCardAlias' corporateCode: type: string minLength: 1 maxLength: 24 pattern: '[0-9]+' description: Unique code of a corporate.
**Conditional Mandatory*** field - Required if client type is `CORPORATE`. example: '2990215812722194' programCode: $ref: '#/components/schemas/ConditionalProgramCode' planCode: $ref: '#/components/schemas/CardPlanCode' promoPlanCode: $ref: '#/components/schemas/CardPromoPlanCode' encodedName: $ref: '#/components/schemas/EncodedName' lvcCard: $ref: '#/components/schemas/LVCCard' BasePerson: type: object properties: profile: $ref: '#/components/schemas/Profile' currentAddress: $ref: '#/components/schemas/CurrentAddress' permanentAddress: $ref: '#/components/schemas/PermanentAddress' officeAddress: $ref: '#/components/schemas/Address' currentContact: $ref: '#/components/schemas/CurrentContact' permanentContact: $ref: '#/components/schemas/CurrentContact' officeContact: $ref: '#/components/schemas/OfficeContact' registeredContacts: $ref: '#/components/schemas/RegisteredContacts' preferences: $ref: '#/components/schemas/ClientPreferences' occupation: $ref: '#/components/schemas/Occupation' MailingAddress: type: string description: 'Client''s preferred mailing address.
**Conditional Mandatory*** field - Required while creating new client.
**Valid values: ** `CURRENT`, `PERMANENT`, `OFFICE`' example: CURRENT Kyc: type: object properties: legalDocuments: $ref: '#/components/schemas/LegalDocuments' status: type: boolean description: KYC status of the client. If the status is true it indicates that KYC data has been updated and KYC completed.
This field is required if configured as **Business Mandatory*** . example: true remark: type: string description: Remarks on the KYC status or documents.
**Conditional Mandatory*** field - Required when KYC status is true. minLength: 1 maxLength: 100 pattern: '[^%<>\\[\\]^$]+' example: KYC has been done by XYZ Email: type: string format: email description: Email address.
This field is required if configured as **Business Mandatory*** . minLength: 6 maxLength: 50 pattern: '[_A-Za-z0-9+-]+(.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(.[A-Za-z0-9]+)*(.[A-Za-z0-9]{2,})' example: user@example.com AccountNumber: type: string description: Account number linked to the card. minLength: 9 maxLength: 24 pattern: '[0-9]+' example: '2207131581270233863' EmploymentStatus: type: string description: Status of Employment.
This field is required if configured as **Business Mandatory*** .
Valid values are configured on 'Card Management > Institution Parameter Setup > System Codes [ISSS15]' screen for 'Type Id=EMPLOYMENT_STATUS'.
**Few sample values :** `OTHER`, `PERMANENT`, `CONTRACTUAL`, `SELF EMPLOYED`, `RETIRED`, `HOME MAKER`, `STUDENT`, `BUSINESS`, `SALARIED` example: PERMANENT Occupation: type: object properties: employerName: type: string description: Employer Name.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 40 pattern: '[a-zA-Z0-9]+' example: Mastercard employerType: $ref: '#/components/schemas/EmployerType' department: type: string description: Department of client.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 50 pattern: '[a-zA-Z0-9.&_''"]+' example: IT employeeId: type: string description: Employee ID of client.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 20 pattern: '[a-zA-Z0-9]+' example: E03982 type: $ref: '#/components/schemas/OccupationType' professionType: $ref: '#/components/schemas/ProfessionType' designation: $ref: '#/components/schemas/Designation' employmentStatus: $ref: '#/components/schemas/EmploymentStatus' joiningDate: type: string format: date description: Joining date of current job.
This field is required if configured as **Business Mandatory*** .
Format - It is expressed in ISO 8601 - `YYYY-MM-DD` example: '2010-01-19' employmentDuration: type: integer format: int32 minimum: 0 maximum: 99 description: Duration (in years) of employment with current employer.
This field is required if configured as **Business Mandatory*** . example: 2 netAnnualIncome: type: integer format: int64 minimum: 0 maximum: 999999999999 description: Annual income of client.
This field is required if configured as **Business Mandatory*** . example: 100000 ConditionalPhotoCode: type: string description: Photo Code of client.
**Conditional Mandatory*** field - Required while applying 'Photo Card' card. minLength: 1 maxLength: 16 pattern: '[A-Z0-9](([_])?[A-Z0-9])+' example: AFSAD_SFS9 FreshDebitCard: allOf: - $ref: '#/components/schemas/FreshCard' description: Debit Card Details.
card number or card id or card packId must exist while issuing existing non personalized card. type: object properties: nonPersonalized: type: boolean description: Indicates whether existing non-personalized card is being issued. example: false number: $ref: '#/components/schemas/CardNumber' id: $ref: '#/components/schemas/CardId' packId: $ref: '#/components/schemas/CardPackId' NewClient: allOf: - $ref: '#/components/schemas/ClientSearchInfo' type: object properties: alternateName: $ref: '#/components/schemas/AlternateName' parameters: CorrelationID: name: X-MC-Correlation-ID in: header description: '''Correlation ID'', also known as ''Transit ID'' or ''Request ID'', is unique identifier value attached to a particular transaction or event chain. The ''Correlation ID'' also helps in auditing, debugging, and tracing the request execution flow.
It is recommended to generate universally unique identifier (UUID) in compliance with ''RFC 4122''.
If the ''Correlation ID'' is not received in the incoming request, the ''Mastercard Processing'' platform generates a universally unique identifier (UUID) dynamically and assigns it to the request. The Correlation ID is always added to the response header to provide end to end traceability. * minLength: 6 * maxLength: 36 * pattern: [a-zA-Z0-9_-]+' schema: type: string minLength: 6 maxLength: 36 pattern: '[a-zA-Z0-9_-]+' example: ac97d177-9345-4934-8343-0f91a7a02836 Source: name: X-MC-Source in: header description: 'Value identifying the origin or source of a transaction. The list of possible sample values are available in the database and shared in the ''API_SOURCE_VALUES'' list under ''Card Management > Institution Parameter Setup > System Codes [ISSS15]''. This field is used only for logging purpose.
* minLength: 3 * maxLength: 3 * pattern: [A-Z0-9]+

**Few sample values: **
* `IVR` - Interactive Voice Response * `MAP` - Mobile Application * `ATM` - Automated Teller Machine * `NBN` - Net Banking Application * `POS` - Point of Sale * `SCH` - Scheme * `CBS` - Core Banking System * `SMS` - Short Message Service * `ACS` - Access Control Server * `ONS` - On-Us Transaction * `OTH` - Other' schema: type: string minLength: 3 maxLength: 3 pattern: '[A-Z0-9]+' example: MAP EndUserID: name: X-MC-Client-Application-User-ID in: header description: 'A unique identifier to track an end user who is performing action at the consumer''s end.
This field is used only for logging purpose. * minLength: 3 * maxLength: 50 * pattern: [a-zA-Z0-9_-]+' schema: type: string minLength: 3 maxLength: 50 pattern: '[a-zA-Z0-9_-]+' example: S0648-IN BankCode: name: X-MC-Bank-Code in: header description: 'It is a 6-digit bank/institution identifier code.
**Conditional Mandatory*** field - Required to be passed by third party vendors or service providers (like 3-D Secure authenticator) who have access to the data of multiple banks, supported by legal agreement and access grants. * minLength: 6 * maxLength: 6 * pattern: [0-9]+' schema: type: string minLength: 6 maxLength: 6 pattern: '[0-9]+' example: '112233' IdempotencyKey: name: X-MC-Idempotency-Key in: header required: true description: An idempotency key is a unique value that is generated by a client and sent to an API along with a request. If a request should fail partway through, the client retries with the same idempotency key value, and the server uses it to look up the state of request and continue from where it left off. Recommended to generate universally unique identifier (UUID) compliant with 'RFC 4122'. schema: type: string pattern: ^[a-zA-Z0-9_-]{6,36}$ example: bc57d177-4593-3449-8343-0d81a7a02947 examples: MissingRequiredFieldExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: MISSING_REQUIRED_FIELD Description: Missing required field '' Recoverable: false Details: null InvalidFieldFormatExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: INVALID_FIELD_FORMAT Description: ''''' field value '''' format is invalid' Recoverable: false ForbiddenExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: AUTHORIZATION_ERROR Description: It seems you don't have permission to access this API Recoverable: false Details: Please ensure that access has been granted to the user in customer portal CryptographyErrorExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: CRYPTOGRAPHY_ERROR Description: Error occurred while decryption of the encrypted request payload Recoverable: false Details: null InvalidFieldLengthExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: INVALID_FIELD_LENGTH Description: ''''' size must be between 1 and 3' Recoverable: false InvalidFieldValueExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: INVALID_FIELD_VALUE Description: ''''' field value '''' is invalid' Recoverable: false UnauthorizedExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: UNAUTHORIZED Description: We couldn't recognize you Recoverable: false Details: The user does not have valid certificate for the target resource. ConflictExample: value: Errors: Error: - Source: MI-Issuing ReasonCode: CONFLICT Description: The requested operation failed because it tried to create a resource that already exists. Recoverable: false Details: Record with same unique reference id already exists headers: Response-Original-Correlation-ID: description: If the duplicate request is received with same idempotency key then original request Correlation-ID is returned in the header along with original response in body. schema: type: string minLength: 6 maxLength: 36 example: ec57d177-4593-3449-8343-0d81a7a02978 Response-Correlation-ID: description: Returns the request identifier (like UUID) received in client request header or generated by the server. schema: type: string minLength: 6 maxLength: 36 example: ac97d177-9345-4934-8343-0f91a7a02836 Response-Idempotency-Key: description: Echo back the idempotency key received in the client request header, only if the duplicate request is received with same idempotency key within predefined time. schema: type: string minLength: 6 maxLength: 36 example: bc57d177-4593-3449-8343-0d81a7a02947 requestBodies: DebitCardApplicationRequest: description: Debit card application information content: application/json: schema: $ref: '#/components/schemas/DebitCardDetails' required: true