{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-payer-id-update-accounts-request-schema.json",
  "title": "Payer-ID-Update-Accounts-Request",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/citi-payeridupdateaccountsandcurrencies-api-openapi.yml#/components/schemas/Payer-ID-Update-Accounts-Request",
  "required": [
    "country_code",
    "accounts"
  ],
  "type": "object",
  "properties": {
    "country_code": {
      "type": "string",
      "title": "country_code",
      "pattern": "^[A-Z]{2}$",
      "description": "The ISO country code specifying which country the account is held with. For example, if we receive a request for Germany, then the county code is 'DE', for France, the country code is 'FR'. The list of allowed country codes are: <br>'DE' - Germany<br> 'FR' - France<br> 'GB' - Great Britain<br>'IE' - Ireland<br>'NL' - Netherlands<br>'US' - United States<br>'CA' - Canada<br> 'HK' - Hong Kong<br> 'SG' - Singapore<br>'AU' - Australia<br>'NZ' - New Zealand<br>'LU' - Luxembourg"
    },
    "accounts": {
      "type": "array",
      "title": "accounts",
      "minItems": 1,
      "maxItems": 30,
      "description": "Identification of account parameter under which client account, branch code, or instruction currency to be displayed. Instruction currency cannot be same for different client account numbers in a single request.",
      "items": {
        "$ref": "#/$defs/Payer-ID-Account"
      }
    }
  },
  "$defs": {
    "Instruction-Currency": {
      "type": "string",
      "title": "Instruction-Currency",
      "pattern": "^[A-Z]{3}$",
      "description": "The 3-character ISO currency code. It is a payment currency, for example, 'EUR' or 'GBP'."
    },
    "Payer-ID-Account": {
      "required": [
        "client_account",
        "branch_code",
        "instruction_currencies"
      ],
      "type": "object",
      "title": "Payer-ID-Account",
      "properties": {
        "client_account": {
          "type": "string",
          "title": "client_account",
          "minLength": 1,
          "maxLength": 35,
          "description": "The client's account."
        },
        "branch_code": {
          "type": "string",
          "title": "branch_code",
          "minLength": 3,
          "maxLength": 4,
          "description": "Citi's Internal branch code."
        },
        "instruction_currencies": {
          "type": "array",
          "title": "instruction_currencies",
          "uniqueItems": true,
          "minItems": 1,
          "maxItems": 30,
          "description": "The 3-character ISO currency code. It is a payment currency, for example, 'EUR' or 'GBP'.",
          "items": {
            "$ref": "#/$defs/Instruction-Currency"
          }
        }
      }
    }
  }
}