{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-accounts-information-schema.json",
"title": "AccountsInformation",
"description": "Response containing account-level information 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/Accounts-Information",
"type": "object",
"properties": {
"consent_id": {
"$ref": "#/$defs/Consent-Id"
},
"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.",
"items": {
"$ref": "#/$defs/Account-Details"
}
}
},
"$defs": {
"Account-Category": {
"type": "string",
"description": "Account category value describing the account class (for example, debit/credit category representations).
- 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"
},
"Account-Details": {
"title": "Account Details",
"description": "Detailed attributes of a single account included in the accounts response.",
"type": "object",
"required": [
"account_ref"
],
"properties": {
"account_ref": {
"$ref": "#/$defs/Account-Ref"
},
"account_number": {
"$ref": "#/$defs/Account-Number"
},
"currency_code": {
"$ref": "#/$defs/Currency-Code"
},
"account_name": {
"$ref": "#/$defs/Account-Name"
},
"account_type": {
"$ref": "#/$defs/Account-Type"
},
"branch_code": {
"$ref": "#/$defs/Branch-Code"
},
"legal_entity": {
"$ref": "#/$defs/Legal-Entity"
},
"branch_name": {
"$ref": "#/$defs/Branch-Name"
},
"iban_account_number": {
"$ref": "#/$defs/Iban-Account-Number"
},
"account_category": {
"$ref": "#/$defs/Account-Category"
},
"status": {
"$ref": "#/$defs/Status"
},
"account_opening_date": {
"$ref": "#/$defs/Account-Opening-Date"
},
"country_code": {
"$ref": "#/$defs/Country-Code"
},
"bank_rte_id": {
"$ref": "#/$defs/Bank-Rte-Id"
}
}
},
"Account-Name": {
"type": "string",
"description": "Name or title assigned to the 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"
},
"Account-Number": {
"type": "string",
"minimum": 1,
"maximum": 35,
"description": "Account number of Citi's corporate client account.
- For GET Account, this parameter is required.
- For GET Balance, this parameter is required.
- For GET Transaction, this parameter is optional.",
"title": "Account Number."
},
"Account-Opening-Date": {
"type": "string",
"description": "Date and time when the account was originally 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"
},
"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"
},
"Account-Type": {
"type": "string",
"minimum": 1,
"maximum": 242,
"description": "Classification of the 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"
},
"Bank-Rte-Id": {
"type": "string",
"description": "Routing identifier for the servicing 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"
},
"Branch-Code": {
"type": "string",
"description": "Unique code identifying the servicing 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"
},
"Branch-Name": {
"type": "string",
"description": "Name of the branch or local bank location servicing the account.
* 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"
},
"Consent-Id": {
"type": "string",
"description": "Unique identifier of the account information consent used to authorize TPP data access.",
"title": "Consent Identifier"
},
"Country-Code": {
"type": "string",
"description": "ISO country code for the jurisdiction of the branch or account location.
- 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"
},
"Currency-Code": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "Three-letter currency code defined by 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"
},
"Iban-Account-Number": {
"type": "string",
"description": "International Bank Account Number (IBAN) used to identify the account in cross-border and domestic contexts where applicable.
- 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"
},
"Legal-Entity": {
"type": "string",
"description": "Legal entity name associated with the account (individual, corporate, or institution).
- 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"
},
"Status": {
"type": "string",
"description": "Current lifecycle status of the account (for example, 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"
}
}
}