{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-transaction-information-schema.json",
"title": "Transaction Information",
"description": "Response containing transaction data returned to the TPP based on the requested filters.",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/citi-bankdatasharing-api-openapi.yml#/components/schemas/Transaction-Information",
"type": "object",
"properties": {
"consent_id": {
"$ref": "#/$defs/Consent-Id"
},
"transactions": {
"type": "array",
"title": "transactions",
"description": "Transactions Details.",
"items": {
"$ref": "#/$defs/Accounts-Info"
}
}
},
"$defs": {
"Account-Ref": {
"type": "string",
"description": "**This parameter is required for GET Transactions and optional for GET Accounts and GET Balances.** Unique reference assigned to an account; when omitted (where optional), data is returned for all accounts linked to the client_id.",
"title": "Account Identifier"
},
"Accounts-Info": {
"title": "Accounts Information",
"description": "Account identification and context details associated with the returned transactions.",
"required": [
"account_ref"
],
"type": "object",
"properties": {
"account_ref": {
"$ref": "#/$defs/Account-Ref"
},
"account_number": {
"type": "string",
"description": "Citi's corporate client's account number.",
"title": "Account Number"
},
"account_name": {
"type": "string",
"description": "Title given to the specific account.",
"title": "Account Name"
},
"branch_name": {
"type": "string",
"description": "Name of the local bank location offering financial services.",
"title": "Branch Name"
},
"branch_number": {
"type": "string",
"description": "Number of the local bank located where the branch offers financial services.",
"title": "Branch Number"
},
"transaction_details": {
"type": "array",
"title": "transactions details",
"description": "Transactions Details.",
"items": {
"$ref": "#/$defs/Transaction-Details"
}
}
}
},
"Consent-Id": {
"type": "string",
"description": "Unique identifier of the account information consent used to authorize TPP data access.",
"title": "Consent Identifier"
},
"Transaction-Details": {
"title": "TransactionDetails",
"description": "Detailed transaction record for an account entry returned by the transactions endpoint.",
"required": [
"transaction_currency",
"amount",
"transaction_status"
],
"type": "object",
"properties": {
"value_date": {
"type": "string",
"description": "Processing date of the transaction.",
"title": "Value Date",
"format": "date-time"
},
"statement_date": {
"type": "string",
"description": "Date on which the posting took place to the account.",
"title": "Statement Date",
"format": "date-time"
},
"beneficiary": {
"type": "string",
"description": "Party whose account is being credited.",
"title": "Beneficiary"
},
"transaction_currency": {
"type": "string",
"description": "Currency of the transaction instructed to be debited.",
"title": "Transaction Currency"
},
"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"
},
"transaction_status": {
"type": "string",
"description": "Status of the transaction.",
"title": "Transaction Status"
},
"transaction_type": {
"type": "string",
"description": "Type of the transaction (payment method).",
"title": "Transaction Type"
},
"description": {
"type": "string",
"description": "Description of the transaction.",
"title": "Description"
},
"bank_reference": {
"type": "string",
"description": "Unique transaction reference generated by the bank.",
"title": "Bank Reference",
"minLength": 1,
"maxLength": 16
},
"customer_reference": {
"type": "string",
"description": "Unique transaction reference inputted by the customer.",
"title": "Customer Reference",
"minLength": 1,
"maxLength": 54
},
"end_to_end_id": {
"type": "string",
"description": "Unique transaction reference inputted by the customer.",
"title": "end_to_end_id",
"minLength": 1,
"maxLength": 54
},
"entry_date": {
"type": "string",
"description": "Date when the transaction was initiated.",
"title": "Entry Date",
"format": "date-time"
},
"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",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$"
},
"transaction_number": {
"type": "string",
"description": "Unique transaction reference number.",
"title": "Transaction Number"
},
"base_currency": {
"type": "string",
"description": "Debit account's home currency.",
"title": "Base Currency"
},
"bene_acct_no": {
"type": "string",
"description": "Beneficiary account number. Party's account number to whose account is credited.",
"title": "Beneficiary account number"
},
"org_acct_name": {
"type": "string",
"description": "Original account name. The account name of the party that initiated the request.",
"title": "Originating account name"
},
"org_acct_no": {
"type": "string",
"description": "Originating account number. The account number of the party that initiated the request.",
"title": "Originating account number"
},
"bene_name": {
"type": "string",
"description": "Beneficiary Name. The name of the party whose account is being credited.",
"title": "Beneficiary Name"
},
"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"
},
"account_type": {
"type": "string",
"description": "Type of financial accounts.",
"title": "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"
},
"bank_name": {
"type": "string",
"description": "Name of the bank where the account is held.",
"title": "Bank Name"
},
"orgnl_tran_virt_acct_no": {
"type": "string",
"description": "Original transaction virtual account number.",
"title": "Original transaction virtual account number"
},
"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"
},
"bank_rte_id": {
"type": "string",
"description": "Bank routing ID. The unique routing ID of each bank/branch.",
"title": "Bank routing identifier"
},
"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"
},
"credit_debit_mark": {
"type": "string",
"description": "Indicator of the transaction. Allowed values are
* D - Debit
* C - Credit",
"title": "Credit debit indicator"
},
"transaction_actual_time": {
"type": "string",
"description": "Date when the transaction was initiated.",
"title": "transaction actual time",
"format": "date-time"
},
"swift_transaction_code": {
"type": "string",
"maxLength": 4,
"description": "Swift transaction code. Examples include 'FEX', 'MSC', 'TRF', 'INTR'",
"title": "swift transaction code"
}
}
}
}
}