--- swagger: "2.0" info: title: crds-ccc-d-credit-card-account-data description: This Microservice performs operations for credit card accounts. version: 1.0.0 x-ibm-name: crds-ccc-d-credit-card-account-data host: 127.0.0.1 schemes: - https basePath: /api produces: - application/json paths: /v1/cards/credit-cards/accounts/retrieve: post: tags: - retrieve-credit-card-account-info operationId: retrieve-credit-card-account-info summary: 'LOB: Credit&Risk, Feature: Credit card account operations, Functionality: retrieve' description: This Api is manages all information to retrieve details regarding to a credit card account. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: false type: string description: Client ID generated during application registration - name: Authorization in: header required: false type: string description: The Authorization Token received during login - name: Accept in: header required: true type: string description: Content-Types that are acceptable for the response - name: uuid in: header required: true type: string description: 128 bit UUID that you generate for every request - name: Accept-Language in: header required: false type: string description: List of acceptable human languages for response - name: Content-Type in: header required: true type: string description: Content-Types that are sent in the request - name: countryCode in: header required: true type: string description: Country code in 2 character ISO 3166 format - name: businessCode in: header required: true type: string description: Business code identified during application registration - name: ChannelId in: header required: true type: string description: Channel where request originated - name: sid in: header required: false type: string description: SessionId sent by Consumer - name: creditCardAccountInfoRequest in: body schema: $ref: '#/definitions/CreditCardAccountInfoRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/CreditCardAccountInfoResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' definitions: CreditCardAccountInfoRequest: type: object properties: customerId: description: Customer ID is a key associated with a specific entity or person Citi does business or has some relationship with type: string minLength: 5 maxLength: 12 example: "123456789012" cardNumber: description: Card number of the customer type: string pattern: ^[0-9]{16}$ example: "566233800020356" required: - customerId - cardNumber CreditCardAccountInfoResponse: type: object properties: customer: $ref: '#/definitions/Customer' Customer: type: object properties: fullName: type: string description: The legal name that an individual is given at birth and/or recognized by a government or other legal entity, or which appears on a birth certificate, marriage certificate (in jurisdictions that permit or require a name change to be recorded at marriage), or other government issued document (e.g., court order). Often, the term ‘Full Name’ is used instead of ‘Personal Name’. example: Juan, Perez goldAccountFlag: type: boolean description: This Flag indicates wheter the Customer has Gold Account or not. example: true taxId: type: string description: Tax ID Number of Person or corporation. example: RFCA123456 taxStatus: type: string description: 'US Tax Status.For example: S_PERSON_REPORTABLE_DOCUMENTED, US_PERSON_REPORTABLE_WHLDABLE, US_ENTITY_EXEMPT_US_TAX_DOCMNTD, NON_US_PERSON_REGULAR, NON_US_PERSON_RE_CERTIFIABLE, EXCEPTED_NFEE_FLOWTHROUGH, NON_REPORTABLE_ACCOUNT, NON_US_PERSON_DOC_REQU_EXPIRE, US_PERSON_WTHLDBLE_2ND_B_OR_C, NON_US_INDIV_NRA_LIVING_IN_US, NON_US_INDIV_PERM_CURE_W8, NON_US_INDIV_CURED_WITHOUT_W8, RECALCITRANT_WITH_US_INDICIA, RECALCITRANT_US_PERSON, RECALCITRANT_WITH_NO_US_INDICIA, RECALCITRANT_INDIV_DORMANT_ACC, RECALCITRANT_NON_COMPLIANT_NFFE, PRESUMED_US_UNDOC_US_INDICIA, PRESUMED_NON_US_UNDOC_NO_INDICA, PASSIVE_NFFE_SUB_US_OWNER_BO, PASSIVE_NFFE_NO_SUB_US_OWNER_BO, PASSIVE_NFFE_NO_SUB_US_OWN_FLWTH, PASSIVE_NFFE_WP_OR_WT, NFFE_EXCEPTED_DIRECT_REPORTING, NPFFI, NPFFI_EXEMPT_BENEFICIAL_OWNERS, ODFFI, ODFFI_FLOWTHROUGH, OTHER_FFI, OTHER_FFI_FLOWTHROUGH, EXCEPTED_NFFE, PASSIVE_NFFE_SUB_US_OWN_FLWTH, EXEMPT_BENEFICIAL_OWNER' example: S_PERSON_REPORTABLE_DOCUMENTED outstandingBalanceAmount: type: number format: double description: Outstanding Balance to be paid. example: 9999999.990000 limitAmount: type: number format: double description: Maximum limit amount. example: 9999999.990000 account: $ref: '#/definitions/Account' dispute: $ref: '#/definitions/Dispute' Account: type: object properties: accountNumber: type: string description: Customer's Account Number with the Bank. An account number is the primary identifier for ownership of an account, whether a checking account or savings account or credit card account or investment account, or a loan account. example: "123456789" accountAlias: type: string description: Secondary identifier for the account such as Clabe number used in Mexico. The CLABE (Standar bank CLABE) is a banking standard for the numbering of bank accounts in Mexico. This standard is a requirement for the sending and receiving of international transfers since June 1, 2004. The CLABE account code has 18 digits which always contains the payee's bank account number. example: 002975550000007799 accountOpenDate: type: string format: date description: Date on which the account has been opened in bankDate in ISO 8601, YYYY-MM-DD format example: "2022-06-22" accountStatus: type: string description: Indicates the current lifecycle status of the account. Eg. A = Active, I = Inactive. example: A closedDate: type: string format: date description: Date on which account is closedDate in ISO 8601, YYYY-MM-DD format example: "2022-06-22" blockCode: type: string description: Block code specifies the scenario on which the account is blocked. It will be assigned based on the block code matrix.Eg. W = written, N = Not Defined example: W blockedDate: type: string format: date description: 'Date on which account is blockedDate in ISO 8601, YYYY-MM-DD formatEarlier: Block_Code_Date' example: "2022-06-22" blockReasonCode: type: string description: Block reason code gives more specific reason for blocking the account. example: "1234" additionalBlockCode: type: string description: Additional account block code which gives further details of the block /Block code.Eg. W = written, N = No defined example: W blockReasonUpdatedDate: type: string format: date description: 'Date on which the account block reason is updatedDate in ISO 8601, YYYY-MM-DD formatEarlier: Block_Reason_Date' example: "2022-06-22" accountStatementIndicator: type: string description: Indicates whether an account can have a statement generated or is pending to be created. Eg. 1 = statement generated. 2 = statement pending to be generated. example: "1" billToAddressIndicator: type: string description: Prefix to Indicate where the bill needs to be sent. Eg. H = Home., O = Office example: H lastStatementDate: type: string format: date description: Date on which last account statement is generatedDate in ISO 8601, YYYY-MM-DD format example: "2022-06-22" lastPurchaseAmount: type: number format: double description: Last Purchase Amount done on credit card. example: 9999999.990000 lineOfCreditAccount: $ref: '#/definitions/LineOfCreditAccount' bankAccount: $ref: '#/definitions/BankAccount' creditCardAccount: $ref: '#/definitions/CreditCardAccount' transaction: $ref: '#/definitions/Transaction' LineOfCreditAccount: type: object properties: secondAccountHolder: type: string description: Tax Id number of the secondary holder account. example: ABCD910622FPL cashAdvanceLimitAmount: type: number format: double description: Indicates the maximum limit of cash advance allowed on the account. example: 9999999.990000 cashAdvanceAvailableAmount: type: number format: double description: Indicates the amount available to be withdrawed as cash advance. example: 9999999.990000 currentBalanceAmount: type: number format: double description: Current balance amount. example: 9999999.990000 totalAuthorizationAmount: type: number format: double description: Outstanding Cash Authorized Amount for the customer from credit card. example: 9999999.990000 paymentDueDate: type: string format: date description: Date on which the payment is due Date in ISO 8601, YYYY-MM-DD format example: "2022-06-22" cashAdvanceAmount: type: number format: double description: Total amount of cash advance amount withdrawn against line of credit. example: 9999999.990000 BankAccount: type: object properties: totalWithdrawalAmount: type: number format: double description: Total amount taken out of the account example: 99999.990000 cardPlastic: $ref: '#/definitions/CardPlastic' CardPlastic: type: object properties: renewalDate: type: string format: date description: Renewal date based on the expiration Date. The customer can place a request for new card on or before the expiry date of the existing card plastic. example: "2022-06-23" logo: type: string description: A logo is a graphic mark, emblem, or symbol used to aid and promote public recognition. It may be of an abstract or figurative design or include the number or text of the name it represents as in a logotype or wordmark. example: Logo_banamex totalOutstandingAuthorizedAmount: type: number format: double description: 'Total outstanding authorized amount in a credit card: This is the sum of all the transactions after the latest statement date which are authorised but are yet to be billed' example: 9999999.990000 activationIndicator: type: string description: 'To indicate the activation status of the physical plastic card Eg. 1: plastic created not sent, 2: sent not activated, 3: activated, 4: deactivated.' example: "1" activationDate: type: string format: date description: The date when the card plstic is activated.The date is captured in ISO 8601, YYYY-MM-DD format. example: "2022-06-22" cardIssueDate: type: string format: date description: The date on when the card was issued.The date is captured in ISO 8601, YYYY-MM-DD format example: "2022-06-22" cardIssuedFlag: type: boolean description: Flag indicates whether the card is issued or not. example: true addressId: type: string description: This is a unique identifier for Address Entity. The card plastic, PIN .etc are delivered to this address. Eg. H = Home, O = Office. example: H pinOfflineStatus: type: string description: 'Indicator to show card PIN Offline Status of the card. Offline PIN is a cardholder verification method, or CVM, unique to EMV cards. When the EMV card is programmed, the offline PIN code is stored within the card’s microprocessor. During an offline PIN cardholder verification, the PIN entered into the terminal or PIN pad is sent to the card. The card’s microprocessor then returns one of two answers: if the entered PIN and the stored PIN are the same, the card sends a confirmation signal; if they are different, the card sends a failure signal. In this way, the stored PIN is never transmitted; it remains securely stored within the microprocessor. Eg. Y – Enabled R – Requested' example: "Y" pinSynchronizationStatus: type: string description: Status of the offline PIN and Online PIN is in synchronization. Transaction protocols at ATMs should ensure that the on-line and off-line PINs are always aligned. Thus, any failures, such as “time-outs” will result in a “roll-back” to the original PIN. Y – Enabled R – Requested example: "Y" pinMailedDate: type: string format: date description: The date on which the PIN of the card was sent.The date is captured in ISO 8601, YYYY-MM-DD format example: "2022-06-22" cardLogoId: type: string description: 'Id for the transfered card logo which is embossed on the card. For eg: 1 = ''VISA'', 2 = ''Master Card''.' example: "1" reissueDayCount: type: string description: Calculated num of days until expiration based on current expiration Date. example: "933" lastCardIssueDate: type: string format: date description: The last updated date when the card was issued due to a renewal or another process.The date is captured in ISO 8601, YYYY-MM-DD format. example: "2022-06-22" deliveryMode: type: string description: 'Delivery Mode. It represents shipping mode basically and says by which mode card plastic is getting delivered. For Ex: FAST_CARD or Standard shipping or Pickup Branch or Preferred Mailing Address.It is also referred as Card_Delivery_Option.' example: BranchPickUp cardPlasticInfo: $ref: '#/definitions/CardPlasticInfo' cardBalance: $ref: '#/definitions/CardBalance' CardPlasticInfo: type: object properties: billingCycleDate: type: string format: date description: The credit card works in monthly cycles. The day the cycle end is the closing date. That's the date the statement is generated and interest is charged. It is also the start of the countdown toward your payment due date.The date is captured in ISO 8601, YYYY-MM-DD format example: "2022-06-22" additionalBlockReason: type: string description: Additional description of the blocking code assigned to the card. A2 - Cancellation for additional card, D1.- Deceased client, D2.- Deceased client Insurance paid example: Any other additional reason to block Card. cardNumber: type: string description: 'Number Embossed/ Printed on the Card. or Credit Card: A card issued by a bank allowing the holder to transfer money electronically from one account to another account or another bank account, for cash withdrawal, for making a purchase etc. For Credit Card: It is a 16 digit number, typically imprinted on the front of the card. Sometimes it is embossed and sometimes it is printed. For Visa, it would begin with the number 4, and the first 6 digits indicate the type of card and the issuing financial institution.' example: "551012343214987654" cardType: type: string description: The first six digits of the credit card number encode the card type/issuer. Sometimes the relationship between card numbers and card type can be simplified into a rule like Visa credit card numbers start with 4, Master card numbers start with 5, American Express card numbers start with 3 It is also referred as Card_Association_Network. example: VISA primaryCardHolderFlag: type: boolean description: Indicates whether the card is primary or supplementary example: true expiryDate: type: string format: date description: The date on which the card becomes invalid/expired. The customer can place a request for new card on or before the expiry date of the existing card plastic. example: "2022-06-22" emvFlag: type: boolean description: This indicator indicates whether the EMV is enabled for card or not. EMV -- which stands for Europay, Mastercard and Visa -- is a global standard for cards equipped with computer chips and the technology used to authenticate chip-card transactions. It is also known as Chip_Enabled_Card_Flag example: true branchTypeId: type: string description: Number associated to a brand that collaborates as a partner with a card. example: partner lastMaintenanceDate: type: string format: date description: Date of last maintenance for card plastic. example: "2022-06-22" newCardNumber: type: string description: Number Embossed/ Printed on the new replaced Card. example: "551012343214987654" cardPlasticAdditionalDetail: $ref: '#/definitions/CardPlasticAdditionalDetail' CardPlasticAdditionalDetail: type: object properties: cardBlockCode: type: string description: 'The block code used to block a particular card.Card Block Codes are Temp. Block, Lost, Fraud / Stolen, Over Credit Limit For eg: if card is lost the first step is to block the card to avoid any discrepany like misuse(Fraud)' example: "54321" cardBlockDate: type: string format: date description: The date on when the Card is blocked based on the request placed. The date is captured in ISO 8601, YYYY-MM-DD format example: "2022-06-22" blockReason: type: string description: 'The reason for blocking the card For eg: The card is stolen while travelling.As soon as you realize your card is stolen or lost and you need a replacement, call your bank''s emergency contact number.Every credit card company and bank will replace your card in case of emergency' example: The card is stolen while travelling. CardBalance: type: object properties: cashThisCycleAmount: type: number format: double description: The cycle to date amount of cash made by this card. This will not be adjusted by returns, auth reversals, fraud/billing disputes, payments. example: 9999999.990000 purchaseBalanceThisCycleAmount: type: number format: double description: The cycle-to-date amount of purchases made by this card. This will not be adjusted by returns, auth reversals, fraud/billing disputes, payments. example: 9999999.990000 cashAdvanceThisCycleAmount: type: number format: double description: The cycle to date amount of cash advances made by this card. This will not be adjusted by returns, auth reversals, fraud/billing disputes, payments. example: 9999999.990000 purchaseBalanceThisYearAmount: type: number format: double description: The year-to-date amount of purchases made by this card. This will not be adjusted by returns, auth reversals, fraud/billing disputes, payments. This is the average balance calculated since beginning of the year till current date. example: 9999999.990000 retailReturnThisYearAmount: type: number format: double description: 'The year-to-date return amount. Merchants and their acquirers submit authorization reversal messages when: The final settlement amount was less than the authorized amount.' example: 9999999.990000 retailCashThisYearAmount: type: number format: double description: The year-to-date amount of cash advances made by this card. This will not be adjusted by returns, auth reversals, fraud/billing disputes, payments. example: 9999999.990000 purchaseBalanceLifeTimeAmount: type: number format: double description: The life-to-death amount of purchases made by this card. This will not be adjusted by returns, auth reversals, fraud/billing disputes, payments. This is the average balance calculated since beginning of the life till death of the card. example: 9999999.990000 retailReturnLifeTimeAmount: type: number format: double description: 'The life-to-death return amount. Merchants and their acquirers submit authorization reversal messages when: The final settlement amount was less than the authorized amount.' example: 9999999.990000 retailReturnThisCycleAmount: type: number format: double description: The cycle to date amount of refunds made by this card. example: 99999.990000 CreditCardAccount: type: object properties: creditLimitAmount: type: number format: double description: It represents Credit limit amount on the card account. For example if credit limit is 8000 dollers,beyond this limit a card holder can not make any purchases from the card. example: 9999999.990000 availableCreditAmount: type: number format: double description: Available amount available for credit. Total available credit amount out of the Credit limit assigned. example: 9999999.990000 totalOutstandingDisputedAmount: type: number format: double description: Amount of disputed items example: 9999999.990000 lastStatementTotalBalanceAmount: type: number format: double description: Total amount shown in most recent statement of the creditcard It reflects the total amount that customer owe on the credit card up to the end of last billing cycle example: 9999999.990000 lastStatementMininumPaymentDue: type: number format: double description: The total amount due on the cardholder's most recent statement. Includes delinquency, OCL and any fees with were requested.(This is last cycle minimum due amount) example: 9999999.990000 totalDueAmount: type: number format: double description: Current amount due including delinquency and over credit limit amount. Any payments processed since the last billing statement are taken into account. example: 9999999.990000 currentUnbilledBalanceAmount: type: number format: double description: The outstanding balance at the end of the card holder's last billing cycle. This amount excludes payments made toward the balance. example: 999 lastPaymentAmount: type: number format: double description: Amount of the most recent payment. example: 9999999.990000 lastPaymentDate: type: string format: date description: Date on which the last credit card payment is done.Date in ISO 8601, YYYY-MM-DD format example: "2022-06-22" lastPurchaseDate: type: string format: date description: Date on which the last purchase was made on the card.Date in ISO 8601, YYYY-MM-DD format example: "2022-06-22" cashThisLifeAmount: type: number format: double description: The life-to-deat amount of cash advances made by this card. This will not be adjusted by returns, auth reversals, fraud/billing disputes, payments. example: 9999999.990000 cardEffectiveTransferDate: type: string format: date description: Effective date of account transfer. Date in ISO 8601 YYYY-MM-DD format example: "2022-06-22" totalPurchaseThisCycle: type: integer format: int32 description: Refers to the number of purchase or retail purchasing made in the current cycle to the date. example: 99999 totalPurchaseThisYear: type: integer format: int32 description: Refers to the number of purchase or retail pruchasing made in the year to the date. example: 99999 totalPurchaseLifeTime: type: integer format: int32 description: Refers to the number of purchase or retail purchasing made in the entire life of the card to the date. example: 99999 totalReimbuserThisCycle: type: integer format: int32 description: Refers to the number of refunds or returns received in the card in the current cycle to the date. example: 99999 totalReimbuserThisYear: type: integer format: int32 description: Refers to the number of refunds or returns received in the card in the year to the date. example: 99999 totalReimbuserLifeTime: type: integer format: int32 description: Refers to the number of refunds or returns received in the entire life of the card to the date. example: 99999 totalWithdrawlThisCycle: type: integer format: int32 description: Refers to the number of cash withdrawals in the current cycle to the date. example: 99999 totalWithdrawlThisYear: type: integer format: int32 description: Refers to the number of cash withdrawals in the year to the date. example: 99999 totalWithdrawlLifeTime: type: integer format: int32 description: Refers to the number of cash withdrawals in the entire life of the card to the date. example: 9999 Transaction: type: object properties: minimumPaymentDueAmount: type: number format: double description: Minimum amount a cardholder must pay to keep the account from defaulting and avoiding late payment fee to be levied. example: 9999999.990000 Dispute: type: object properties: disputeDate: type: string format: date description: Date when finance cgarge on Dispute happened. example: "2022-06-22" delinquentDate: type: string format: date description: This attribute holds the date on which the account was reported delinquent..for credit card this date is past 30 days due payment. example: "2022-06-22" ErrorResponse: properties: type: type: string description: Invalid - Request did not confirm to the specification and was unprocessed and rejected. Please fix the value and try again enum: - error - warn - invalid - fatal code: description: Error code which qualifies the error type: string details: description: Human readable explanation specific to the occurrence of the problem type: string location: description: The name of the field that resulted in the error type: string moreInfo: description: More Info can be used to pass any additional details type: string uuid: description: 128 bit UUID that you generate for every request type: string timestamp: description: Timestamp of the error type: string required: - type - code x-ibm-configuration: enforced: true testable: true phase: realized securityDefinitions: OAuth2 Application Flow: type: oauth2 description: "" flow: application scopes: /api/v1: "" tokenUrl: https://perf.api.externalapib2b.wlb.lac.nsroot.net:7100/mx-gcgapi/perfext/api/v1/oauth/token Client ID: type: apiKey description: "" in: header name: X-IBM-Client-Id security: - OAuth2 Application Flow: - /api/v1 Client ID: [] x-ibm-endpoints: - endpointUrl: https://perf.api.externalapib2b.wlb.lac.nsroot.net:7100/mx-gcgapi/perfext type: - production - development ...