{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-balance-request-schema.json", "title": "BalanceRequest", "description": "For XML content-type requests, elements in the request must appear in the same order as mentioned in the schema. Otherwise, the API will return a schema validation error.", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/citi-balance-api-openapi.yml#/components/schemas/BalanceRequest", "properties": { "account_identifier": { "type": "string", "description": "Identifier of the account as defined by the account service provider. You must include at least 1 account and can specify up to 50 accounts in the `account_identifier` field by comma-seperated values. You must specify either `account_identifier` or `branch_number` in order to receive a successful response. If none of these fields are provided, then the API will return a reject response along with an error message." }, "branch_number": { "type": "string", "description": "Branch Number as defined by the account service provider. You can send only one Branch Number in the request. If you send a `branch_number` without an `account_number`, the API returns balances for all accounts belonging to the branch specified in the request. You must specify either `account_identifier` or `branch_number` in order to receive a successful response. If none of these fields are provided, then the API will return a reject response along with an error message." }, "base_currency": { "type": "string", "pattern": "^[A-Z]{3,3}$", "description": "3-digit currency code for the currency in which the balance needs to be retrieved. You may only one value in this field. If `base_currency` is provided in the request, the API will return balances in the requested currency after applying any applicable FX currency conversations. If `base_currency` is not provided in the request, then the response will return balances in the account's currency." }, "from_date": { "type": "string", "description": "Calendar date expressed in YYYY-MM-DD format. Cannot be more than 180 days from the current date. This is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.", "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$" }, "to_date": { "type": "string", "description": "Calendar date expressed in YYYY-MM-DD format. Cannot be more than 180 days from the current date. This is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.", "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$" } } }