{
  "id": "aqbanking",
  "name": "AqBanking",
  "homepage": "https://www.aqbanking.de/",
  "description": "A generic online banking and financial data exchange library.",
  "executables": [
    "aqbanking-cli",
    "aqhbci-tool4"
  ],
  "dotfiles": {
    "paths": [],
    "secret": [
      "~/.aqbanking/"
    ]
  },
  "commands": {
    "format": 1,
    "label": "AqBanking",
    "description": "Request account data (transactions, balance) from a bank into a context file with aqbanking-cli. Transfers, import/export and HBCI user setup (aqhbci-tool4) are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://manpages.debian.org/unstable/aqbanking-tools/aqhbci-tool4.1.en.html",
        "revision": "6.9.2-1",
        "evidence": "-D PARAM, --cfgdir=PARAM\nSpecify the configuration folder\n-n, --noninteractive\nSelect non-interactive mode. This automatically returns a\n  confirmative answer to any non-critical message.\n"
      }
    ],
    "field": [
      {
        "id": "cfgdir",
        "label": "Configuration folder",
        "type": "path",
        "option": [
          "--cfgdir",
          "-D"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "noninteractive",
        "label": "Non-interactive",
        "type": "boolean",
        "option": [
          "--noninteractive",
          "-n"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "cfgdir",
          "noninteractive"
        ]
      }
    ],
    "subcommand": [
      {
        "path": [
          "request"
        ],
        "label": "Request account data",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/aqbanking/aqbanking/blob/master/src/tools/aqbanking-cli/request.c",
            "revision": "master 2026-10",
            "evidence": "Option table in request.c (long option names, parsed as --NAME; short options -b, -a, -c):\n-b, --bank           Specify the bank code\n-a, --account        Specify the account number\n--iban               Specify the iban of your account\n-c, --ctxfile        Specify the file to store the context in\n--transactions       Request transactions\n--balance            Request balance\n--fromdate           Specify the first date for which transactions are wanted (YYYYMMDD)\n--todate             Specify the last date for which transactions are wanted (YYYYMMDD)\n"
          }
        ],
        "field": [
          {
            "id": "bank",
            "label": "Bank code",
            "type": "string",
            "option": [
              "--bank",
              "-b"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "account",
            "label": "Account number",
            "type": "string",
            "option": [
              "--account",
              "-a"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "iban",
            "label": "IBAN",
            "type": "string",
            "option": [
              "--iban"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "ctxfile",
            "label": "Context file",
            "description": "File the received data is stored in.",
            "type": "path",
            "option": [
              "--ctxfile",
              "-c"
            ],
            "path": {
              "kind": "file",
              "role": "output",
              "must_exist": false
            },
            "effect": "overwrite",
            "sources": [
              "src"
            ]
          },
          {
            "id": "transactions",
            "label": "Request transactions",
            "type": "boolean",
            "option": [
              "--transactions"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "balance",
            "label": "Request balance",
            "type": "boolean",
            "option": [
              "--balance"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "fromdate",
            "label": "From date",
            "description": "YYYYMMDD",
            "type": "string",
            "option": [
              "--fromdate"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "todate",
            "label": "To date",
            "description": "YYYYMMDD",
            "type": "string",
            "option": [
              "--todate"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "transactions",
            "label": "Fetch transactions and balance",
            "fields": [
              "bank",
              "account",
              "ctxfile",
              "transactions",
              "balance",
              "fromdate",
              "todate"
            ],
            "required": [
              "ctxfile"
            ],
            "set": {
              "transactions": [
                true
              ],
              "balance": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "bank",
              "account",
              "iban",
              "ctxfile",
              "transactions",
              "balance"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "fromdate",
              "todate"
            ]
          }
        ]
      }
    ]
  }
}
