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