---
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:
Type | Code | Details |
error | invalidRequest | Missing
or invalid Parameters |
schema:
$ref: '#/definitions/ErrorResponse'
401:
description: Type | Code | Details |
error | unAuthorized | Authorization
credentials are missing or invalid |
schema:
$ref: '#/definitions/ErrorResponse'
403:
description: Type | Code | Details | More
Info |
error | accessNotConfigured | The request
operation is not configured to access this resource | Channel/Country/Business
provided in the request is not supported currently |
schema:
$ref: '#/definitions/ErrorResponse'
404:
description: Type | Code | Details | More
Info |
error | resourceNotFound | The requested
resource was not found | Empty resource/resource not found |
schema:
$ref: '#/definitions/ErrorResponse'
422:
description: Type | Code | Details |
error | businessValidationFailed | Business
validation error occured on one or more parameters |
schema:
$ref: '#/definitions/ErrorResponse'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
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
...