swagger: '2.0' info: description: >- Returns the account balance for various account levels and returns an indicator for whether sufficient funds are available in the account for a specified transaction amount. version: 1.0.0 title: Account Balance Inquiry servers: - url: https://tts.apib2b.citi.com/tts/cards description: production gateway URL - url: https://tts.sandbox.apib2b.citi.com/tts/cards description: sandbox URL schemes: - https produces: - application/json paths: /accounts/v1/balanceInquiry: post: summary: Account Balance Inquiry description: >- Retrieves account balance information such as the credit or cash limit, current balance, and total usage for various account levels(group, relationship, financial account, or card). Optionally pass a transaction amount in the request to check whether there is available credit for a card transaction. operationId: Account Balance Inquiry parameters: - name: Content-Type in: header description: Supports application/json required: true type: string - name: Authorization in: header description: The OAuth Token prefixed with "Bearer" and space in between. required: true type: string - name: client_id in: query required: true description: >- This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation type: string - name: Region in: header description: region of the client(APAC/EMEA/NAM) type: string required: true - name: Country in: header description: country of the client type: string required: true - name: Req-Sys-Id in: header description: Client tracking ID type: string required: true - name: key-id in: header description: Client certificate key ID to be provided by TPP type: string required: true - name: BalInquiryRequest in: body description: BalInquiryRequest required: true schema: $ref: '#/definitions/BalInquiryRequest' responses: '200': description: >-
CodeDetails
BalInquiryResponse
CodeDetails
BalInquiryResponseSuccess
schema: $ref: '#/definitions/BalInquiryResponse' '400': description: >-
ResponseCodes400
ResponseCodeBad Request
schema: $ref: '#/definitions/ResponseCodes400' '500': description: >-
ResponseCode500
ResponseCodesInternal Server Error
schema: $ref: '#/definitions/ResponseCode500' definitions: BalInquiryRequest: properties: accountNumber: description: >- Number of the account to which the balance inquiry relates. TPP clients must send encrypted Account number field. type: string format: alphanumeric example: '1234567890123450' maxLength: 19 minLength: 16 accountLevel: description: >- Heirarchy level to which balance inquiry relates
Possible Values
G - Corporate Group
R - Corporate Relationship
A - Financial Account
C - Card type: string format: alphanumeric example: C maxLength: 1 transactionAmount: description: >- The amount of the planned transaction to be checked against the available limit

Applicable only when transactionType = C

Amount format must be passed with the appropriate amount of decimal positions based on the currency per the ISO 4217 standard

If additonal digits are added to the right of the decimal where not applicable for the given currency as per the ISO 4217 standard, the additional digits will be stripped from the end from the value.
Max length: 14 digits to the left of the decimal and 2 digits to the right of the decimal
or 13 digits to the left of the decimal and 3 digits to the right of the decimal. type: string format: alphanumeric example: '100.50' maxLength: 17 transactionAmountCurrency: description: >- Required if transactionAmount is included in request. If not included while Transaction Amount is present, transactionAmountCurrency will be defaulted to the domestic currency

Applicable only when transactionType = C

The currency of the planned transaction to be checked against the available limit type: string format: alphanumeric example: USD maxLength: 3 required: - accountNumber BalInquiryResponse: properties: accountNumber: description: Number of the account to which the balance inquiry relates type: string format: alphanumeric example: '1234567890123450' maxLength: 19 accountLevel: description: >- Heirarchy level to which balance inquiry relates
Possible Values
G - Corporate Group
R - Corporate Relationship
A - Financial Account
C - Card type: string format: alphanumeric example: C maxLength: 1 necessaryAmountAvailableRetail: description: >- Returned when Account Type = C and transactionAmount and transactionAmountCurrency are included in the request
Possible Value
Y - Yes
N - No type: string format: alphanumeric example: 'Y' maxLength: 1 wtpTierPercentage: description: Percentage value of wholesale travel product interchange tier type: string format: alphanumeric example: '80' maxLength: 6 accountBalanceInfo: type: array items: $ref: '#/definitions/AccountBalanceInfo' wtpTierCode: description: Code of wholesale travel product interchange tier type: string format: alphanumeric example: MBI maxLength: 3 required: - accountNumber - accountLevel - accountBalanceInfo AccountBalanceInfo: properties: accountype: description: >- Indicates the account Level or account type the account balance info is being returned for.
Possible values
Corporate Group
Corporate Relationship
Financial Account
Card
Cash
Foreign Currency Credit
Alternate Currency Credit
Declining Balance type: string format: alphanumeric maxLength: 1 limit: description: >- The maximum amount of credit that can be spent or the maximum amount allowed for cash withdrawals type: string format: alphanumeric example: '800000' maxLength: 18 currentBalance: description: Current balance of the account type: string format: alphanumeric example: '24043.71' maxLength: 18 outstandingBalance: description: Balance of authorized transactions that are not yet posted on account type: string format: alphanumeric example: '794.48' maxLength: 18 totalUsage: description: Total amount of credit limit spent including outstanding balance type: string format: alphanumeric example: '24838.19' maxLength: 18 totalUsagePercentage: description: >- Percentage of total amount of credit limit spent including outstanding balance type: string format: alphanumeric example: '3.1' maxLength: 7 availableLimit: description: >- Remaining limit available to spend or remaining limit available for cash withdrawal type: string format: alphanumeric example: '775161.81' maxLength: 18 availableLimitPercentage: description: >- The percent of the limit of that account which is allowed to be spent or to be withdrawn type: string format: alphanumeric example: '96.6' maxLength: 7 currency: description: The currency of the account type: string format: alphanumeric example: GBP maxLength: 3 temporaryLimitExpiry: description: >- Date when Temporary credit or cash Limit will cease to take effect. Returned when temporary credit or cash limit is active type: string format: alphanumeric example: MMDDYYYY maxLength: 8 permanentLimit: description: >- Amount of permanent credit or cash limit, when temporary limit is active. Returned when temporary credit or cash limit is active type: string format: alphanumeric example: '1000000' maxLength: 18 startDate: description: Date when Foreign Currency Limit start to take effect type: string format: alphanumeric example: MMDDYYYY maxLength: 8 expiryDate: description: Date when Foreign Currency Limit or Declining Balance expires type: string format: alphanumeric example: MMDDYYYY maxLength: 8 required: - accountype BalInquiryErrorResponse: properties: errorMessage: type: array items: $ref: '#/definitions/ErrorResponseCode' ErrorResponseCode: properties: code: description: which indicates the error code type: string format: alphanumeric enum: - EVB1101 - EVB1102 - EVB1103 - EVB1104 - EVB1105 - EVB1106 - EVB1107 - EVB1108 - EVB1109 - EVB1111 - EVB1112 - EVB1113 - EVB1114 - EVB1115 - EVB1116 - EVB1130 - EVB1131 - EVB1132 - EVB1133 - GRC0002 - GRC0003 - GRC0004 - GRC0005 - GRC0007 - GRC0010 - GRC0014 - GRC0016 description: description: "\" The error description that corresponds to error code when there is any
error occurred while retrieving the trsansaction.
* `EVB1101`-accountNumber is required\t
* `EVB1102`-accountNumber value must be numeric
* `EVB1103`-accountNumber must be between 16 and 19 digits
* `EVB1105`-Invalid accountLevel value. accountLevel must be either G, R, A, or C\t
* `EVB1106`-accountLevel can have max of 1 character
* `EVB1107`-transactionAmount value must be numeric
* `EVB1108`-transactionAmount max character length is 17 digits with a max 3 digits to the right of the decimal
* `EVB1109`-transactionAmountCurrency can have a maximum of 3 characters\t
* `EVB1112`-accountNumber not found in the system
* `EVB1113`-transactionAmountCurrency not found in system
* `EVB1114`-Client Tracking ID has spaces
* `EVB1116`-Card account number does not belong to the group account number or relationship number that has been onboarded for this client ID.\t
* `EVB1130`-Certificate Key Id entered is not valid.
* `EVB1131`-Payload signing validation failed.
* `EVB1132`-Group account number has not been onboarded for this client ID and key ID.
* `EVB1133`-Certificate Key Id is mandatory
* `GRC0002`-Client ID is missing in the request header
* `GRC0003`-Invalid JSON Input \t
* `GRC0004`-Region ID is not available in the request
* `GRC0005`-Client Tracking ID is missing in the request header
* `GRC0007`-Client requested Content Type is not supported.
* `GRC0010`-Client Tracking ID length should contain a min of 1 character and a max of 36 characters
* `GRC0014`-We have encountered an error and couldnt receive your request. Please try again, or contact Citi support if you have any further questions or comments\t\t
* `GRC0016`-Country code is not available in the request" type: string format: alphanumeric required: - code ResponseCodes400: properties: errors: type: array items: $ref: '#/definitions/ResponseCodes' ResponseCodes: properties: errorCode: description: which indicates the error code type: string format: alphanumeric example: EVB1112 maxLength: 30 errorDescription: description: which indicates the error description type: string format: alphanumeric example: accountNumber not found in the system maxLength: 300 required: - errorCode - errorDescription ResponseCode500: properties: errors: type: array items: $ref: '#/definitions/ResponseCode' ResponseCode: properties: errorCode: description: which indicates the error code type: string example: GRC0014 errorDescription: description: which indicates the error description type: string example: >- We have encountered an error and couldnot receive your request. Please try again, or contact Citi support if you have any further questions or comments consumes: - application/json securityDefinitions: clientCredentials: type: oauth2 flow: application description: '' tokenUrl: https://tts.apib2b.citi.com/tts/cards/api/v1/oauth2/token scopes: null security: - clientCredentials: [] responses: {}