openapi: 3.1.0
info:
title: Accounts
version: 5.0.0
description: >-
The Account Services API offers you all account-related services, such
as:
- GET Account Details
- GET Balances
- GET
Transactions
GET Accounts is the operation that you are required to
call first.
You then either store the response of GET Accounts in your
database and refer to it when you call the other two services.
You can
also call GET accounts every time before you call the other two services to
retrieve the details of the accounts.
servers:
- url: https://tts.sit.apib2b.citi.com/citiconnect/sit5/accountsservices/v5
description: dev gateway url
- url: https://tts.apib2b.citi.com/citiconnect/prod/accountsservices/v5
description: production gateway url
- url: https://tts.sandbox.apib2b.citi.com/citiconnect/sb/accountsservices/v5
description: sbox url
tags:
- name: Retrieve Accounts
description: API services to provide accounts details.
- name: Retrieve Balances
description: API services to provide balances of the accounts.
security:
- oAuth:
- authenticationservices/v1
paths:
/accounts:
get:
tags:
- Retrieve Accounts
summary: Account Details
description: Get the details of all accounts linked to the `Client-Id`.
servers:
- url: https://tts.apib2b.citi.com/citiconnect/prod/accountsservices/v5
operationId: getAccountsByClientId
parameters:
- $ref: '#/components/parameters/Client-Id'
- $ref: '#/components/parameters/Account-Ref'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Page-No'
- $ref: '#/components/parameters/Sort-By'
- $ref: '#/components/parameters/Sort-Type'
- $ref: '#/components/parameters/Interest-Rate'
responses:
'200':
description: Accounts Response
headers:
pagination-metadata:
$ref: '#/components/headers/Pagination-Metadata'
content:
application/json:
schema:
$ref: '#/components/schemas/Accounts-Information'
examples:
Account-Response:
$ref: '#/components/examples/Account-Response'
Account-Response-Interest-Details:
$ref: '#/components/examples/Account-Response-Interest-Details'
application/xml:
schema:
$ref: '#/components/schemas/Accounts-Information'
examples:
Account-Response:
$ref: '#/components/examples/Account-Response'
Account-Response-Interest-Details:
$ref: '#/components/examples/Account-Response-Interest-Details'
'400':
$ref: '#/components/responses/Bad-Request'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/Not-Found'
'405':
$ref: '#/components/responses/Method-Not-Allowed'
'429':
$ref: '#/components/responses/Exceeding-Rate-Limit'
'500':
$ref: '#/components/responses/Internal-Server-Error'
'504':
$ref: '#/components/responses/Gateway-Timeout'
default:
$ref: '#/components/responses/Internal-Server-Error'
deprecated: false
security:
- oAuth:
- authenticationservices/v1
/balances:
get:
tags:
- Retrieve Balances
summary: Account Balances
description: >-
Get the balances of all the accounts linked to the `Client-Id` who
initiated the request or you can pass the `Account_ref` parameter in the
request and get the balances of a specific account.
servers:
- url: https://tts.apib2b.citi.com/citiconnect/prod/accountsservices/v5
operationId: getBalancesByClientId
parameters:
- $ref: '#/components/parameters/Client-Id'
- $ref: '#/components/parameters/Account-Ref'
- $ref: '#/components/parameters/From-Date'
- $ref: '#/components/parameters/To-Date'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Page-No'
- $ref: '#/components/parameters/Sort-By'
- $ref: '#/components/parameters/Sort-Type'
- $ref: '#/components/parameters/Currency-Code'
- $ref: '#/components/parameters/Branch-Code'
responses:
'200':
description: Balance Response
headers:
pagination-metadata:
$ref: '#/components/headers/Pagination-Metadata'
content:
application/json:
schema:
$ref: '#/components/schemas/Account-Balance'
examples:
Balance-Response-Eod-Base-Ccy:
$ref: '#/components/examples/Balance-Response-Eod-Base-Ccy'
Balance-Response-Eod-Eqv-Ccy:
$ref: '#/components/examples/Balance-Response-Eod-Eqv-Ccy'
Balance-Response-Intraday-Base-Ccy:
$ref: '#/components/examples/Balance-Response-Intraday-Base-Ccy'
Balance-Response-Intraday-Eqv-Ccy:
$ref: '#/components/examples/Balance-Response-Intraday-Eqv-Ccy'
application/xml:
schema:
$ref: '#/components/schemas/Account-Balance'
examples:
Balance-Response-Eod-Base-Ccy:
$ref: '#/components/examples/Balance-Response-Eod-Base-Ccy'
Balance-Response-Eod-Eqv-Ccy:
$ref: '#/components/examples/Balance-Response-Eod-Eqv-Ccy'
Balance-Response-Intraday-Base-Ccy:
$ref: '#/components/examples/Balance-Response-Intraday-Base-Ccy'
Balance-Response-Intraday-Eqv-Ccy:
$ref: '#/components/examples/Balance-Response-Intraday-Eqv-Ccy'
'400':
$ref: '#/components/responses/Bad-Request'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/Not-Found'
'405':
$ref: '#/components/responses/Method-Not-Allowed'
'429':
$ref: '#/components/responses/Exceeding-Rate-Limit'
'500':
$ref: '#/components/responses/Internal-Server-Error'
'504':
$ref: '#/components/responses/Gateway-Timeout'
default:
$ref: '#/components/responses/Internal-Server-Error'
deprecated: false
security:
- oAuth:
- authenticationservices/v1
components:
parameters:
Client-Id:
in: query
name: client_id
required: true
schema:
type: string
title: Client Identifier
description: >-
Unique ID you created during oAuth token generation. Citi shares this ID
with you during your CitiConnect API onboarding. This parameter is
required for all 3 endpoints – GET Accounts, GET Balances, and GET
Transactions.
example: '54563213246'
Account-Ref:
in: query
name: account_ref
description: >-
**This parameter is optional for GET Accounts and conditional mandatory
for GET Balances. For historical balances it is mandatory and for
current balances it is optional.** Account Reference number is the
unique identifier created for each account. If this parameter is not
used, all accounts associated with `Client-Id` are returned. **This
field can contain Virutal account id.**
schema:
maxLength: 40
minLength: 5
type: string
title: Account Reference Identifier
Limit:
in: query
name: limit
description: The number of records to display per page.
schema:
maximum: 10000
minimum: 1
type: integer
title: Limit
Page-No:
in: query
name: page_no
description: >-
You can input a page number and receive the data specific to a requested
page. Page number is determined based on pagination metadata received in
the response header of the initial request.
schema:
minimum: 1
type: integer
title: Page Number
Sort-By:
in: query
name: sort_by
description: >-
This parameter contains one or more sort criteria. For GET Account,
allowed enum value is `accountRef`.For GET Balance, allowed enum value
is `accountRef`.For GET transaction, allowed enum values are
`transactionNumber`, `amount`, and `transactionActualTime`.
schema:
type: string
title: Sorting Criteria
Sort-Type:
in: query
name: sort_type
description: >-
Sorting direction. Options include DESC - Descending order sorting and
ASC - Ascending order sorting.
schema:
type: string
title: Sorting Direction
enum:
- DESC
- ASC
From-Date:
in: query
name: from_date
description: >-
Start date of the balance range to be retrieved from which balances
should be fetched. This date should always be a past date. The maximum
data retrieved is 180 days for historical balances. If to_date is passed
and from_date is not passed, then the date mentioned in to_date is also
considered as from_date. If both from_date and to_date are null,
real-time balance is retrieved.
schema:
type: string
title: From Date
pattern: >-
^(?:(?:(?:19|20)\d{2})-(?:(?:0[13578]|1[02])-(?:31|30|[0-2]\d)|(?:0[469]|11)-(?:30|[0-2]\d)|02-(?:29|[0-2]\d))|(?:19|20)(?:[02468][048]|[13579][26])-02-29)$
example: '2024-01-26'
To-Date:
in: query
name: to_date
description: >-
End date of the balance range to be retrieved from which balances should
be fetched. This date should always be a past date. The maximum data
retrieved is 180 days for historical balances. If from_date is passed
and to_date is not passed, then the current date minus one day is
considered as to_date.
schema:
type: string
title: To Date
pattern: >-
^(?:(?:(?:19|20)\d{2})-(?:(?:0[13578]|1[02])-(?:31|30|[0-2]\d)|(?:0[469]|11)-(?:30|[0-2]\d)|02-(?:29|[0-2]\d))|(?:19|20)(?:[02468][048]|[13579][26])-02-29)$
example: '2024-01-26'
Interest-Rate:
in: query
name: interest_rate
description: >-
Interest rate condition flag based on which interest rate condition for
debit and credit with tier information can be retrieved. This
functionality is limited to a single account. If interest_rate is
specified as true, account_ref parameter is mandatory. If no interest
rate details information is found for the account, no
interest_rate_details will be returned.
schema:
type: boolean
default: false
example: false
title: Interest Rate
Branch-Code:
in: query
name: branch_code
description: Accounts branch code.
schema:
maxLength: 35
minLength: 1
type: string
title: Branch Identifier
Currency-Code:
in: query
name: currency_code
description: Currency code in which client wanted to see their balance.
schema:
maxLength: 40
minLength: 3
type: string
title: Account currency code
headers:
Pagination-Metadata:
description: >-
current_page: current page number
total_page: Total number of
pages available for your request
page_size: Total number of records
available in the current page
has_more: Any more messages or records
expected
schema:
type: string
title: Pagination Metadata
example: '{"current_page":2, "total_pages":10, "page_size":100,"has_more":true}'
schemas:
Service-Error-Response:
type: object
title: ServiceErrorResponse
xml:
name: ErrorResponse
properties:
ref_id:
type: string
maxLength: 60
description: Unique ID for the transaction.
title: Identification Reference
xml:
name: RefId
error_details:
type: array
items:
$ref: '#/components/schemas/Error-Detail'
title: The details of the error.
xml:
name: ErrorDetails
wrapped: true
Error-Detail:
type: object
title: The details of the error.
xml:
name: ErrorDetail
properties:
issue:
type: string
maxLength: 200
description: More details about the issue.
title: issue
xml:
name: Issue
action:
type: string
maxLength: 350
description: Corrective action to be taken to resolve the issue.
title: action
xml:
name: Action
code:
type: string
maxLength: 8
description: System-generated unique code for the issue.
title: code
xml:
name: Code
Gateway-Error-Response:
type: object
title: Gateway-Error-Response
description: >-
This refers to an issue encountered by an API Gateway handling the
request.
properties:
httpCode:
type: string
maxLength: 3
description: Numeric HTTP Staus code
title: httpCode
xml:
name: httpCode
example: '400'
httpMessage:
type: string
maxLength: 128
description: HTTP error message
title: httpMessage
xml:
name: httpMessage
example: Bad Request
moreInformation:
type: string
maxLength: 128
description: Additional information with HTTP error message
title: moreInformation
xml:
name: moreInformation
example: please provide valid value for request
Accounts-Information:
title: AccountsInformation
description: >-
Fetch and provide the account details based on the filter parameters
received in the request from the client.
xml:
name: AccountsInformation
type: object
properties:
account_details:
type: array
title: Account Details
description: >-
Fetch and provide the account details based on the filter parameters
received in the request from the client.
xml:
name: AccountsDetails
wrapped: true
items:
$ref: '#/components/schemas/Account-Details'
Account-Details:
title: Account Details
description: >-
Fetch and provide the account details based on the filter parameters
received in the request from the client.
type: object
required:
- account_ref
xml:
name: AccountDetails
properties:
account_ref:
$ref: '#/components/schemas/Account-Ref'
account_number:
$ref: '#/components/schemas/Account-Number'
currency_code:
$ref: '#/components/schemas/Currency-Code'
account_name:
$ref: '#/components/schemas/Account-Name'
account_type:
$ref: '#/components/schemas/Account-Type'
branch_code:
$ref: '#/components/schemas/Branch-Code'
legal_entity:
$ref: '#/components/schemas/Legal-Entity'
branch_name:
$ref: '#/components/schemas/Branch-Name'
iban_account_number:
$ref: '#/components/schemas/Iban-Account-Number'
account_category:
$ref: '#/components/schemas/Account-Category'
status:
$ref: '#/components/schemas/Status'
account_opening_date:
$ref: '#/components/schemas/Account-Opening-Date'
country_code:
$ref: '#/components/schemas/Country-Code'
bank_rte_id:
$ref: '#/components/schemas/Bank-Rte-Id'
interest_rate_details:
$ref: '#/components/schemas/Interest-Rate-Details'
Interest-Rate-Details:
title: Interest Rate Details
description: >-
Provide the Interest rate details based on the filter parameters
received in the request from the client.
xml:
name: InterestRateDetails
type: object
properties:
structure_id:
type: string
minLength: 0
maxLength: 35
description: Structure ID of CIO Product Type.
title: Structure Id
example: '305245'
xml:
name: StructureId
effective_rate:
type: number
minimum: 0
maximum: 10000000000000000
description: Effective Rate for the selected account.
title: Effective Rate
example: 4.1
xml:
name: EffectiveRate
effective_rate_date:
type: string
format: date
description: >-
Effective Rate Date is the last received date for Effective Rate.
Always in YYYY-MM-DD format.
title: Effective Rate Date
example: '2025-01-29'
xml:
name: EffectiveRateDate
country:
type: string
minLength: 1
maxLength: 35
description: Account Country
title: Country
example: Japan
xml:
name: Country
credit_disclaimer:
type: string
minLength: 0
maxLength: 2048
description: >-
Credit disclarimer based on active effective date for account
country
title: Credit Disclaimer
example: Interest rates showing are indicative only
xml:
name: CreditDisclaimer
debit_disclaimer:
type: string
minLength: 0
maxLength: 2048
description: Debit disclarimer based on active effective date for account country
title: Debit Disclaimer
example: Interest rates showing are indicative only
xml:
name: DebitDisclaimer
parallels:
type: string
minLength: 0
maxLength: 2048
description: Parallels based on active effective date for account country
title: Parallels
example: >-
Due to timing differences, information provided here may not always
match the interest statement. Please refer to actual information in
statements
xml:
name: Parallels
interest_rate_conditions:
type: array
title: Interest Rate Conditions
description: Interest Rate condition details for the account.
xml:
wrapped: true
name: InterestRateConditions
items:
$ref: '#/components/schemas/Interest-Rate-Conditions'
Interest-Rate-Conditions:
title: Interest Rate Conditions
description: The interest rate conditions for the account.
type: object
properties:
debit_interest_rate_condition:
$ref: '#/components/schemas/Debit-Interest-Rate-Condition-Details'
credit_interest_rate_condition:
$ref: '#/components/schemas/Credit-Interest-Rate-Condition-Details'
Debit-Interest-Rate-Condition-Details:
description: Debit Interest Rate conditions for the account.
xml:
name: DebitInterestRateCondition
title: Debit Interest Rate Condition
type: object
properties:
product_type:
$ref: '#/components/schemas/Product-Type'
effective_date:
type: string
format: date
description: Effective Date for the interest rate. Always in YYYY-MM-DD format.
title: Effective Date
example: '2025-01-29'
xml:
name: EffectiveDate
pricing_method:
type: string
minLength: 0
maxLength: 140
description: Pricing method for the interest rate condition
title: Pricing Method
example: Bracketing
xml:
name: PricingMethod
tiers:
type: array
title: Tiers
description: Tier information for the account.
xml:
wrapped: true
name: Tiers
items:
$ref: '#/components/schemas/Debit-Tiers-Details'
maxItems: 10
Product-Type:
type: string
minLength: 0
maxLength: 35
description: Type of Product
title: Prod Type
example: DDA
xml:
name: ProdType
Credit-Interest-Rate-Condition-Details:
description: Credit Interest Rate conditions for the account.
xml:
name: CreditInterestRateCondition
title: Credit Interest Rate Condition
type: object
properties:
product_type:
$ref: '#/components/schemas/Product-Type'
effective_date:
type: string
format: date
description: Effective Date for the interest rate. Always in YYYY-MM-DD format.
title: Effective Date
example: '2025-01-29'
xml:
name: EffectiveDate
pricing_method:
type: string
minLength: 0
maxLength: 140
description: Pricing method for the interest rate condition
title: Pricing Method
example: Bracketing
xml:
name: PricingMethod
tiers:
type: array
title: Tiers
description: Tier information for the account.
xml:
wrapped: true
name: Tiers
items:
$ref: '#/components/schemas/Credit-Tiers-Details'
maxItems: 10
Tiers-Details:
title: Tier Details
description: Tier information for the account.
type: object
properties:
tier_number:
title: Tier Number
description: Tier number for the debit or credit interest rate condition.
type: number
minimum: 0
maximum: 100000000000000000
xml:
name: TierNumber
example: 2
upper_threshold_amount:
title: Upper Threshold Amount
description: Upper threshold amount for the specific tier for the account.
type: number
maximum: 100000000000000000
xml:
name: UpperThresholdAmount
example: 1000000000
lower_threshold_amount:
title: Lower Threshold Amount
description: Lower threshold amount for the specific tier for the account.
type: number
maximum: 100000000000000000
xml:
name: LowerThresholdAmount
example: 0
tier_rate:
title: Tier Rate
description: Tier rate for the specific tier for the account.
type: number
minimum: 0
maximum: 100000000000000000
xml:
name: TierRate
example: 0
benchmark_name:
title: Benchmark Name
description: >-
Benchmark Name. if benchmark_name = 'Citi Managed Rate', then
benchmark_description, benchmark_value, spread value will not be
populated.
type: string
minLength: 0
maxLength: 35
xml:
name: BenchmarkName
example: Citi Managed Rate
benchmark_description:
title: Benchmark Description
description: >-
Benchmark Description. if benchmark_name = 'Citi Managed Rate', then
benchmark_description will not be populated.
type: string
minLength: 1
maxLength: 1000
xml:
name: BenchmarkDescription
example: >-
The interest rate on Reserve Balances (IORB rate) is the interest
rate that the Federal Reserve pays on balances maintained by or on
behalf of eligible institutions in master accounts at Federal
Reserve Banks.
benchmark_value:
title: Benchmark Value
description: >-
Benchmark Value. if benchmark_name = 'Citi Managed Rate', then
benchmark_value will not be populated.
type: number
minimum: 0
maximum: 100000000000000000
xml:
name: BenchmarkValue
example: 0
spread:
title: Spread
description: >-
Spread. if benchmark_name = 'Citi Managed Rate', then spread will
not be populated.
type: number
minimum: 0
maximum: 100000000000000000
xml:
name: Spread
example: 0
Credit-Tiers-Details:
title: Credit Tier Details
description: Tier information for credit interest rate conditions.
allOf:
- $ref: '#/components/schemas/Tiers-Details'
properties:
is_floor_rate_applied:
title: Floor Rate Applied
description: >-
Indicator to identify if floor rate is applied. Valid values 'true',
'false'. Default value 'false'.
type: boolean
default: false
xml:
name: IsFloorRateApplied
example: false
Debit-Tiers-Details:
title: Debit Tier Details
description: Tier information for debit interest rate conditions.
allOf:
- $ref: '#/components/schemas/Tiers-Details'
Account-Balance:
title: Account Balance
description: >-
Fetch and provide the balances based on the filter parameters received
in the request from the client.
type: object
xml:
name: AccountBalance
properties:
accounts:
$ref: '#/components/schemas/accounts'
accounts:
title: Balance Information
description: >-
Fetch and provide the balances based on the filter parameters received
in the request from the client.
xml:
wrapped: true
name: Accounts
type: array
items:
$ref: '#/components/schemas/Account'
Account:
title: Balance information per account
description: >-
Fetch and provide the balances based on the filter parameters received
in the request from the client.
type: object
xml:
name: Account
required:
- account_ref
properties:
account_ref:
$ref: '#/components/schemas/Account-Ref'
account_number:
$ref: '#/components/schemas/Account-Number'
currency_code:
$ref: '#/components/schemas/Currency-Code'
account_name:
$ref: '#/components/schemas/Account-Name'
account_type:
$ref: '#/components/schemas/Account-Type'
branch_code:
$ref: '#/components/schemas/Branch-Code'
legal_entity:
$ref: '#/components/schemas/Legal-Entity'
branch_name:
$ref: '#/components/schemas/Branch-Name'
balances:
$ref: '#/components/schemas/Balances'
Balances:
title: Balance Details
xml:
wrapped: true
name: Balances
type: array
items:
$ref: '#/components/schemas/Balance'
Balance:
title: Balance Details per account
description: >-
Fetch and provide the balances based on the filter parameters received
in the request from client.
**This is required only for GET
Balances**.
type: object
xml:
name: Balance
required:
- opening_available_balance
- opening_ledger_balance
- total_credit_amount
- total_debit_amount
- net_amount
properties:
equivalent_currency_code:
$ref: '#/components/schemas/Currency-Code'
opening_available_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
SThis is the amount of money in your account at the start of the
business day that is immediately available for use. It includes all
settled transactions from previous days and excludes any funds that
are on hold or pending settlement.
title: Opening available balance
example: 10.01
xml:
name: OpeningAvailableBalance
closing_available_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is the amount of money in your account at the end of the
business day (EOD) that is available for use. It represents the
opening available balance plus all settled credits and minus all
settled debits from that day.
title: Closing available balance
example: 10.01
xml:
name: ClosingAvailableBalance
intraday_available_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is the available balance of your account reflecting
transactions that have occurred during the current business day but
before the official end-of-day processing.
title: Intraday Available Balance
example: 10.01
xml:
name: IntradayAvailableBalance
opening_ledger_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is the book balance of your account at the start of the
business day. It includes all transactions that have been formally
posted to your account but may include items (like recently
deposited checks) that have not yet cleared and are not part of your
available balance.
title: Opening ledger balance
example: 10.01
xml:
name: OpeningLedgerBalance
closing_ledger_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is the book balance of your account at the end of the business
day. It is calculated as the opening ledger balance adjusted for all
credit and debit transactions posted during that day, regardless of
their settlement status.
title: Closing ledger balance
example: 10.01
xml:
name: ClosingLedgerBalance
intraday_ledger_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is the ledger balance of your account reflecting transactions
that have been posted during the current business day but before the
official end-of-day processing.
title: Intraday Ledger Balance
example: 10.01
xml:
name: IntradayLedgerBalance
total_credit_amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: number
description: >-
This represents the sum of all incoming funds (credits) posted to
your account during the business day.
title: Total credit amount
example: 10.01
xml:
name: TotalCreditAmount
total_debit_amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: number
description: >-
This represents the sum of all outgoing funds (debits) posted from
your account during the business day.
title: Total debit amount
example: 10.01
xml:
name: TotalDebitAmount
net_amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: number
description: >-
This is the net change in your account's balance for the day,
calculated as Total Credit Amount minus Total Debit Amount.
title: Net amount
example: 10.01
xml:
name: NetAmount
opening_available_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is your opening available balance converted into a different
currency of your choice. The conversion is performed using the
provided fx_rate.
title: Opening Available Balance in Equivalent Currency
example: 10.01
xml:
name: OpeningAvailableBalanceEqvCcy
closing_available_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is your closing available balance converted into a different
currency of your choice (e.g., viewing your INR account balance in
USD). The conversion is performed using the provided fx_rate.
title: Closing Available Balance in Equivalent Currency
example: 10.01
xml:
name: ClosingAvailableBalanceEqvCcy
intraday_available_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is your intraday available balance converted into a different
currency of your choice.
title: Intraday Available Balance in Equivalent Currency
example: 10.01
xml:
name: IntradayAvailableBalanceEqvCcy
opening_ledger_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is your opening ledger balance converted into a different
currency of your choice. The conversion is performed using the
provided fx_rate.
title: Opening Ledger Balance in Equivalent Currency
example: 10.01
xml:
name: OpeningLedgerBalanceEqvCcy
closing_ledger_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is your closing ledger balance converted into a different
currency of your choice. The conversion is performed using the
provided fx_rate.
title: Closing Ledger Balance in Equivalent Currency
example: 10.01
xml:
name: ClosingLedgerBalanceEqvCcy
intraday_ledger_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: number
description: >-
This is your intraday ledger balance converted into a different
currency of your choice.
title: Intraday Ledger Balance in Equivalent Currency
example: 10.01
xml:
name: IntradayLedgerBalanceEqvCcy
total_credit_amount_eqv_ccy:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: number
description: >-
This represents the sum of all incoming funds (credits) posted to
your account during the business day in equivalent currency.
title: Total credit amount
example: 10.01
xml:
name: TotalCreditAmountEqvCcy
total_debit_amount_eqv_ccy:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: number
description: >-
This represents the sum of all outgoing funds (debits) posted from
your account during the business day in equivalent currency.
title: Total debit amount
example: 10.01
xml:
name: TotalDebitAmountEqvCcy
statement_date:
type: string
description: This is the specific date to which the balance information applies.
title: Statement date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: StatementDate
eod_date:
type: string
description: >-
This field indicates the date of the last business day that has been
fully processed and closed for the account's specific region. Due to
global time zones, this may be the previous calendar day (e.g., an
account in Japan will have an EOD date of the 18th while it is still
the 18th in the US).
title: End of the day date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: EodDate
fx_rate:
type: number
description: >-
This is the foreign exchange rate used to convert the account's
native currency balance into the equivalent currency (_eqv_ccy)
amounts.
title: FOREX Rate
example: 4.1
xml:
name: FxRate
effective_rate:
type: number
description: >-
This represents the final, all-in exchange rate applied to the
currency conversion, which may include any applicable spreads or
transaction costs.
title: Effective Rate
example: 4.1
xml:
name: EffectiveRate
intraday_last_update_date_time:
type: string
description: >-
This timestamp indicates the exact date and time (in GMT) when the
intraday balance information was last refreshed.
title: Intraday Last Update Date Time
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: IntradayLastUpdateDateTime
last_entry_date:
type: string
description: >-
This is the date on which the most recent transaction was formally
posted to your account's ledger.
title: Last Entry Date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: LastEntryDate
overdraft_details:
$ref: '#/components/schemas/Overdraft-Details'
Overdraft-Details:
title: Overdraft Details
type: object
description: Overdraft Account
xml:
name: OverdraftDetails
properties:
overdraft_amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: number
description: >-
This field shows the portion of your balance that is currently
utilizing an approved overdraft limit. If your account is not in
overdraft, this will typically be zero.
title: Overdraft Amount
example: 13.21
xml:
name: OverdraftAmount
Account-Ref:
xml:
name: AccountRef
type: string
description: >-
**This parameter is required only for the GET Transaction endpoint and
is optional for GET Accounts and GET Balances.** Account Reference
number is the unique identifier created for each account. If this
parameter is not used, all accounts associated with `Client-Id` are
returned.
title: Account Identifier
example: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
Account-Number:
type: string
minimum: 1
maximum: 35
description: >-
Citi's corporate client's account number.
- For GET Account, this
parameter is required.
- For GET Balance, this parameter is
required.
- For GET Transaction, this parameter is optional.
title: Account Number.
example: TR123456789012345678901234
xml:
name: AccountNumber
Currency-Code:
type: string
pattern: ^[A-Z]{3}$
description: >-
A code allocated to a currency by a maintenance agency under an
international identification scheme, as described in the latest edition
other international standard ISO 4217.
- For GET Account, this
parameter is required.
- For GET Balance, this parameter is
required.
- For GET Transaction, this parameter is not required.
title: Currency Code
example: TRY
xml:
name: CurrencyCode
Account-Name:
type: string
description: >-
Title given to the specific account.
- For GET Account, this
parameter is optional.
- For GET Balance, this parameter is
optional.
- For GET Transaction, this parameter is not required.
title: Account Name
example: CITIBANK NA
xml:
name: AccountName
Account-Type:
type: string
minimum: 1
maximum: 242
description: >-
Type of financial account.
- For GET Account, this parameter is
optional.
- For GET Balance, this parameter is optional.
- For
GET Transaction, this parameter is not required.
title: Account Type
example: 2-Saving
xml:
name: AccountType
Branch-Code:
type: string
description: >-
Branch code is a unique identifier for each branch which is use to
identify a specific branch location.
- For GET Account, this
parameter is optional.
- For GET Balance, this parameter is
optional.
- For GET Transaction, this parameter is not required.
title: Branch Code
example: '234'
xml:
name: BranchCode
Legal-Entity:
type: string
description: >-
An individual or corporate/institution identified by a particular name.
- For GET Account, this parameter is optional.
- For GET
Balance, this parameter is optional.
- For GET Transaction, this
parameter is not required.
title: Legal Entity
xml:
name: LegalEntity
example: ASIA 4.6
Branch-Name:
type: string
description: >-
Name of the local bank that offers the financial service.
* For GET
Account, this parameter is optional.
- For GET Balance, this
parameter is optional.
- For GET Transaction, this parameter is not
required.
title: Branch Name
example: Central Branch
xml:
name: BranchName
Iban-Account-Number:
type: string
description: >-
International Bank Account Number (IBAN), is a standard international
numbering system developed to identify an overseas bank accounts.
-
For GET Account, this parameter is optional.
- For GET Balance, this
parameter is not required.
- For GET Transaction, this parameter is
not required.
title: IBAN Account Number
example: FI21 1234 5698 7654 3210
xml:
name: IbanAccountNumber
Account-Category:
type: string
description: >-
Type of account. Allowed values are Debit or Credit.
- For GET
Account, this parameter is optional.
- For GET Balance, this
parameter is not required.
- For GET Transaction, this parameter is
not required.
title: Account Category
example: INTRN
xml:
name: AccountCategory
Status:
type: string
description: >-
Current status of the account. Allowed values are Open or Closed
-
For GET Account, this parameter is required.
- For GET Balance, this
parameter is not required.
- For GET transaction, this parameter is
not required.
title: Status
example: Open
xml:
name: Status
Account-Opening-Date:
type: string
description: >-
Date when the account was opened.
- For GET Account, this parameter
is optional.
- For GET Balance, this parameter is not required.
* For GET Transaction, this parameter is not required.
title: Account Opening Date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: AccountOpeningDate
Country-Code:
type: string
description: >-
ISO country code where the branch is located.
- For GET Account,
this parameter is required.
- For GET Balance, this parameter is not
required.
- For GET Transaction, this parameter is not required.
title: Country Code
example: US
xml:
name: CountryCode
Bank-Rte-Id:
type: string
description: >-
Bank routing ID which is a unique routing ID of each bank or branch.
- For GET Account, this parameter is optional.
- For GET
Balance, this parameter is not required.
- For GET Transaction, this
parameter is not required
title: Bank Routing Code
example: '042000013'
xml:
name: BankRteId
responses:
Bad-Request:
description: Bad Request
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Gateway-Error-Response'
- $ref: '#/components/schemas/Service-Error-Response'
examples:
Bad-Request-Example:
$ref: '#/components/examples/Bad-Request-Example'
Bad-Request-Example-FromDate:
$ref: '#/components/examples/Bad-Request-Example-FromDate'
Bad-Request-Example-Account_ref:
$ref: '#/components/examples/Bad-Request-Example-Account_ref'
Bad-Request-Example-Limit:
$ref: '#/components/examples/Bad-Request-Example-Limit'
Bad-Request-Gateway-Error-Example:
$ref: '#/components/examples/Bad-Request-Gateway-Error-Example'
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/Gateway-Error-Response'
- $ref: '#/components/schemas/Service-Error-Response'
examples:
Bad-Request-Example:
$ref: '#/components/examples/Bad-Request-Example'
Bad-Request-Example-FromDate:
$ref: '#/components/examples/Bad-Request-Example-FromDate'
Bad-Request-Example-Account_ref:
$ref: '#/components/examples/Bad-Request-Example-Account_ref'
Bad-Request-Example-Limit:
$ref: '#/components/examples/Bad-Request-Example-Limit'
Bad-Request-Gateway-Error-Example:
$ref: '#/components/examples/Bad-Request-Gateway-Error-Example'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Gateway-Error-Response'
- $ref: '#/components/schemas/Service-Error-Response'
examples:
Unauthorized-Example:
$ref: '#/components/examples/Unauthorized-Example'
Unauthorized-Gateway-Error-Example:
$ref: '#/components/examples/Unauthorized-Gateway-Error-Example'
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/Gateway-Error-Response'
- $ref: '#/components/schemas/Service-Error-Response'
examples:
Unauthorized-Example:
$ref: '#/components/examples/Unauthorized-Example'
Unauthorized-Gateway-Error-Example:
$ref: '#/components/examples/Unauthorized-Gateway-Error-Example'
Not-Found:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Not-Found-Gateway-Error-Example:
$ref: '#/components/examples/Not-Found-Gateway-Error-Example'
application/xml:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Not-Found-Gateway-Error-Example:
$ref: '#/components/examples/Not-Found-Gateway-Error-Example'
Method-Not-Allowed:
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Method-Not-Allowed-Gateway-Error-Example:
$ref: '#/components/examples/Method-Not-Allowed-Gateway-Error-Example'
application/xml:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Method-Not-Allowed-Gateway-Error-Example:
$ref: '#/components/examples/Method-Not-Allowed-Gateway-Error-Example'
Exceeding-Rate-Limit:
description: Exceeding-Rate-Limit
content:
application/json:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Method-Not-Allowed-Gateway-Error-Example:
$ref: '#/components/examples/Rate-Limit-Gateway-Error-Example'
application/xml:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Method-Not-Allowed-Gateway-Error-Example:
$ref: '#/components/examples/Rate-Limit-Gateway-Error-Example'
Internal-Server-Error:
description: Internal Server Error
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Gateway-Error-Response'
- $ref: '#/components/schemas/Service-Error-Response'
examples:
Internal-Server-Error-Example:
$ref: '#/components/examples/Internal-Server-Error-Example'
Internal-Server-Gateway-Error-Example:
$ref: '#/components/examples/Internal-Server-Gateway-Error-Example'
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/Gateway-Error-Response'
- $ref: '#/components/schemas/Service-Error-Response'
examples:
Internal-Server-Error-Example:
$ref: '#/components/examples/Internal-Server-Error-Example'
Internal-Server-Gateway-Error-Example:
$ref: '#/components/examples/Internal-Server-Gateway-Error-Example'
Gateway-Timeout:
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Gateway-Timeout-Error-Example:
$ref: '#/components/examples/Gateway-Timeout-Error-Example'
application/xml:
schema:
$ref: '#/components/schemas/Gateway-Error-Response'
examples:
Gateway-Timeout-Error-Example:
$ref: '#/components/examples/Gateway-Timeout-Error-Example'
examples:
Account-Response:
value:
account_details:
- account_ref: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
account_number: TR123456789012345678901234
base_currency_code: TRY
account_name: CITIBANK NA
account_type: 2-Saving
branch_code: '234'
legal_entity: ASIA 4.6
branch_name: Central Branch
iban_account_number: FI21 1234 5698 7654 3210
client_name: Jacky Smith
account_category: INTRN
status: Open
account_opening_date: '2024-04-22T00:00:00.000+00:00'
country_code: US
bank_rte_id: '042000013'
Account-Response-Interest-Details:
value:
account_details:
- account_ref: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
account_number: TR123456789012345678901234
base_currency_code: TRY
account_name: CITIBANK NA
account_type: 2-Saving
branch_code: '234'
legal_entity: ASIA 4.6
branch_name: Central Branch
iban_account_number: FI21 1234 5698 7654 3210
client_name: Jacky Smith
account_category: INTRN
status: Open
account_opening_date: '2024-04-22T00:00:00.000+00:00'
country_code: US
bank_rte_id: '042000013'
interest_rate_details:
structure_id: '305245'
effective_rate: 4.1
effective_rate_date: '2025-01-29'
country: Japan
credit_disclaimer: Interest rates showing are indicative only
debit_disclaimer: Interest rates showing are indicative only
parallels: >-
Due to timing differences, information provided here may not
always match the interest statement. Please refer to actual
information in statements
interest_rate_conditions:
- debit_interest_rate_condition:
product_type: DDA
effective_date: '2025-01-29'
pricing_method: Bracketing
tiers:
- tier_Number: 2
upper_threshold_amount: 10000000
lower_threshold_amount: 0
tier_rate: 0.15
benchmark_name: Citi Managed Rate
benchmark_description: >-
The interest rate on Reserve Balances (IORB rate) is
the interest rate that the Federal Reserve pays on
balances maintained by or on behalf of eligible
institutions in master accounts at Federal Reserve
Banks.
benchmark_value: 0
spread: 0
credit_interest_rate_condition:
product_type: DDA
effective_date: '2025-01-29'
pricing_method: Bracketing
tiers:
- tier_Number: 3
upper_threshold_amount: 1000000000
lower_threshold_amount: 0
tier_rate: 0.18
benchmark_name: Citi Managed Rate
benchmark_description: >-
The interest rate on Reserve Balances (IORB rate) is
the interest rate that the Federal Reserve pays on
balances maintained by or on behalf of eligible
institutions in master accounts at Federal Reserve
Banks.
benchmark_value: 0
spread: 0
is_floor_rate_applied: true
Balance-Response-Eod-Base-Ccy:
value:
accounts:
- account_ref: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
account_number: TR123456789012345678901234
currency_code: TRY
account_name: CITIBANK NA
account_type: 2-Saving
branch_code: '234'
legal_entity: ASIA 4.6
branch_name: Central Branch
balances:
- equivalent_currency_code: TRY
opening_available_balance: 460.3
closing_available_balance: 460.3
opening_ledger_balance: 460.3
closing_ledger_balance: 460.3
total_credit_amount: 0
total_debit_amount: 0
net_amount: 10.01
statement_date: '2024-04-22T00:00:00.000+00:00'
eod_date: '2024-04-22T00:00:00.000+00:00'
fx_rate: 4.1
effective_rate: 4.1
last_entry_date: '2024-04-22T00:00:00.000+00:00'
overdraft_details:
overdraft_amount: 13.21
Balance-Response-Eod-Eqv-Ccy:
value:
accounts:
- account_ref: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
account_number: TR123456789012345678901234
currency_code: TRY
account_name: CITIBANK NA
account_type: 2-Saving
branch_code: '234'
legal_entity: ASIA 4.6
branch_name: Central Branch
balances:
- equivalent_currency_code: TRY
opening_available_balance: 460.3
closing_available_balance: 460.3
opening_ledger_balance: 460.3
closing_ledger_balance: 460.3
total_credit_amount: 0
total_debit_amount: 0
net_amount: 10.01
opening_available_balance_eqv_ccy: 10.1
closing_available_balance_eqv_ccy: 10.1
opening_ledger_balance_eqv_ccy: 10.1
"closing_ledger_balance_eqv_ccy\_": 10.1
total_credit_amount_eqv_ccy: 0
total_debit_amount_eqv_ccy: 0
statement_date: '2024-04-22T00:00:00.000+00:00'
eod_date: '2024-04-22T00:00:00.000+00:00'
fx_rate: 4.1
effective_rate: 4.1
last_entry_date: '2024-04-22T00:00:00.000+00:00'
overdraft_details:
overdraft_amount: 13.21
Balance-Response-Intraday-Base-Ccy:
value:
accounts:
- account_ref: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
account_number: TR123456789012345678901234
currency_code: TRY
account_name: CITIBANK NA
account_type: 2-Saving
branch_code: '234'
legal_entity: ASIA 4.6
branch_name: Central Branch
balances:
- equivalent_currency_code: TRY
opening_available_balance: 460.3
intraday_available_balance: 460.3
opening_ledger_balance: 460.3
intraday_ledger_balance: 460.3
total_credit_amount: 0
total_debit_amount: 0
net_amount: 10.01
statement_date: '2024-04-22T00:00:00.000+00:00'
eod_date: '2024-04-22T00:00:00.000+00:00'
fx_rate: 4.1
effective_rate: 4.1
last_entry_date: '2024-04-22T00:00:00.000+00:00'
overdraft_details:
overdraft_amount: 13.21
Balance-Response-Intraday-Eqv-Ccy:
value:
accounts:
- account_ref: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
account_number: TR123456789012345678901234
currency_code: TRY
account_name: CITIBANK NA
account_type: 2-Saving
branch_code: '234'
legal_entity: ASIA 4.6
branch_name: Central Branch
balances:
- equivalent_currency_code: TRY
opening_available_balance: 460.3
intraday_available_balance: 460.3
opening_ledger_balance: 460.3
intraday_ledger_balance: 460.3
total_credit_amount: 0
total_debit_amount: 0
net_amount: 10.01
opening_available_balance_eqv_ccy: 10.1
intraday_available_balance_eqv_ccy: 10.1
opening_ledger_balance_eqv_ccy: 10.1
intraday_ledger_balance_eqv_ccy: 10.1
total_credit_amount_eqv_ccy: 0
total_debit_amount_eqv_ccy: 0
statement_date: '2024-04-22T00:00:00.000+00:00'
eod_date: '2024-04-22T00:00:00.000+00:00'
fx_rate: 4.1
effective_rate: 4.1
intraday_last_update_date_time: '2024-04-22T00:00:00.000+00:00'
last_entry_date: '2024-04-22T00:00:00.000+00:00'
overdraft_details:
overdraft_amount: 13.21
Bad-Request-Example:
value:
ref_id: 444d0f3f-4x55-7g99-8b2c-0cf2a921a5ab
error_details:
code: VC00012
issue: >-
The provided value is not within the range for
header_account.branch_code parameter
action: >-
Please provide a valid value for the header_account.branch_code
parameter, size must be between 3 and 4.
Bad-Request-Example-FromDate:
value:
ref_id: 344d0f3f-4x55-7g99-8b2c-0cf2a921a5ac
error_details:
code: VC00012
issue: Balance date(s) out of range
action: >-
From date or To date should not be greater than 180 days from
current date.
Bad-Request-Example-Limit:
value:
ref_id: 344d0f3f-4x55-7g99-8b2c-0cf2a921a5ac
error_details:
code: VC00012
issue: provided value is not within the range for query-param limit.
action: >-
please provide valid value for query-param limit, must be greater
than or equal to 1.
Bad-Request-Example-Account_ref:
value:
ref_id: 344d0f3f-4x55-7g99-8b2c-0cf2a921a5ac
error_details:
code: VC00012
issue: The account reference number is invalid
action: Please provide a valid value and retry.
Bad-Request-Gateway-Error-Example:
value:
httpCode: 400
httpMessage: Bad Request
moreInformation: please provide valid value for request
Unauthorized-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
code: CC00007
issue: User does not have authorization to access this functionality.
action: Please use valid credentials to access this functionality.
Unauthorized-Gateway-Error-Example:
value:
httpCode: 401
httpMessage: Unauthorized
moreInformation: The server could not verify that you are authorized to access the URL
Not-Found-Gateway-Error-Example:
value:
httpCode: '404'
httpMessage: Not Found
moreInformation: Resource that you are searching is not found
Method-Not-Allowed-Gateway-Error-Example:
value:
httpCode: '405'
httpMessage: Method not supported
moreInformation: please use valid http verb
Rate-Limit-Gateway-Error-Example:
value:
httpCode: '429'
httpMessage: Too Many Requests
moreInformation: please wait before trying again.
Gateway-Timeout-Error-Example:
value:
httpCode: '504'
httpMessage: Gateway Timeout
moreInformation: The server did not respond in time. Please try again later.
Internal-Server-Error-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
code: CC00004
issue: Unable to serve your request at this time.
action: Please contact support.
Internal-Server-Gateway-Error-Example:
value:
httpCode: 500
httpMessage: Internal Server Error
moreInformation: unable to serve your request at this moment
securitySchemes:
oAuth:
type: oauth2
flows:
clientCredentials:
tokenUrl: /authenticationservices/v3/oauth/token
scopes:
/authenticationservices/v1: Access to Accounts, Balances, Transactions Information