openapi: 3.0.3
info:
title: Accounts
x-ibm-name: accounts
version: 4.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/v4
description: dev gateway url
- url: https://tts.apib2b.citi.com/citiconnect/prod/accountsservices/v4
description: production gateway url
- url: https://tts.sandbox.apib2b.citi.com/citiconnect/sb/accountsservices/v4
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.
- name: Retrieve Transactions
description: API services to provide transactions details of the account.
security:
- clientCredentials: []
paths:
/accounts:
get:
tags:
- Retrieve Accounts
summary: Account Details
description: Get the details of all accounts linked to the `Client-Id`.
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'
responses:
'200':
description: Accounts Response
headers:
apim_guid:
$ref: '#/components/headers/apim_guid'
pagination-metadata:
$ref: '#/components/headers/pagination-metadata'
content:
application/json:
schema:
$ref: '#/components/schemas/Accounts-Information'
application/xml:
schema:
$ref: '#/components/schemas/Accounts-Information'
example: >-
22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2TR123456789012345678901234TRYCITIBANK
NA2-Saving234ASIA
4.6Central
BranchFI21 1234 5698 7654
3210Jacky
SmithINTRN
Open2024-04-22T00:00:00.000+00:00US042000013
'400':
$ref: '#/components/responses/Bad-Request'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/Not-Found'
'405':
$ref: '#/components/responses/Method-Not-Allowed'
'415':
$ref: '#/components/responses/Unsupported-Media-Type'
'422':
$ref: '#/components/responses/Unprocessable-Content'
'500':
$ref: '#/components/responses/Internal-Server-Error'
default:
$ref: '#/components/responses/Internal-Server-Error'
deprecated: false
security:
- clientCredentials: []
/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.
operationId: getBalancesByClientId
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'
responses:
'200':
description: Balance Response
headers:
apim_guid:
$ref: '#/components/headers/apim_guid'
pagination-metadata:
$ref: '#/components/headers/pagination-metadata'
content:
application/json:
schema:
$ref: '#/components/schemas/Account-Balance'
application/xml:
schema:
$ref: '#/components/schemas/Account-Balance'
example: >-
22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2TR123456789012345678901234TRYCITIBANK
NA2-Saving234ASIA
4.6Central
Branch10.0110.0110.0110.0110.0110.0110.0110.012024-04-22T00:00:00.000+00:00CITIBANK10.0110.01Finland2024-04-22T00:00:00.000+00:004.1Jacky
Smith10.0110.014.110.0110.0110.01
10.012024-04-22T00:00:00.000+00:00Jacky
SmithFI21 1234 5698 7654
3210
CNASIA2024-04-22T00:00:00.000+00:00
042000013Jacky
Smith1111111111111
13.21
'400':
$ref: '#/components/responses/Bad-Request'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/Not-Found'
'405':
$ref: '#/components/responses/Method-Not-Allowed'
'415':
$ref: '#/components/responses/Unsupported-Media-Type'
'422':
$ref: '#/components/responses/Unprocessable-Content'
'500':
$ref: '#/components/responses/Internal-Server-Error'
default:
$ref: '#/components/responses/Internal-Server-Error'
deprecated: false
security:
- clientCredentials: []
/transactions:
get:
tags:
- Retrieve Transactions
summary: Transactions Details by Account ID
description: >-
Get transactions details by `Client-Id` and `Account-Ref`. `Account-Ref`
is a required parameter.
operationId: getTransactionByAccountId
parameters:
- $ref: '#/components/parameters/Client-Id'
- $ref: '#/components/parameters/Account-Ref'
- $ref: '#/components/parameters/Bank_Reference'
- $ref: '#/components/parameters/End_To_End_Id'
- $ref: '#/components/parameters/Uetr'
- $ref: '#/components/parameters/From-Date'
- $ref: '#/components/parameters/To-Date'
- $ref: '#/components/parameters/Debit-Credit-Indicator'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Page-No'
- $ref: '#/components/parameters/Sort-By'
- $ref: '#/components/parameters/Sort-Type'
responses:
'200':
description: Transaction Response
headers:
apim_guid:
$ref: '#/components/headers/apim_guid'
pagination-metadata:
$ref: '#/components/headers/pagination-metadata'
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction-Information'
application/xml:
schema:
$ref: '#/components/schemas/Transaction-Information'
example: >-
'400':
$ref: '#/components/responses/Bad-Request'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/Not-Found'
'405':
$ref: '#/components/responses/Method-Not-Allowed'
'415':
$ref: '#/components/responses/Unsupported-Media-Type'
'422':
$ref: '#/components/responses/Unprocessable-Content'
'500':
$ref: '#/components/responses/Internal-Server-Error'
default:
$ref: '#/components/responses/Internal-Server-Error'
deprecated: false
security:
- clientCredentials: []
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 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.
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
Bank_Reference:
in: query
name: bank_reference
description: Transaction identification generated by bank.
schema:
type: string
example: 1L00IF2BCWUZF09
title: Bank reference Number
End_To_End_Id:
in: query
name: end_to_end_id
description: Transaction identification provided by the debtor.
schema:
type: string
example: 1L00IF2BCWUZF09
title: End To End Identification Number
Uetr:
in: query
name: uetr
description: >-
Unique end-to-end transaction reference, which should adhere to the
pattern:
^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.
schema:
type: string
title: Unique End to End Transaction Reference
example: 0c4fb98b-d77a-4468-96bb-0c88b3b8f75a
From-Date:
in: query
name: from_date
description: >-
Start date of the transaction range to be retrieved from which
transactions should be fetched. This date is either provided by the
debtor bank or generated by Citi.
schema:
type: string
title: From Date
pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
example: 2024-01-26T00:00
To-Date:
in: query
name: to_date
description: >-
End date of the transaction range to be retrieved from which
transactions should be fetched. This date is either provided by the
debtor bank or generated by Citi.
schema:
type: string
title: To Date
pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
example: 2024-01-26T00:00
Debit-Credit-Indicator:
in: query
name: debit_credit_indicator
description: >-
Transaction indicator (type) that you prefer Citi to fetch in the
response. Options include D – Debit, C – Credit, ALL - both debit and
credit.
schema:
type: string
title: Debit Credit Indicator
enum:
- D
- C
- All
headers:
apim_guid:
description: >-
Unique system-generated reference number generated by Citi. Use this
number when reporting an issue to a Citi representative in case of any
discrepancy.
schema:
type: string
maxLength: 36
minLength: 1
title: APIM GUID
example: na-apimgwgtds04~4a98cbc5-d813-4e65-bc81-d70f0f87f6ec
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
xml:
name: paginationMetadata
example: '{"current_page":2, "total_pages":10, "page_size":100,"has_more":true}'
schemas:
Error-Response:
type: object
title: ErrorResponse
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
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
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
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'
client_name:
$ref: '#/components/schemas/Client-Name'
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'
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:
balance_information:
$ref: '#/components/schemas/Balance-Information'
Balance-Information:
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: BalanceInformation
type: array
items:
$ref: '#/components/schemas/Balance-Information-Per-Account'
Balance-Information-Per-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: BalaceInformationPerAccount
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'
balance_details:
$ref: '#/components/schemas/Balance-Details'
Balance-Details:
title: Balance Details
xml:
name: BalanceDetails
type: object
description: >-
Fetch and provide the balances based on the filter parameters received
in the request from client.
**This is required only for GET
Balances**.
required:
- opening_available_balance
- closing_available_balance
- current_available_balance
- opening_ledger_balance
- closing_ledger_balance
- total_credit_amount
- total_debit_amount
- net_amount
properties:
opening_available_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: Start of day balance of the account.
title: Opening available balance
example: '10.01'
xml:
name: OpeningAvailableBalance
closing_available_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: End of day balance of the account.
title: Closing available balance
example: '10.01'
xml:
name: ClosingAvailableBalance
current_available_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: Current available balance of the account.
title: Current available balance
example: '10.01'
xml:
name: CurrentAvailableBalance
opening_ledger_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: Start of day ledger balance of the account.
title: Opening ledger balance
example: '10.01'
xml:
name: OpeningLedgerBalance
closing_ledger_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: End of day ledger balance of the account.
title: Closing ledger balance
example: '10.01'
xml:
name: ClosingLedgerBalance
total_credit_amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: string
description: Total credit amount available on the Citi account.
title: Total credit amount
example: '10.01'
xml:
name: TotalCreditAmount
total_debit_amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: string
description: Total debit amount on the Citi account.
title: Total debit amount
example: '10.01'
xml:
name: TotalDebitAmount
net_amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: string
description: >-
The left over amount after calculating debits and credits for an
entire day on a specific account for which the user made the
request.
title: Net amount
example: '10.01'
xml:
name: NetAmount
statement_date:
type: string
description: Date on which the posting took place to the account.
title: Statement date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: StatementDate
bank:
type: string
description: Bank where the user holds their account.
title: Bank
example: CITIBANK
xml:
name: Bank
closing_available_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: >-
Closing available balance of an account in the currency requested by
the user. For example, original currency may be in Indian Rupees
(INR), but the user requests to be shown closing balances in US
Dollars (USD), so Citi converts the balance to USD based on the
FOREX rate for a respective date, before displaying the balance to
the user.
title: Closing Available Balance in Equivalent Currency
example: '10.01'
xml:
name: ClosingAvailableBalanceEqvCcy
closing_ledger_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: >-
Closing ledger balance of an account in the currency requested by
the user. For example, original currency may be in Indian Rupees
(INR), but the user requests to be shown in US Dollars (USD), so
Citi converts the balance to USD based on the FOREX rate for a
respective date, before displaying the balance to the user.
title: Closing Ledger Balance in Equivalent Currency
example: '10.01'
xml:
name: ClosingLedgerBalanceEqvCcy
country:
type: string
description: Full country name where the branch is located.
title: Country
example: Finland
xml:
name: Country
eod_date:
type: string
description: >-
End-of-day date indicates the date (in GMT format) when the regional
Citi bank operations are closed and when the closing available
balance are updated on a user entitled account. For example, Japan
Account at 10/19 9:00 AM JST - will have the EoD Date as 10/18
whereas around the same time US Account will be at 10/18 7:00 PM -
will have EoD Date as 10/17
title: End of the day date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: EodDate
fx_rate:
type: string
description: >-
Value with which the balances will be converted based on the
currency selected by the user.
title: FOREX Rate
example: '4.1'
xml:
name: FxRate
legal_entity:
type: string
description: Entity to which the accounts belongs.
title: Legal Entity
example: Jacky Smith
xml:
name: LegalEntity
opening_available_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: >-
Opening available balance of an account in the currency requested by
the user. For example, original currency may be in Indian Rupees
(INR), but the user requests to be shown available balances in US
Dollars (USD), so Citi converts the balance to USD based on the
FOREX rate for a respective date, before displaying the balance to
the user.
title: Opening Available Balance in Equivalent Currency
example: '10.01'
xml:
name: OpeningAvailableBalanceEqvCcy
opening_ledger_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: >-
Opening ledger balance of an account in the currency requested by
the user. For example, original currency may be in Indian Rupees
(INR), but the user requests to be shown the opening ledger balance
in US Dollars (USD), so Citi converts the opening ledger balance to
USD based on the FOREX rate for a respective date, before displaying
the balance to the user.
title: Opening Ledger Balance in Equivalent Currency
example: '10.01'
xml:
name: OpeningLedgerBalanceEqvCcy
effective_rate:
type: string
description: Effective Rate
title: Effective Rate
example: '4.1'
xml:
name: EffectiveRate
intraday_available_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: Intraday available balance of the account.
title: Intraday Available Balance
example: '10.01'
xml:
name: IntradayAvailableBalance
intraday_ledger_balance:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: Intraday ledger balance of the account.
title: Intraday Ledger Balance
example: '10.01'
xml:
name: IntradayLedgerBalance
intraday_available_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: >-
Intraday available balance of an account in the currency requested
by the user. For example, the original intraday currency balance may
be in Indian Rupees (INR), but the user requests to be shown the
intraday currency balance in US Dollars (USD), so Citi converts the
balance to USD based on the FOREX rate for a respective date, before
displaying the balance to the user.
title: Intraday Available Balance in Equivalent Currency
example: '10.01'
xml:
name: IntradayAvailableBalanceEqvCcy
intraday_ledger_balance_eqv_ccy:
pattern: ^-?\d{1,18}$|^-?\d{1,18}\.\d{1,5}$
type: string
description: >-
Intraday ledger balance of an account in the currency requested by
the user. For example, the original intraday ledger balance currency
may be in Indian Rupees (INR), but the user request to be shown the
intraday ledger balance in US Dollars (USD), so Citi converts the
balance to USD based on the FOREX rate for a respective date, before
displaying the balance to the user.
title: Intraday Ledger Balance in Equivalent Currency
example: '10.01'
xml:
name: IntradayLedgerBalanceEqvCcy
intraday_last_update_date_time:
type: string
description: Intraday last update date and time on the account.
title: Intraday Last Update Date Time
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: IntradayLastUpdateDateTime
customer_legal_name:
type: string
description: Customer's legal name.
title: Customer Legal Name
example: Jacky Smith
xml:
name: CustomerLegalName
iban_account_number:
type: string
description: >-
The International Bank Account Number (IBAN), is a standard
international numbering system developed to identify an overseas
bank account.
title: Account IBAN
example: FI21 1234 5698 7654 3210
xml:
name: IbanAccountNumber
country_code:
type: string
description: ISO country code where the branch is located.
title: Country Code
example: CN
xml:
name: CountryCode
region_name:
type: string
description: The name of the region where the account is held.
title: Region Name
example: ASIA
xml:
name: RegionName
last_entry_date:
type: string
description: The last entry date in the account.
title: Last Entry Date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: LastEntryDate
bank_rte_id:
type: string
description: >-
The bank routing ID. This is a unique routing ID of each
bank/branch.
title: bankRteId
example: '042000013'
xml:
name: BankRteId
customer_name:
type: string
description: Name of the customer who holds the account with Citi.
title: Customer Name
example: Jacky Smith
xml:
name: CustomerName
customer_number:
type: string
description: >-
Customer number of the account holder. This parameter contains
Citi's customer number.
title: Customer Number
example: '1111111111111'
xml:
name: CustomerNumber
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: string
description: Overdraft account balance in the account.
title: Overdraft Amount
example: '13.21'
xml:
name: OverdraftAmount
Transaction-Information:
title: Transaction Information
description: >-
Fetch and provide the transactions details based on the filter
parameters received in the request from the client.
type: object
xml:
name: TransactionInformation
properties:
account_ref:
type: string
description: Unique identifier of the account number.
title: Account reference number
example: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
xml:
name: AccountRef
transactions:
type: array
title: transactions
description: Transactions Details.
xml:
wrapped: true
name: Transactions
items:
$ref: '#/components/schemas/Transaction-Details'
Transaction-Details:
title: TransactionDetails
description: >-
Fetch and provide the transactions details based on the filter
parameters received in the request from the client.
required:
- account_ref
- account_number
- transaction_currency
- amount
- transaction_status
type: object
xml:
name: TransactionDetails
properties:
account_ref:
type: string
description: Unique identifier of the account number.
title: Account reference number
example: 22SDKJ29DJW32EDJ3EJ2E3JIU8SDDS2
xml:
name: AccountRef
value_date:
type: string
description: Processing date of the transaction.
title: Value Date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: ValueDate
statement_date:
type: string
description: Date on which the posting took place to the account.
title: Statement Date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: StatementDate
account_number:
type: string
description: Citi's corporate client's account number.
title: Account Number
example: '0000001007'
xml:
name: AccountNumber
account_name:
type: string
description: Title given to the specific account.
title: Account Name
example: CITIBANK NA
xml:
name: AccountName
branch_name:
type: string
description: Name of the local bank location offering financial services.
title: Branch Name
example: DOMINICAN REPUBLIC CITIBANK
xml:
name: BranchName
beneficiary:
type: string
description: Party whose account is being credited.
title: Beneficiary
xml:
name: Beneficiary
example: Jacky Smith
transaction_currency:
type: string
description: Currency of the transaction instructed to be debited.
title: Transaction Currency
example: CNY
xml:
name: TransactionCurrency
amount:
pattern: ^\d{1,18}$|^\d{1,18}\.\d{1,5}$
type: string
description: Transaction amount instructed to debit from debtor's account.
title: Amount
xml:
name: Amount
example: '10.01'
transaction_status:
type: string
description: Status of the transaction.
title: Transaction Status
example: Completed
xml:
name: TransactionStatus
transaction_type:
type: string
description: Type of the transaction (payment method).
title: Transaction Type
example: DFT
xml:
name: TransactionType
description:
type: string
description: Description of the transaction.
title: Description
xml:
name: Description
example: Domestic Fund Transfer
bank_reference:
type: string
description: Unique transaction reference generated by the bank.
title: Bank Reference
example: CD0987654321
xml:
name: BankReference
customer_reference:
type: string
description: Unique transaction reference inputted by the customer.
title: Customer Reference
example: AB1234567890
xml:
name: CustomerReference
entry_date:
type: string
description: Date when the transaction was initiated.
title: Entry Date
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: EntryDate
uetr:
type: string
description: >-
Unique end-to-end transaction reference, which should adhere to the
pattern:
^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.
title: Uetr
xml:
name: Uetr
example: e2da6c9-18be-48d4-8053-867ed90a316a
transaction_number:
type: string
description: Unique transaction reference number.
title: Transaction Number
example: '20240205111133214283'
xml:
name: TransactionNumber
base_currency:
type: string
description: Debit account's home currency.
title: Base Currency
example: USD
xml:
name: BaseCurrency
branch_number:
type: string
description: >-
Number of the local bank located where the branch offers financial
services.
title: Branch Number
example: '214'
xml:
name: BranchNumber
bene_acct_no:
type: string
description: >-
Beneficiary account number. Party's account number to whose account
is credited.
title: Beneficiary account number
example: '11123344'
xml:
name: BeneAcctNo
org_acct_name:
type: string
description: >-
Original account name. The account name of the party that initiated
the request.
title: Originating account name
example: mns
xml:
name: OrgAcctName
org_acct_no:
type: string
description: >-
Originating account number. The account number of the party that
initiated the request.
title: Originating account number
example: '87576476'
xml:
name: OrgAcctNo
bene_name:
type: string
description: >-
Beneficiary Name. The name of the party whose account is being
credited.
title: Beneficiary Name
example: Jacky Smith
xml:
name: BeneNam
payment_details:
type: string
description: >-
A freeform text parameter where the ordering party bank user can
enter some information about the transaction.
title: Payment Details
example: paymentDetails
xml:
name: PaymentDetails
account_type:
type: string
description: Type of financial accounts.
title: accountType
example: 2-Saving
xml:
name: AccountType
iban_account_number:
type: string
description: >-
International Bank Account Number (IBAN). This is a standard
international numbering system developed to identify an overseas
bank account.
title: Iban Account Number
example: FI21 1234 5698 7654 3210
xml:
name: IbanAccountNumber
bank_name:
type: string
description: Name of the bank where the account is held.
title: Bank Name
example: CITIBANK
xml:
name: BankName
orgnl_tran_virt_acct_no:
type: string
description: Original transaction virtual account number.
title: Original transaction virtual account number
example: '900000000000000007'
xml:
name: OrgnlTranVirtAcctNo
tran_detl:
type: string
description: >-
A freeform text parameter where the ordering party/bank user can
enter some information about the transaction.
title: Transaction detail
example: transaction details
xml:
name: TranDetl
bank_rte_id:
type: string
description: Bank routing ID. The unique routing ID of each bank/branch.
title: Bank routing identifier
example: '12342432'
xml:
name: BankRteId
prod_typ:
type: string
description: >-
This parameter holds the payment type which was considered by the
clearing system at the time of settlement.
title: Product type
example: DE-Data Entry
xml:
name: ProdTyp
credit_debit_mark:
type: string
description: >-
Indicator of the transaction. Allowed values are
* D - Debit
* C - Credit
title: Credit debit indicator
example: D
xml:
name: CreditDebitMark
transaction_actual_time:
type: string
description: Date when the transaction was initiated.
title: transaction actual time
format: date-time
example: '2024-04-22T00:00:00.000+00:00'
xml:
name: TransactionActualTime
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
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
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
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
Client-Name:
type: string
description: >-
Name of the Citi client.
- For GET Account, this parameter is
optional.
- For GET Balance, this parameter is not required.
-
For GET Transaction, this parameter is not required.
title: Client Name
example: Jacky Smith
xml:
name: ClientName
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:
$ref: '#/components/schemas/Error-Response'
examples:
Bad-Request-Example:
$ref: '#/components/examples/Bad-Request-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Bad-Request-Example:
$ref: '#/components/examples/Bad-Request-Example'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Unauthorized-Example:
$ref: '#/components/examples/Unauthorized-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Unauthorized-Example:
$ref: '#/components/examples/Unauthorized-Example'
Not-Found:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Not-Found-Example:
$ref: '#/components/examples/Not-Found-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Not-Found-Example:
$ref: '#/components/examples/Not-Found-Example'
Method-Not-Allowed:
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Method-Not-Allowed-Example:
$ref: '#/components/examples/Method-Not-Allowed-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Method-Not-Allowed-Example:
$ref: '#/components/examples/Method-Not-Allowed-Example'
Internal-Server-Error:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Internal-Server-Error-Example:
$ref: '#/components/examples/Internal-Server-Error-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Internal-Server-Error-Example:
$ref: '#/components/examples/Internal-Server-Error-Example'
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Forbidden:
$ref: '#/components/examples/Forbidden-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Forbidden:
$ref: '#/components/examples/Forbidden-Example'
Unsupported-Media-Type:
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
UnsupportedMediaType:
$ref: '#/components/examples/Unsupported-Media-Type-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
UnsupportedMediaType:
$ref: '#/components/examples/Unsupported-Media-Type-Example'
Unprocessable-Content:
description: Unprocessable-Content
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Unprocessable-Content-Example-Page-Response:
$ref: >-
#/components/examples/Unprocessable-Content-Example-Page-Response
application/xml:
schema:
$ref: '#/components/schemas/Error-Response'
examples:
Unprocessable-Content-Example-Page-Response:
$ref: >-
#/components/examples/Unprocessable-Content-Example-Page-Response
examples:
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.
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.
Not-Found-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627702
error_details:
- code: CC00006
issue: Resources that you are searching for are not found.
action: Please use valid resource details.
Method-Not-Allowed-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: CC00007
issue: Method Not Allowed.
action: Please use a valid method type.
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.
Unsupported-Media-Type-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: CC00002
issue: Media type is not supported.
action: Please use valid content-type in the header.
Forbidden-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: CC00008
issue: >-
User does not have sufficient privileges to access this
functionality.
action: Please reach out to the support team to enable this feature.
Unprocessable-Content-Example-Page-Response:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: VC00012
issue: >-
The requested range invalid because the page response details are
invalid.
action: Use page response details that are valid.
securitySchemes:
clientCredentials:
description: >+
All CitiConnect APIs use the oAuth2 authentication scheme, which
requires a bearer token to authenticate your API call. The Token URL
includes the version of authentication used by this API. See the Citi Authentication API reference for
information on requesting a token.
type: oauth2
flows:
clientCredentials:
tokenUrl: /authenticationservices/v3/oauth/token
scopes:
/authenticationservices/v1: Access to Accounts, Balances, Transactions Information
x-original-swagger-version: '2.0'
x-ibm-configuration:
enforced: true
testable: true
phase: realized
cors:
enabled: true
properties:
hostName:
value: https://account-api-pte-168554.nam.nsroot.net/accountsservices/v4
description: ''
encoded: false
catalogs:
SIT5:
properties:
hostName: https://account-api-dev-168554.nam.nsroot.net/accountsservices/v4
Sandbox:
properties:
hostName: https://account-api-cte-168554.nam.nsroot.net/accountsservices/v4
prod:
properties:
hostName: https://account-api-168554.cloudgsl.nam.nsroot.net/accountsservices/v4
UAT1:
properties:
hostName: https://account-api-uat-168554.nam.nsroot.net/accountsservices/v4
PTE:
properties:
hostName: https://account-api-pte-168554.nam.nsroot.net/accountsservices/v4
assembly:
execute:
- proxy:
title: proxy
timeout: 60
verb: keep
cache-response: protocol
cache-ttl: 900
version: 1.0.0
tls-profile: icg-tts-ic
target-url: $(hostName)$(api.operation.path)
- activity-log:
title: activity-log
content: header
error-content: header
version: 1.0.0
catch: []