swagger: '2.0' info: title: Mastercard Bill Payment Validator Account Opening Cards 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: Cards paths: /prepaid-cards: post: tags: - Cards summary: Mastercard **prepaid Card Issuance** - Issue Prepaid Card to Existing or New Client description: 'This API allows users to issue primary, add-on or supplementary physical/virtual card to existing or new client. It is applicable for prepaid products issued on MI platform. The Mastercard issuing system receives, validates, and processes the request. If the request is successful, the 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: createPrepaidCard 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/PrepaidCardApplicationRequest' responses: '201': $ref: '#/components/responses/PrepaidCardProfileResponse' '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 /debit-cards: post: tags: - Cards 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 /donors/{donor_id}/cards: get: tags: - Cards summary: Get All Cards API description: Fetches all the cards for given donor. Entire response body is encrypted and it should be decrypted to view the actual response. operationId: getAllCardsUsingGET parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/Donor' responses: '200': $ref: '#/components/responses/DonateGetAllCards' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false post: tags: - Cards summary: Add Card API description: Donor can add his/her card onto platform by calling this API, so that next time he/she wants to donate, he/she don't have to provide card details.A card will be added once. Second time, the initial card Id will be returned.Entire request body should be encrypted. operationId: addCardUsingPOST parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/Donor' requestBody: $ref: '#/components/requestBodies/AddCard' responses: '200': $ref: '#/components/responses/DonateCard' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-AddCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /donors/{donor_id}/cards/searches: post: tags: - Cards summary: Search Card API description: Search card by pan or user id passed. Entire request body should be encrypted. operationId: searchCardUsingPOST parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/Donor' requestBody: $ref: '#/components/requestBodies/SearchCard' responses: '200': $ref: '#/components/responses/DonateGetAllCards' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /donors/{donor_id}/cards/{card_id}: get: tags: - Cards summary: Retrieve Card API description: Retrieves card by card id passed. Entire response body is encrypted and it should be decrypted to view the actual response. operationId: retrieveCardUsingGET parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/Card' - $ref: '#/components/parameters/Donor' responses: '200': $ref: '#/components/responses/DonateCardRetrieve' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false put: tags: - Cards summary: Update Card API description: Donor can update his/her already added card by providing new card informatin along with cardId. Entire request body should be encrypted. operationId: updateCardUsingPUT parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/Card' - $ref: '#/components/parameters/Donor' responses: '200': $ref: '#/components/responses/DonateCardUpdate' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false requestBody: $ref: '#/components/requestBodies/UpdateCard' delete: tags: - Cards summary: Delete Card API description: Donor can delete his/her saved card from Donation platform. operationId: deleteCardUsingDELETE parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/Card' - $ref: '#/components/parameters/Donor' responses: '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /donations/non-ma/setup/cards: get: tags: - Cards summary: Get All Non Mastercard Brand Cards API description: This API is used by the API consumer to download all their Non-Mastercard registered cards. operationId: fetchDonationNonMA parameters: - $ref: '#/components/parameters/ClientId' - name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. ***Note:*** If there is a timeout when doing the guest api call, it is important to redo the same api call with same x-correlation-id to get the status of the previous api call required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 - $ref: '#/components/parameters/ProgramId' responses: '200': $ref: '#/components/responses/RetrieveNonMABrandCards' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-InvalidProgramId' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-InternalServerError' deprecated: false /source-verifications/{issuing_country}/medicare-cards: post: x-mastercard-api-encrypted: true summary: Verifies the details of a medicare card document with an identity verification provider tags: - Cards responses: '200': $ref: '#/components/responses/MedicareCardSourceVerificationResponse' '400': $ref: '#/components/responses/BadRequestError' '403': $ref: '#/components/responses/ForbiddenError_2' '404': $ref: '#/components/responses/NotFoundError' description: Returns the status of the Medicare Card source verification as it's being processed by the vendor. Biometrics are not used with this API, which means document scanning is not required for the users to verify their identity. This will be a one-time verification with no data being stored. operationId: verifyMedicareCard parameters: - $ref: '#/components/parameters/IssuingCountryParameter' - $ref: '#/components/parameters/EncryptedPayloadParameter' requestBody: $ref: '#/components/requestBodies/MedicareCardSourceVerificationRequest' 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' PrepaidCardProfileResponse: description: The prepaid card was successfully created/issued. content: application/json: schema: $ref: '#/components/schemas/PrepaidCardProfile' 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' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-403' DonateCardRetrieve: description: Success content: application/json: schema: $ref: '#/components/schemas/DonateCardRetrieve' RetrieveNonMABrandCards: description: Success content: application/json: schema: $ref: '#/components/schemas/RetrieveNonMABrandCards' Unauthorized: description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/Error-401' InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-500' NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/Error-404' DonateCardUpdate: description: Success content: application/json: schema: $ref: '#/components/schemas/DonateCardUpdate' DonateGetAllCards: description: Success content: application/json: schema: $ref: '#/components/schemas/DonateGetAllCards' BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' DonateCard: description: Success content: application/json: schema: $ref: '#/components/schemas/DonateCard' NoContent: description: The Setup is successfully deleted. NotFoundError: description: Request didn't match an existing resource. content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: NotFoundExample: $ref: '#/components/examples/NotFoundExample' ForbiddenError_2: description: Consent not given. content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: ForbiddenExample: $ref: '#/components/examples/ForbiddenExample_2' ForbiddenExampleUnauthorizedScopedFields: $ref: '#/components/examples/ForbiddenExampleUnauthorizedScopedFields' BadRequestError: description: Something was wrong with the request. content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: BadRequestExampleUserConsent: $ref: '#/components/examples/BadRequestExampleUserConsent' BadRequestExampleCountryCode: $ref: '#/components/examples/BadRequestExampleCountryCode' BadRequestExamplePhoneNumber: $ref: '#/components/examples/BadRequestExamplePhoneNumber' BadRequestExampleIVPConnectionTimeout: $ref: '#/components/examples/BadRequestExampleIVPConnectionTimeout' BadRequestExampleIVPSystemError: $ref: '#/components/examples/BadRequestExampleIVPSystemError' BadRequestExampleMedicareExpireDate: $ref: '#/components/examples/BadRequestExampleMedicareExpireDate' BadRequestExampleMedicareName: $ref: '#/components/examples/BadRequestExampleMedicareName' BadRequestExampleMedicareIndividualReferenceNo: $ref: '#/components/examples/BadRequestExampleMedicareIndividualReferenceNo' BadRequestExampleMedicareMedicareNumber: $ref: '#/components/examples/BadRequestExampleMedicareMedicareNumber' BadRequestExampleMedicareCountryCode: $ref: '#/components/examples/BadRequestExampleMedicareCountryCode' BadRequestExampleMedicareUserConsent: $ref: '#/components/examples/BadRequestExampleMedicareUserConsent' BadRequestExampleDocumentMismatch: $ref: '#/components/examples/BadRequestExampleDocumentMismatch' MedicareCardSourceVerificationResponse: description: Success. headers: X-Transaction-ID: $ref: '#/components/headers/X-Transaction-ID' content: application/json: schema: $ref: '#/components/schemas/MedicareCardSourceVerificationResult' examples: MedicareSuccessExample: $ref: '#/components/examples/MedicareSuccessExample' MedicareDataNotMatchedExample: $ref: '#/components/examples/MedicareDataNotMatchedExample' MedicareDocumentInvalidExample: $ref: '#/components/examples/MedicareDocumentInvalidExample' 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: [] InitialLoad: type: object properties: currency: type: string description: The currency in which the amount is loaded.
**Valid values :** 3-letter currency codes in `ISO 4217` maxLength: 3 minLength: 3 pattern: '[A-Z]+' example: USD amount: type: number format: double multipleOf: 1.0e-05 description: The amount that can be loaded to the client account. minimum: 0 maximum: 9999999999.99999 example: 1000 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' NewApplication: type: object required: - type properties: formNumber: type: string description: Echo back the input application form number. minLength: 1 maxLength: 10 example: FRM0900029 number: type: string description: System generated unique application number while on-boarding the client. maxLength: 12 example: '200460102961' 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' Client: allOf: - $ref: '#/components/schemas/Person' 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' reuterReferenceNumber: $ref: '#/components/schemas/ReuterReferenceNumber' ReuterReferenceNumber: type: string description: Reuter reference number value.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 20 pattern: '[a-zA-Z0-9]+' example: MUM89 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 PrepaidCardProfile: type: object properties: branchCode: type: string description: Echo back the branchCode. example: '0316' application: $ref: '#/components/schemas/NewApplication' 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: [] 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 TravelDetails: description: Travel Information, Applicable only if the client has a prepaid card. type: object properties: type: type: string minLength: 1 maxLength: 6 pattern: '[A-Z0-9](([_])?[A-Z0-9])+' description: Indicates the purpose of travel for which the client will be using the card. For example, medical reasons, cultural trip, and business trip and so on.
Valid values are as configured on portal in Card Management > Program Setup >Travel Type Configuration section.
This field is required if configured as **Business Mandatory*** . example: LEISUR startDate: type: string format: date description: Start date of the planned travel.
**Conditional Mandatory*** field - Required if travel type is provided.
Format - It is expressed in ISO 8601 - `YYYY-MM-DD` example: '2021-07-22' endDate: type: string format: date description: End date of the planned travel.
**Conditional Mandatory*** field - Required if travel type is provided.
Format - It is expressed in ISO 8601 - `YYYY-MM-DD` example: '2021-08-12' country: type: string minLength: 2 maxLength: 2 description: Country Code where client is traveling to.
Expressed as a 2-letter (Alpha-2) country code as defined in ISO 3166.
**Conditional Mandatory*** field - Required if travel type is provided. example: GB pattern: '[A-Z]+' 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 SourceSystemClientMapping: description: Client information mapping with source system identifiers type: object properties: clientId: type: string description: Source system Client unique ID created and managed by institution system.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 20 pattern: '[a-zA-Z0-9]+' example: PRA389403 cbsReferenceNumber: type: string description: Client unique Reference Number created and managed by institution CBS.
This field is required if configured as **Business Mandatory*** . minLength: 1 maxLength: 20 pattern: '[a-zA-Z0-9]+' example: '2004887393283' cbsClientId: type: string description: Client unique ID created and managed by institution CBS. minLength: 1 maxLength: 20 pattern: '[a-zA-Z0-9]+' example: rob8765 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' BaseNewCardDetails: allOf: - $ref: '#/components/schemas/RequestValidityTime' type: object required: - dataValidUntilTimestamp properties: application: $ref: '#/components/schemas/Application' 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/Client' card: $ref: '#/components/schemas/FreshCard' account: $ref: '#/components/schemas/AccountPromoPlanCodes' customFields: $ref: '#/components/schemas/CustomFields' 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 Application: type: object required: - type properties: type: $ref: '#/components/schemas/OnboardingApplicationType' formNumber: type: string description: Client on-boarding application form number. minLength: 1 maxLength: 10 pattern: '[^%<>\\[\\]^$]+' example: FRM0900029 makerChecker: type: boolean description: Indicates whether the application should go through the checker approval process prior to client on-boarding. Applicable only if not requested for 'instant card'. It will be always considered as true in case of 'instant card' or 'SVC/LVC' card issuance irrespective of input value. example: false memo: type: string minLength: 1 maxLength: 1000 description: Free text field that contains remarks entered while submitting the request.
This field is required if configured as **Business Mandatory*** . pattern: '[^%<>\\[\\]^$]*' example: free text PrepaidCardApplication: allOf: - $ref: '#/components/schemas/BaseNewCardDetails' type: object properties: travel: $ref: '#/components/schemas/TravelDetails' initialLoad: $ref: '#/components/schemas/InitialLoad' 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 Person: allOf: - $ref: '#/components/schemas/BasePerson' type: object properties: kyc: $ref: '#/components/schemas/Kyc' sourceSystem: $ref: '#/components/schemas/SourceSystemClientMapping' 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' UpdateCard: type: object required: - cardholderName - expiryInfo - primaryAccountNumberSource - primaryAccountNumber properties: billingAddress: $ref: '#/components/schemas/CardBillingAddress' cardAlias: type: string example: CardB minLength: 3 maxLength: 20 description: Card Alias cardholderName: type: string example: John Doe minLength: 3 maxLength: 20 description: Card Holder Name CardExpiry: $ref: '#/components/schemas/cardExpiry' primaryAccountNumberSource: type: string example: CARD_ON_FILE description: PAN minLength: 3 maxLength: 20 primaryAccountNumber: type: string example: '5450985888403538' minLength: 16 maxLength: 16 description: PAN number title: UpdateCardRequest Error-InternalServerError: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INTERNAL_SERVER_ERROR description: A unique constant identifying the error case encountered during API processing Description: type: string example: An error occurred on the server. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. SearchCard: required: - primaryAccountNumber type: object properties: primaryAccountNumber: type: string description: PAN minLength: 16 maxLength: 16 example: '5450985888403538' title: SearchCardRequest DonateGetAllCards: type: object properties: items: type: array description: Items items: $ref: '#/components/schemas/DonateCardRetrieve' title: DonateGetAllCardsResponse CardItems: type: object properties: card_id: type: string example: 908c0a3c-f258-4313-9f5b-83b6cc058692 minLength: 36 maxLength: 36 description: Card Id pan: type: string example: 371449******8431 minLength: 16 maxLength: 16 description: The Masked Primary Account Number (PAN) title: CardItems DonateCardUpdate: type: object properties: cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card Id (UUID) primaryAccountNumberSuffix: type: string example: '3538' minLength: 4 maxLength: 4 description: PAN Suffix title: DonateCardUpdateResponse Error-401: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to authorization failure properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: AUTHENTICATION_FAILED description: A unique constant identifying the error case encountered during API processing Description: type: string example: OAuth signatures did not match. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-403: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to forbidden requests properties: Error: type: array description: Only returned in the event of forbidden request. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: INVALID_KEY description: A unique constant identifying the error case encountered during API processing Description: type: string example: The signing certificate is not valid. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. cardExpiry: type: object properties: month: type: string example: 10 minLength: 2 maxLength: 2 description: Month year: type: string example: 2025 minLength: 4 maxLength: 4 description: Year title: Card Expiry Details AddCard: type: object required: - cardholderName - expiryInfo - primaryAccountNumber - primaryAccountNumberSource properties: billingAddress: $ref: '#/components/schemas/CardBillingAddress' cardAlias: type: string example: CardA minLength: 3 maxLength: 20 description: Card Alias cardholderName: type: string example: John Doe minLength: 3 maxLength: 20 description: Card holder name expiryInfo: $ref: '#/components/schemas/cardExpiry' primaryAccountNumber: type: string example: '5450985888403538' minLength: 16 maxLength: 16 description: PAN number primaryAccountNumberSource: type: string example: CARD_ON_FILE minLength: 3 maxLength: 20 description: PAN Source title: AddCard DonateCard: type: object properties: cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card id (UUID) primaryAccountNumberSuffix: type: string example: '3538' minLength: 4 maxLength: 4 description: PAN Suffix title: DonateCardResponse Error-AddCard: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: PAN_ALREADY_EXISTS_FOR_USER description: A unique constant identifying the error case encountered during API processing Description: type: string example: The provided card already exists for this user. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: array items: type: string example: 'CardId: 327ebf98-f3cc-4733-a041-c60e7d743b04' Error-InvalidProgramId: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INVALID_PROGRAM_ID description: A unique constant identifying the error case encountered during API processing Description: type: string example: Invalid Program ID, it must be a valid UUID. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: null description: Where appropriate, indicates detailed information about data received and calculated during request processing. RetrieveNonMABrandCards: type: object properties: totalItems: type: integer example: 1 format: int64 minLength: 1 maxLength: 10 description: Total number of items items: type: array description: Card items items: $ref: '#/components/schemas/CardItems' title: RetrieveNonMABrandCards Error-404: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to resource not found properties: Error: type: array description: Only returned in the event of an resource not found. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: NOT_FOUND description: A unique constant identifying the error case encountered during API processing Description: type: string example: The signing certificate is not valid. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. CardBillingAddress: type: object properties: city: type: string example: Brooklyn minLength: 3 maxLength: 20 description: Billing Address city countryCode: type: string example: USA minLength: 3 maxLength: 3 description: Billing Address country code line1: type: string example: 83 Mayfair Street minLength: 3 maxLength: 20 description: Billing Address line1 line2: type: string example: Main Road minLength: 3 maxLength: 20 description: Billing Address line2 line3: type: string example: Snake Hill Ave minLength: 3 maxLength: 20 description: Billing Address line3 postalCode: type: string example: 11235 minLength: 5 maxLength: 20 description: Billing Address postal code state: type: string example: NY minLength: 2 maxLength: 20 description: Billing Address state title: CardBillingAddress DonateCardRetrieve: type: object properties: billingAddress: $ref: '#/components/schemas/CardBillingAddress' cardAlias: type: string example: CardA minLength: 3 maxLength: 30 description: The card alias cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card Id (UUID) cardholderName: type: string example: John Doe minLength: 3 maxLength: 30 description: Cardholder Name cardExpiry: $ref: '#/components/schemas/cardExpiry' paymentNetworkName: type: string example: Mastercard minLength: 3 maxLength: 20 description: Payment Network Name primaryAccountNumber: type: string example: '5450985888403538' minLength: 16 maxLength: 16 description: PAN primaryAccountNumberSource: type: string example: CARD_ON_FILE minLength: 3 maxLength: 20 description: PAN Source primaryAccountNumberSuffix: type: string example: '3538' minLength: 4 maxLength: 4 description: PAN Suffix status: type: string example: ACTIVE minLength: 5 maxLength: 20 description: Status title: DonateCardRetrieveResponse Error-500: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to server error properties: Error: type: array description: Only returned in the event of an server issue. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: PROGRAM_ID_NOT_FOUND description: A unique constant identifying the error case encountered during API processing Description: type: string example: Program id is required as this client is mapped to multiple programs. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: DONOR_ID_INVALID description: A unique constant identifying the error case encountered during API processing Description: type: string example: Invalid donorId, it must be a valid UUID. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: Provided donorId is not valid, Please check and provide valid Unique Id. description: Where appropriate, indicates detailed information about data received and calculated during request processing. MedicareCardSourceVerificationRequestAttributes: required: - userConsent - cardColor - nameLine1 - medicareCardNo - individualReferenceNo - countryCode - expiryDate properties: userConsent: description: The value which best reflects the input of the User with regard to consent to use their data. enum: - ACCEPT - DECLINE - REVOKE - EXPIRE type: string example: ACCEPT minLength: 6 maxLength: 7 cardColor: description: Medicard Color can be GREEN, BLUE OR YELLOW. enum: - GREEN - BLUE - YELLOW type: string example: BLUE minLength: 4 maxLength: 6 nameLine1: description: Name Line 1. example: Smith type: string minLength: 1 maxLength: 27 pattern: ^[a-zA-Z\s ,.'-]{1,27}$ medicareCardNo: description: Unique number for Medicare card. type: string maxLength: 10 example: '1234567890' pattern: ^[0-9]{10}$ individualReferenceNo: description: Individual Reference Number. type: string maxLength: 1 example: '1' pattern: ^[0-9]{1}$ countryCode: description: Country code (case insensitive) as described in the ISO 3166-1 alpha-3 international standard. type: string example: AUS pattern: ^[a-zA-Z]{3} expiryDate: example: '2000-12-31' description: The expiry date as it appears on the card, following the color and format. Green card YYYY-MM, Yellow or Blue card YYYY-MM-DD. type: string minLength: 7 maxLength: 10 nameLine2: description: Name Line 2. example: Steve type: string minLength: 1 maxLength: 25 pattern: ^[a-zA-Z\s ,.'-]{1,25}$ nameLine3: description: Name Line 3. example: Baven type: string minLength: 1 maxLength: 23 pattern: ^[a-zA-Z\s ,.'-]{1,23}$ nameLine4: description: Name Line 4. example: Mike type: string minLength: 1 maxLength: 21 pattern: ^[a-zA-Z\s ,.'-]{1,21}$ birthDate: example: '2010-10-25' description: YYYY-MM-DD format. type: string format: date minLength: 10 maxLength: 10 pattern: ^[0-9]{4}-[0-1][0-9]-[0-3][0-9] MedicareCardSourceVerificationResult: required: - verificationResult type: object properties: verificationResult: type: string example: DOCUMENT_VERIFIED description: 'Verification Results, following : DOCUMENT_VERIFIED - Document matches with the IVP registered document, DOCUMENT_NOT_VERIFIED - Document does not match with any of the IVP registered document, DOCUMENT_INVALID - Document is invalid or not electronically captured.' minLength: 16 maxLength: 21 ApiError: required: - Errors type: object properties: Errors: $ref: '#/components/schemas/Errors_2' Errors_2: description: List of Errors. example: $ref: '#/components/examples/NotFoundExample' required: - Error type: object properties: Error: $ref: '#/components/schemas/ErrorList' ErrorList: description: Error Details. type: array minItems: 1 items: $ref: '#/components/schemas/Error_2' Error_2: type: object properties: Source: type: string description: Source of where the error occured. example: mids ReasonCode: type: string description: Code of the error. example: USER_PROFILE_ID_NOT_FOUND Description: type: string description: The cause of the error example: The provided userProfileId does not exist Recoverable: type: boolean description: Indiciates if the error can be recovered from. example: false Details: type: string description: Contains information about the error. example: IOException Occured 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 ClientId: name: x-openapi-clientid in: header description: ClientId is a unique and a mandatory ID shared while creating a project on Mastercard Developers Portal. required: true schema: type: string example: 0a7e433a-63fc-4557-8cf4 ProgramId: name: ProgramId in: header description: ProgramId is an optional field, but if a client has more than one program associated to it, then this field becomes mandatory. required: false schema: type: string example: 80380ef2-5037-4e57-86bf-1bdd1efb0ae2 Donor: name: donor_id in: path description: donor_id required: true schema: type: string example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 CorrelationId: name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 Card: name: card_id in: path description: card_id required: true schema: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc IssuingCountryParameter: name: issuing_country in: path description: Country of issue for the document in the ISO 3166-1 alpha-3 format, only AUS is an acceptable value for this parameter. example: AUS required: true schema: type: string pattern: ^[A-Z]{3} EncryptedPayloadParameter: name: X-Encrypted-Payload in: header description: Whether the request payload is encrypted with the Encyption Key generated from the Developer Zone Portal. example: true required: false schema: type: boolean 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 MedicareDataNotMatchedExample: value: verificationResult: DOCUMENT_NOT_VERIFIED BadRequestExampleIVPConnectionTimeout: value: Errors: Error: - Source: mids ReasonCode: IVP_CONNECTION_TIMEOUT Description: Connection timeout when trying to connect with the Identity Verification Provider. Please look at 'details' for additional information. Recoverable: false Details: Received Connection TimeOut Exception MedicareDocumentInvalidExample: value: verificationResult: DOCUMENT_INVALID reason: Provided data is invalid or not electronically captured BadRequestExampleCountryCode: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Invalid value US4 for 'countryCode'. Recoverable: false Details: null BadRequestExampleIVPSystemError: value: Errors: Error: - Source: mids ReasonCode: IVP_SYSTEM_ERROR Description: Received system error from the Identity Verification Provider. Please look at 'details' for additional information. Recoverable: false Details: System Error Received BadRequestExampleMedicareName: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Invalid value for 'nameLine' field OR value exceeds allowed max characters. Recoverable: false Details: null BadRequestExampleUserConsent: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Unexpected value 'Invalid' for enumerate field. Recoverable: false Details: null BadRequestExampleMedicareCountryCode: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Invalid value for 'Country code'. Recoverable: false Details: null ForbiddenExampleUnauthorizedScopedFields: value: Errors: Error: - Source: mids ReasonCode: UNAUTHORIZED_SCOPED_FIELDS Description: 'UNAUTHORIZED_SCOPED_FIELDS: Requested scoped fields are not part of whitelisted fields.' Recoverable: false Details: null BadRequestExampleDocumentMismatch: value: Errors: Error: - Source: mids ReasonCode: BAD_REQUEST Description: The document uploaded by the User does not comply to the document type/country specified by the client in the originating access-token request. Recoverable: false Details: null BadRequestExampleMedicareIndividualReferenceNo: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Invalid value for 'INDIVIDUAL_REFERENCE_NO'. Recoverable: false Details: null BadRequestExampleMedicareExpireDate: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Invalid value for 'expiry date'. Recoverable: false Details: null BadRequestExampleMedicareUserConsent: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: User consent not given. Recoverable: false Details: null NotFoundExample: value: Errors: Error: - Source: mids ReasonCode: USER_PROFILE_ID_NOT_FOUND Description: The provided userProfileId does not exist. Recoverable: false BadRequestExampleMedicareMedicareNumber: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Invalid value for 'Medicare card number'. Recoverable: false Details: null BadRequestExamplePhoneNumber: value: Errors: Error: - Source: mids ReasonCode: VALIDATION_ERROR Description: Invalid value ASD for 'phoneNumber'. Recoverable: false Details: null MedicareSuccessExample: value: verificationResult: DOCUMENT_VERIFIED ForbiddenExample_2: value: Errors: Error: - Source: mids ReasonCode: CONSENT_NOT_GIVEN Description: User Consent Not Given. Recoverable: false 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 X-Transaction-ID: schema: type: string example: 2d077b9c-3c06-44ac-b00e-d78fe8cce606 description: A random 128-bit UUID representing the transaction. requestBodies: PrepaidCardApplicationRequest: description: Prepaid card application information content: application/json: schema: $ref: '#/components/schemas/PrepaidCardApplication' required: true DebitCardApplicationRequest: description: Debit card application information content: application/json: schema: $ref: '#/components/schemas/DebitCardDetails' required: true AddCard: description: addCardRequest content: application/json: schema: $ref: '#/components/schemas/AddCard' required: false UpdateCard: description: updateCardRequest content: application/json: schema: $ref: '#/components/schemas/UpdateCard' required: false SearchCard: description: searchCardRequest content: application/json: schema: $ref: '#/components/schemas/SearchCard' required: false MedicareCardSourceVerificationRequest: content: application/json: schema: $ref: '#/components/schemas/MedicareCardSourceVerificationRequestAttributes' required: true