{ "$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" } } } } }