{
  "openapi": "3.1.0",
  "info": {
    "title": "Saman Mobillet HTTP API",
    "version": "0.3.0",
    "description": "One bank account/session per server instance. All monetary amounts are IRR. Request secrets are not logged. Bank JSON is retained."
  },
  "servers": [
    {
      "url": "/v1"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    }
  },
  "paths": {
    "/health": {
      "get": {
        "summary": "Liveness",
        "security": [],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "ok": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/capabilities": {
      "get": {
        "summary": "All CLI operations mapped to HTTP methods and paths",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "basePath": {
                      "type": "string"
                    },
                    "operations": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "command": {
                            "type": "string"
                          },
                          "method": {
                            "type": "string"
                          },
                          "path": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "basePath": "/v1",
                  "operations": [
                    {
                      "command": "login",
                      "method": "POST",
                      "path": "/v1/auth/login"
                    },
                    {
                      "command": "otp-request",
                      "method": "POST",
                      "path": "/v1/auth/otp/request"
                    },
                    {
                      "command": "otp",
                      "method": "POST",
                      "path": "/v1/auth/otp"
                    },
                    {
                      "command": "status",
                      "method": "GET",
                      "path": "/v1/auth/session"
                    },
                    {
                      "command": "check-session",
                      "method": "POST",
                      "path": "/v1/auth/session/check"
                    },
                    {
                      "command": "logout",
                      "method": "POST",
                      "path": "/v1/auth/logout"
                    },
                    {
                      "command": "ensure-session",
                      "method": "POST",
                      "path": "/v1/auth/session/ensure"
                    },
                    {
                      "command": "config",
                      "method": "POST",
                      "path": "/v1/config"
                    },
                    {
                      "command": "import-har",
                      "method": "POST",
                      "path": "/v1/auth/import-har"
                    },
                    {
                      "command": "profile",
                      "method": "GET",
                      "path": "/v1/profile"
                    },
                    {
                      "command": "accounts",
                      "method": "GET",
                      "path": "/v1/accounts"
                    },
                    {
                      "command": "deposits",
                      "method": "GET",
                      "path": "/v1/deposits"
                    },
                    {
                      "command": "accounts-with-cards",
                      "method": "GET",
                      "path": "/v1/accounts/with-cards"
                    },
                    {
                      "command": "cards",
                      "method": "GET",
                      "path": "/v1/cards"
                    },
                    {
                      "command": "cards-all",
                      "method": "GET",
                      "path": "/v1/cards/all"
                    },
                    {
                      "command": "deposits-all",
                      "method": "GET",
                      "path": "/v1/deposits/all"
                    },
                    {
                      "command": "balance",
                      "method": "GET",
                      "path": "/v1/balance"
                    },
                    {
                      "command": "balance-deposits",
                      "method": "GET",
                      "path": "/v1/balances/deposits"
                    },
                    {
                      "command": "balance-cards",
                      "method": "GET",
                      "path": "/v1/balances/cards"
                    },
                    {
                      "command": "digital-rial-wallets",
                      "method": "GET",
                      "path": "/v1/digital-rial/wallets"
                    },
                    {
                      "command": "digital-rial-validate",
                      "method": "POST",
                      "path": "/v1/digital-rial/activation/validate"
                    },
                    {
                      "command": "digital-rial-otp",
                      "method": "POST",
                      "path": "/v1/digital-rial/activation/otp"
                    },
                    {
                      "command": "digital-rial-activate",
                      "method": "POST",
                      "path": "/v1/digital-rial/wallets"
                    },
                    {
                      "command": "digital-rial-balance",
                      "method": "GET",
                      "path": "/v1/digital-rial/wallets/{walletId}/balance"
                    },
                    {
                      "command": "digital-rial-transactions",
                      "method": "GET",
                      "path": "/v1/digital-rial/wallets/{walletId}/transactions"
                    },
                    {
                      "command": "digital-rial-transaction",
                      "method": "GET",
                      "path": "/v1/digital-rial/transactions/{id}"
                    },
                    {
                      "command": "digital-rial-deactivate",
                      "method": "POST",
                      "path": "/v1/digital-rial/wallets/{walletId}/deactivate"
                    },
                    {
                      "command": "digital-rial-charge",
                      "method": "POST",
                      "path": "/v1/digital-rial/wallets/{walletId}/charge"
                    },
                    {
                      "command": "digital-rial-discharge",
                      "method": "POST",
                      "path": "/v1/digital-rial/wallets/{walletId}/discharge"
                    },
                    {
                      "command": "digital-rial-contacts",
                      "method": "GET",
                      "path": "/v1/digital-rial/contacts"
                    },
                    {
                      "command": "institutions",
                      "method": "GET",
                      "path": "/v1/institutions"
                    },
                    {
                      "command": "home",
                      "method": "GET",
                      "path": "/v1/home"
                    },
                    {
                      "command": "notifications-count",
                      "method": "GET",
                      "path": "/v1/notifications/count"
                    },
                    {
                      "command": "cartable-count",
                      "method": "GET",
                      "path": "/v1/cartable/count"
                    },
                    {
                      "command": "onboarding",
                      "method": "GET",
                      "path": "/v1/onboarding/latest"
                    },
                    {
                      "command": "transactions",
                      "method": "GET",
                      "path": "/v1/transactions"
                    },
                    {
                      "command": "transactions-latest",
                      "method": "GET",
                      "path": "/v1/transactions/latest"
                    },
                    {
                      "command": "transaction",
                      "method": "GET",
                      "path": "/v1/transactions/{id}"
                    },
                    {
                      "command": "transaction-find",
                      "method": "GET",
                      "path": "/v1/transactions/find/{code}"
                    },
                    {
                      "command": "transaction-categories",
                      "method": "GET",
                      "path": "/v1/transactions/categories"
                    },
                    {
                      "command": "transaction-types",
                      "method": "GET",
                      "path": "/v1/transactions/types"
                    },
                    {
                      "command": "iban",
                      "method": "GET",
                      "path": "/v1/accounts/{number}/iban"
                    },
                    {
                      "command": "owner",
                      "method": "GET",
                      "path": "/v1/owner/iban/{iban}"
                    },
                    {
                      "command": "transfers-latest",
                      "method": "GET",
                      "path": "/v1/transfers/latest"
                    },
                    {
                      "command": "deposits-favorites",
                      "method": "GET",
                      "path": "/v1/deposits/favorites"
                    },
                    {
                      "command": "deposits-categories",
                      "method": "GET",
                      "path": "/v1/deposits/categories"
                    },
                    {
                      "command": "samanium",
                      "method": "GET",
                      "path": "/v1/samanium"
                    },
                    {
                      "command": "merchant-terminals",
                      "method": "GET",
                      "path": "/v1/merchant/terminals"
                    },
                    {
                      "command": "merchant-summary",
                      "method": "GET",
                      "path": "/v1/merchant/summary"
                    },
                    {
                      "command": "card-owner",
                      "method": "POST",
                      "path": "/v1/transfers/card/owner"
                    },
                    {
                      "command": "transfer-otp",
                      "method": "POST",
                      "path": "/v1/transfers/card/otp"
                    },
                    {
                      "command": "transfer-card",
                      "method": "POST",
                      "path": "/v1/transfers/card"
                    },
                    {
                      "command": "deposit-owner",
                      "method": "GET",
                      "path": "/v1/owner/deposit/{number}"
                    },
                    {
                      "command": "transfer-reasons",
                      "method": "GET",
                      "path": "/v1/transfers/reasons"
                    },
                    {
                      "command": "transfer-recent",
                      "method": "GET",
                      "path": "/v1/transfers/recent/{kind}"
                    },
                    {
                      "command": "recent-deposit",
                      "method": "GET",
                      "path": "/v1/deposits/recent"
                    },
                    {
                      "command": "recent-card",
                      "method": "GET",
                      "path": "/v1/cards/recent"
                    },
                    {
                      "command": "recent-iban",
                      "method": "GET",
                      "path": "/v1/ibans/recent"
                    },
                    {
                      "command": "transfer-deposit",
                      "method": "POST",
                      "path": "/v1/transfers/deposit"
                    },
                    {
                      "command": "transfer-iban",
                      "method": "POST",
                      "path": "/v1/transfers/iban"
                    },
                    {
                      "command": "help",
                      "method": "GET",
                      "path": "/v1/openapi.json"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/auth/session": {
      "get": {
        "summary": "Local session state; does not contact bank",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "loggedIn": {
                      "type": "boolean"
                    },
                    "hasToken": {
                      "type": "boolean"
                    },
                    "deviceUid": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "integer"
                    },
                    "expiresIn": {
                      "type": "integer"
                    },
                    "trustedDevice": {
                      "type": "boolean"
                    },
                    "shouldChangePassword": {
                      "type": "boolean"
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "otpRequired": {
                      "type": "boolean"
                    },
                    "nextAction": {
                      "type": "null"
                    }
                  }
                },
                "example": {
                  "loggedIn": true,
                  "hasToken": true,
                  "deviceUid": "00000000-0000-4000-8000-000000000001",
                  "state": "authenticated",
                  "expiresAt": 1793500600000,
                  "expiresIn": 600,
                  "trustedDevice": true,
                  "shouldChangePassword": false,
                  "ok": true,
                  "otpRequired": false,
                  "nextAction": null
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/auth/session/check": {
      "post": {
        "summary": "Verify session against bank",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "loggedIn": {
                      "type": "boolean"
                    },
                    "hasToken": {
                      "type": "boolean"
                    },
                    "deviceUid": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "integer"
                    },
                    "expiresIn": {
                      "type": "integer"
                    },
                    "trustedDevice": {
                      "type": "boolean"
                    },
                    "shouldChangePassword": {
                      "type": "boolean"
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "otpRequired": {
                      "type": "boolean"
                    },
                    "nextAction": {
                      "type": "null"
                    },
                    "bankVerified": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "loggedIn": true,
                  "hasToken": true,
                  "deviceUid": "00000000-0000-4000-8000-000000000001",
                  "state": "authenticated",
                  "expiresAt": 1793500600000,
                  "expiresIn": 600,
                  "trustedDevice": true,
                  "shouldChangePassword": false,
                  "ok": true,
                  "otpRequired": false,
                  "nextAction": null,
                  "bankVerified": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/auth/session/ensure": {
      "post": {
        "summary": "Verify session; relogin once only if missing/expired or bank returns 401",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "loggedIn": {
                      "type": "boolean"
                    },
                    "hasToken": {
                      "type": "boolean"
                    },
                    "deviceUid": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "integer"
                    },
                    "expiresIn": {
                      "type": "integer"
                    },
                    "trustedDevice": {
                      "type": "boolean"
                    },
                    "shouldChangePassword": {
                      "type": "boolean"
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "otpRequired": {
                      "type": "boolean"
                    },
                    "nextAction": {
                      "type": "null"
                    },
                    "bankVerified": {
                      "type": "boolean"
                    },
                    "renewed": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "loggedIn": true,
                  "hasToken": true,
                  "deviceUid": "00000000-0000-4000-8000-000000000001",
                  "state": "authenticated",
                  "expiresAt": 1793500600000,
                  "expiresIn": 600,
                  "trustedDevice": true,
                  "shouldChangePassword": false,
                  "ok": true,
                  "otpRequired": false,
                  "nextAction": null,
                  "bankVerified": true,
                  "renewed": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "writeOnly": true
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "example": {}
            }
          }
        }
      }
    },
    "/auth/login": {
      "post": {
        "summary": "Login and request device SMS automatically; inspect otpRequired and nextAction",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "loggedIn": {
                      "type": "boolean"
                    },
                    "hasToken": {
                      "type": "boolean"
                    },
                    "deviceUid": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "integer"
                    },
                    "expiresIn": {
                      "type": "integer"
                    },
                    "trustedDevice": {
                      "type": "boolean"
                    },
                    "shouldChangePassword": {
                      "type": "boolean"
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "otpRequired": {
                      "type": "boolean"
                    },
                    "nextAction": {
                      "type": "string"
                    },
                    "deviceVerificationRequired": {
                      "type": "boolean"
                    },
                    "bankVerified": {
                      "type": "boolean"
                    },
                    "otpSent": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "loggedIn": false,
                  "hasToken": true,
                  "deviceUid": "00000000-0000-4000-8000-000000000001",
                  "state": "otp_required",
                  "expiresAt": 1793500600000,
                  "expiresIn": 600,
                  "trustedDevice": false,
                  "shouldChangePassword": false,
                  "ok": true,
                  "otpRequired": true,
                  "nextAction": "verify_otp",
                  "deviceVerificationRequired": true,
                  "bankVerified": false,
                  "otpSent": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "loginType": {
                    "type": "string",
                    "enum": [
                      "STATIC",
                      "OTP1"
                    ],
                    "default": "STATIC"
                  },
                  "requestOtp": {
                    "type": "boolean",
                    "default": true,
                    "description": "false preserves the legacy separate SMS-request step"
                  }
                },
                "required": [
                  "username",
                  "password"
                ],
                "additionalProperties": false
              },
              "example": {
                "username": "example-user",
                "password": "ExamplePassword123"
              }
            }
          }
        }
      }
    },
    "/auth/otp/request": {
      "post": {
        "summary": "Request device verification SMS",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        }
                      }
                    },
                    "expiration": {
                      "type": "integer"
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "name": "OK",
                    "message": ""
                  },
                  "expiration": 120,
                  "logLevel": "NONE"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/auth/otp": {
      "post": {
        "summary": "Verify device SMS and check session",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "loggedIn": {
                      "type": "boolean"
                    },
                    "hasToken": {
                      "type": "boolean"
                    },
                    "deviceUid": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "integer"
                    },
                    "expiresIn": {
                      "type": "integer"
                    },
                    "trustedDevice": {
                      "type": "boolean"
                    },
                    "shouldChangePassword": {
                      "type": "boolean"
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "otpRequired": {
                      "type": "boolean"
                    },
                    "nextAction": {
                      "type": "null"
                    },
                    "bankVerified": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "loggedIn": true,
                  "hasToken": true,
                  "deviceUid": "00000000-0000-4000-8000-000000000001",
                  "state": "authenticated",
                  "expiresAt": 1793500600000,
                  "expiresIn": 600,
                  "trustedDevice": true,
                  "shouldChangePassword": false,
                  "ok": true,
                  "otpRequired": false,
                  "nextAction": null,
                  "bankVerified": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "writeOnly": true
                  }
                },
                "required": [
                  "code"
                ],
                "additionalProperties": false
              },
              "example": {
                "code": "123456"
              }
            }
          }
        }
      }
    },
    "/auth/logout": {
      "post": {
        "summary": "Clear local bank session",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "ok": true,
                  "scope": "local"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/auth/import-har": {
      "post": {
        "summary": "Import a browser HAR JSON body; never replay captured requests",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "imported": {
                      "type": "boolean"
                    },
                    "authenticatedRequestsObserved": {
                      "type": "integer"
                    },
                    "cookieCount": {
                      "type": "integer"
                    },
                    "liveVerified": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "imported": true,
                  "authenticatedRequestsObserved": 1,
                  "cookieCount": 0,
                  "liveVerified": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "log"
                ],
                "properties": {
                  "log": {
                    "type": "object",
                    "required": [
                      "entries"
                    ],
                    "properties": {
                      "entries": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": true
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "log": {
                  "entries": [
                    {
                      "request": {
                        "method": "GET",
                        "url": "https://mobillet.sb24.com/account/deposits",
                        "headers": [
                          {
                            "name": "authorization",
                            "value": "Bearer EXAMPLE_TOKEN"
                          },
                          {
                            "name": "deviceUid",
                            "value": "00000000-0000-4000-8000-000000000001"
                          }
                        ],
                        "cookies": []
                      },
                      "response": {
                        "status": 200,
                        "content": {
                          "mimeType": "application/json",
                          "text": "{\"status\":{\"code\":0},\"deposits\":[]}"
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/profile": {
      "get": {
        "summary": "User profile",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/deposits": {
      "get": {
        "summary": "Deposit list only",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": false,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts": {
      "get": {
        "summary": "Alias for deposit list",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": false,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/with-cards": {
      "get": {
        "summary": "Deposits with cards",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": true,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/categories": {
      "get": {
        "summary": "Categorized deposits",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "categorizeDeposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "deposits": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": true,
                              "properties": {
                                "balance": {
                                  "type": "integer"
                                },
                                "bank": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "id": {
                                      "type": "integer"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "logoUrl": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string"
                                    },
                                    "ibanId": {
                                      "type": "string"
                                    },
                                    "largeLogoUrl": {
                                      "type": "string"
                                    },
                                    "requiredOtp": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "bankGroupType": {
                                  "type": "string"
                                },
                                "blockAmount": {
                                  "type": "integer"
                                },
                                "createdDate": {
                                  "type": "integer"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "currencyObject": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "code": {
                                      "type": "string"
                                    },
                                    "localizedDescription": {
                                      "type": "string"
                                    },
                                    "symbol": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "depositStatus": {
                                  "type": "string"
                                },
                                "depositType": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "code": {
                                      "type": "string"
                                    },
                                    "couldBeInterestDestination": {
                                      "type": "boolean"
                                    },
                                    "interestRate": {
                                      "type": "integer"
                                    },
                                    "minimumOpeningAmount": {
                                      "type": "integer"
                                    },
                                    "title": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "favorite": {
                                  "type": "boolean"
                                },
                                "fullName": {
                                  "type": "string"
                                },
                                "hasChequeBook": {
                                  "type": "boolean"
                                },
                                "iban": {
                                  "type": "string"
                                },
                                "id": {
                                  "type": "integer"
                                },
                                "isPrivate": {
                                  "type": "boolean"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "minimumOtpAmount": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {}
                                },
                                "number": {
                                  "type": "string"
                                },
                                "order": {
                                  "type": "integer"
                                },
                                "otpTicketAmount": {
                                  "type": "integer"
                                },
                                "owner": {
                                  "type": "string"
                                },
                                "paymentable": {
                                  "type": "boolean"
                                },
                                "personality": {
                                  "type": "string"
                                },
                                "private": {
                                  "type": "boolean"
                                },
                                "rawNumber": {
                                  "type": "string"
                                },
                                "signature": {
                                  "type": "string"
                                },
                                "title": {
                                  "type": "string"
                                },
                                "topupable": {
                                  "type": "boolean"
                                },
                                "transferable": {
                                  "type": "boolean"
                                },
                                "withdrawOption": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "categorizeDeposits": [
                    {
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "deposits": [
                        {
                          "balance": 1000000,
                          "bank": {
                            "id": 1,
                            "name": "نمونه",
                            "logoUrl": "https://example.invalid/asset.png",
                            "identifier": "نمونه",
                            "ibanId": "IR220000000000000000000001",
                            "largeLogoUrl": "https://example.invalid/asset.png",
                            "requiredOtp": false
                          },
                          "bankGroupType": "PASANDAZ",
                          "blockAmount": 1000000,
                          "createdDate": 1793500000000,
                          "currency": "ریال",
                          "currencyObject": {
                            "code": "نمونه",
                            "localizedDescription": "شرح نمونه",
                            "symbol": "نمونه"
                          },
                          "depositStatus": "OPEN",
                          "depositType": {
                            "code": "000001",
                            "couldBeInterestDestination": true,
                            "interestRate": 1,
                            "minimumOpeningAmount": 1000000,
                            "title": "نمونه"
                          },
                          "favorite": true,
                          "fullName": "",
                          "hasChequeBook": false,
                          "iban": "IR220000000000000000000001",
                          "id": 1,
                          "isPrivate": true,
                          "label": "نمونه",
                          "minimumOtpAmount": {},
                          "number": "123-456-0000001-2",
                          "order": 1,
                          "otpTicketAmount": 1000000,
                          "owner": "کاربر نمونه",
                          "paymentable": true,
                          "personality": "ACTUAL",
                          "private": true,
                          "rawNumber": "123-456-0000001-2",
                          "signature": "نمونه",
                          "title": "نمونه",
                          "topupable": true,
                          "transferable": true,
                          "withdrawOption": "BE_TANHAYEE"
                        }
                      ]
                    }
                  ],
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/deposits/categories": {
      "get": {
        "summary": "Alias for categorized deposits",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "categorizeDeposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "deposits": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": true,
                              "properties": {
                                "balance": {
                                  "type": "integer"
                                },
                                "bank": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "id": {
                                      "type": "integer"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "logoUrl": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string"
                                    },
                                    "ibanId": {
                                      "type": "string"
                                    },
                                    "largeLogoUrl": {
                                      "type": "string"
                                    },
                                    "requiredOtp": {
                                      "type": "boolean"
                                    }
                                  }
                                },
                                "bankGroupType": {
                                  "type": "string"
                                },
                                "blockAmount": {
                                  "type": "integer"
                                },
                                "createdDate": {
                                  "type": "integer"
                                },
                                "currency": {
                                  "type": "string"
                                },
                                "currencyObject": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "code": {
                                      "type": "string"
                                    },
                                    "localizedDescription": {
                                      "type": "string"
                                    },
                                    "symbol": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "depositStatus": {
                                  "type": "string"
                                },
                                "depositType": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "code": {
                                      "type": "string"
                                    },
                                    "couldBeInterestDestination": {
                                      "type": "boolean"
                                    },
                                    "interestRate": {
                                      "type": "integer"
                                    },
                                    "minimumOpeningAmount": {
                                      "type": "integer"
                                    },
                                    "title": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "favorite": {
                                  "type": "boolean"
                                },
                                "fullName": {
                                  "type": "string"
                                },
                                "hasChequeBook": {
                                  "type": "boolean"
                                },
                                "iban": {
                                  "type": "string"
                                },
                                "id": {
                                  "type": "integer"
                                },
                                "isPrivate": {
                                  "type": "boolean"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "minimumOtpAmount": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {}
                                },
                                "number": {
                                  "type": "string"
                                },
                                "order": {
                                  "type": "integer"
                                },
                                "otpTicketAmount": {
                                  "type": "integer"
                                },
                                "owner": {
                                  "type": "string"
                                },
                                "paymentable": {
                                  "type": "boolean"
                                },
                                "personality": {
                                  "type": "string"
                                },
                                "private": {
                                  "type": "boolean"
                                },
                                "rawNumber": {
                                  "type": "string"
                                },
                                "signature": {
                                  "type": "string"
                                },
                                "title": {
                                  "type": "string"
                                },
                                "topupable": {
                                  "type": "boolean"
                                },
                                "transferable": {
                                  "type": "boolean"
                                },
                                "withdrawOption": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "categorizeDeposits": [
                    {
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "deposits": [
                        {
                          "balance": 1000000,
                          "bank": {
                            "id": 1,
                            "name": "نمونه",
                            "logoUrl": "https://example.invalid/asset.png",
                            "identifier": "نمونه",
                            "ibanId": "IR220000000000000000000001",
                            "largeLogoUrl": "https://example.invalid/asset.png",
                            "requiredOtp": false
                          },
                          "bankGroupType": "PASANDAZ",
                          "blockAmount": 1000000,
                          "createdDate": 1793500000000,
                          "currency": "ریال",
                          "currencyObject": {
                            "code": "نمونه",
                            "localizedDescription": "شرح نمونه",
                            "symbol": "نمونه"
                          },
                          "depositStatus": "OPEN",
                          "depositType": {
                            "code": "000001",
                            "couldBeInterestDestination": true,
                            "interestRate": 1,
                            "minimumOpeningAmount": 1000000,
                            "title": "نمونه"
                          },
                          "favorite": true,
                          "fullName": "",
                          "hasChequeBook": false,
                          "iban": "IR220000000000000000000001",
                          "id": 1,
                          "isPrivate": true,
                          "label": "نمونه",
                          "minimumOtpAmount": {},
                          "number": "123-456-0000001-2",
                          "order": 1,
                          "otpTicketAmount": 1000000,
                          "owner": "کاربر نمونه",
                          "paymentable": true,
                          "personality": "ACTUAL",
                          "private": true,
                          "rawNumber": "123-456-0000001-2",
                          "signature": "نمونه",
                          "title": "نمونه",
                          "topupable": true,
                          "transferable": true,
                          "withdrawOption": "BE_TANHAYEE"
                        }
                      ]
                    }
                  ],
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cards": {
      "get": {
        "summary": "Card list only",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "cards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "cardStatus": {
                            "type": "string"
                          },
                          "cardStatusCause": {
                            "type": "string"
                          },
                          "cardType": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "debitOrderId": {
                            "type": "integer"
                          },
                          "deposit": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "createdDate": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "currencyObject": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "localizedDescription": {
                                    "type": "string"
                                  },
                                  "symbol": {
                                    "type": "string"
                                  }
                                }
                              },
                              "depositStatus": {
                                "type": "string"
                              },
                              "depositType": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "couldBeInterestDestination": {
                                    "type": "boolean"
                                  },
                                  "interestRate": {
                                    "type": "integer"
                                  },
                                  "minimumOpeningAmount": {
                                    "type": "integer"
                                  },
                                  "title": {
                                    "type": "string"
                                  }
                                }
                              },
                              "favorite": {
                                "type": "boolean"
                              },
                              "hasChequeBook": {
                                "type": "boolean"
                              },
                              "iban": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "inaugurationDate": {
                                "type": "integer"
                              },
                              "isCommercial": {
                                "type": "boolean"
                              },
                              "isFavorite": {
                                "type": "boolean"
                              },
                              "label": {
                                "type": "string"
                              },
                              "minimumOtpAmount": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "OWN": {
                                    "type": "integer"
                                  },
                                  "SATNA": {
                                    "type": "integer"
                                  },
                                  "DEPOSIT": {
                                    "type": "integer"
                                  },
                                  "PAYA": {
                                    "type": "integer"
                                  },
                                  "POL": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "number": {
                                "type": "string"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "title": {
                                "type": "string"
                              },
                              "topupable": {
                                "type": "boolean"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "eBankingConnected": {
                            "type": "boolean"
                          },
                          "expireDate": {
                            "type": "string"
                          },
                          "firstname": {
                            "type": "string"
                          },
                          "fullName": {
                            "type": "string"
                          },
                          "hasCvv2": {
                            "type": "boolean"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "isCardOtpActivated": {
                            "type": "boolean"
                          },
                          "isNeedRegisterShaparak": {
                            "type": "boolean"
                          },
                          "isPrivate": {
                            "type": "boolean"
                          },
                          "issueDate": {
                            "type": "integer"
                          },
                          "lastname": {
                            "type": "string"
                          },
                          "needsRevival": {
                            "type": "boolean"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "pan": {
                            "type": "string"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "private": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "securePan": {
                            "type": "string"
                          },
                          "transferable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "cards": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "cardStatus": "OK",
                      "cardStatusCause": "نمونه",
                      "cardType": "DEBIT",
                      "currency": "ریال",
                      "debitOrderId": 1,
                      "deposit": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "createdDate": 1793500000000,
                        "currency": "ریال",
                        "currencyObject": {
                          "code": "نمونه",
                          "localizedDescription": "شرح نمونه",
                          "symbol": "نمونه"
                        },
                        "depositStatus": "OPEN",
                        "depositType": {
                          "code": "000001",
                          "couldBeInterestDestination": true,
                          "interestRate": 1,
                          "minimumOpeningAmount": 1000000,
                          "title": "نمونه"
                        },
                        "favorite": true,
                        "hasChequeBook": false,
                        "iban": "IR220000000000000000000001",
                        "id": 1,
                        "inaugurationDate": 1793500000000,
                        "isCommercial": false,
                        "isFavorite": true,
                        "label": "نمونه",
                        "minimumOtpAmount": {
                          "OWN": 1,
                          "SATNA": 1,
                          "DEPOSIT": 1,
                          "PAYA": 1,
                          "POL": 1
                        },
                        "number": "123-456-0000001-2",
                        "order": 1,
                        "paymentable": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "نمونه",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "title": "نمونه",
                        "topupable": true,
                        "transferable": true
                      },
                      "eBankingConnected": true,
                      "expireDate": "140801",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "hasCvv2": false,
                      "id": 1,
                      "isCardOtpActivated": true,
                      "isNeedRegisterShaparak": false,
                      "isPrivate": true,
                      "issueDate": 1793500000000,
                      "lastname": "نمونه",
                      "needsRevival": false,
                      "order": 1,
                      "pan": "1111222233334444",
                      "paymentable": true,
                      "private": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "securePan": "1111222233334444",
                      "transferable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cards/all": {
      "get": {
        "summary": "All card records returned by bank",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "cards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "cardStatus": {
                            "type": "string"
                          },
                          "cardStatusCause": {
                            "type": "string"
                          },
                          "cardType": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "debitOrderId": {
                            "type": "integer"
                          },
                          "deposit": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "createdDate": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "currencyObject": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "localizedDescription": {
                                    "type": "string"
                                  },
                                  "symbol": {
                                    "type": "string"
                                  }
                                }
                              },
                              "depositStatus": {
                                "type": "string"
                              },
                              "depositType": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "couldBeInterestDestination": {
                                    "type": "boolean"
                                  },
                                  "interestRate": {
                                    "type": "integer"
                                  },
                                  "minimumOpeningAmount": {
                                    "type": "integer"
                                  },
                                  "title": {
                                    "type": "string"
                                  }
                                }
                              },
                              "favorite": {
                                "type": "boolean"
                              },
                              "hasChequeBook": {
                                "type": "boolean"
                              },
                              "iban": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "inaugurationDate": {
                                "type": "integer"
                              },
                              "isCommercial": {
                                "type": "boolean"
                              },
                              "isFavorite": {
                                "type": "boolean"
                              },
                              "label": {
                                "type": "string"
                              },
                              "minimumOtpAmount": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "OWN": {
                                    "type": "integer"
                                  },
                                  "SATNA": {
                                    "type": "integer"
                                  },
                                  "DEPOSIT": {
                                    "type": "integer"
                                  },
                                  "PAYA": {
                                    "type": "integer"
                                  },
                                  "POL": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "number": {
                                "type": "string"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "title": {
                                "type": "string"
                              },
                              "topupable": {
                                "type": "boolean"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "eBankingConnected": {
                            "type": "boolean"
                          },
                          "expireDate": {
                            "type": "string"
                          },
                          "firstname": {
                            "type": "string"
                          },
                          "fullName": {
                            "type": "string"
                          },
                          "hasCvv2": {
                            "type": "boolean"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "isCardOtpActivated": {
                            "type": "boolean"
                          },
                          "isNeedRegisterShaparak": {
                            "type": "boolean"
                          },
                          "isPrivate": {
                            "type": "boolean"
                          },
                          "issueDate": {
                            "type": "integer"
                          },
                          "lastname": {
                            "type": "string"
                          },
                          "needsRevival": {
                            "type": "boolean"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "pan": {
                            "type": "string"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "private": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "securePan": {
                            "type": "string"
                          },
                          "transferable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "cards": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "cardStatus": "OK",
                      "cardStatusCause": "نمونه",
                      "cardType": "DEBIT",
                      "currency": "ریال",
                      "debitOrderId": 1,
                      "deposit": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "createdDate": 1793500000000,
                        "currency": "ریال",
                        "currencyObject": {
                          "code": "نمونه",
                          "localizedDescription": "شرح نمونه",
                          "symbol": "نمونه"
                        },
                        "depositStatus": "OPEN",
                        "depositType": {
                          "code": "000001",
                          "couldBeInterestDestination": true,
                          "interestRate": 1,
                          "minimumOpeningAmount": 1000000,
                          "title": "نمونه"
                        },
                        "favorite": true,
                        "hasChequeBook": false,
                        "iban": "IR220000000000000000000001",
                        "id": 1,
                        "inaugurationDate": 1793500000000,
                        "isCommercial": false,
                        "isFavorite": true,
                        "label": "نمونه",
                        "minimumOtpAmount": {
                          "OWN": 1,
                          "SATNA": 1,
                          "DEPOSIT": 1,
                          "PAYA": 1,
                          "POL": 1
                        },
                        "number": "123-456-0000001-2",
                        "order": 1,
                        "paymentable": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "نمونه",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "title": "نمونه",
                        "topupable": true,
                        "transferable": true
                      },
                      "eBankingConnected": true,
                      "expireDate": "140801",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "hasCvv2": false,
                      "id": 1,
                      "isCardOtpActivated": true,
                      "isNeedRegisterShaparak": false,
                      "isPrivate": true,
                      "issueDate": 1793500000000,
                      "lastname": "نمونه",
                      "needsRevival": false,
                      "order": 1,
                      "pan": "1111222233334444",
                      "paymentable": true,
                      "private": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "securePan": "1111222233334444",
                      "transferable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/deposits/all": {
      "get": {
        "summary": "All deposit records returned by bank",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": false,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/balance": {
      "get": {
        "summary": "Reported deposit and card balances, no combined sum",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          },
                          "depositNumber": {
                            "type": "string"
                          },
                          "balanceAvailable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "cards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "cardStatus": {
                            "type": "string"
                          },
                          "cardStatusCause": {
                            "type": "string"
                          },
                          "cardType": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "debitOrderId": {
                            "type": "integer"
                          },
                          "deposit": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "createdDate": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "currencyObject": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "localizedDescription": {
                                    "type": "string"
                                  },
                                  "symbol": {
                                    "type": "string"
                                  }
                                }
                              },
                              "depositStatus": {
                                "type": "string"
                              },
                              "depositType": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "couldBeInterestDestination": {
                                    "type": "boolean"
                                  },
                                  "interestRate": {
                                    "type": "integer"
                                  },
                                  "minimumOpeningAmount": {
                                    "type": "integer"
                                  },
                                  "title": {
                                    "type": "string"
                                  }
                                }
                              },
                              "favorite": {
                                "type": "boolean"
                              },
                              "hasChequeBook": {
                                "type": "boolean"
                              },
                              "iban": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "inaugurationDate": {
                                "type": "integer"
                              },
                              "isCommercial": {
                                "type": "boolean"
                              },
                              "isFavorite": {
                                "type": "boolean"
                              },
                              "label": {
                                "type": "string"
                              },
                              "minimumOtpAmount": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "OWN": {
                                    "type": "integer"
                                  },
                                  "SATNA": {
                                    "type": "integer"
                                  },
                                  "DEPOSIT": {
                                    "type": "integer"
                                  },
                                  "PAYA": {
                                    "type": "integer"
                                  },
                                  "POL": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "number": {
                                "type": "string"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "title": {
                                "type": "string"
                              },
                              "topupable": {
                                "type": "boolean"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "eBankingConnected": {
                            "type": "boolean"
                          },
                          "expireDate": {
                            "type": "string"
                          },
                          "firstname": {
                            "type": "string"
                          },
                          "fullName": {
                            "type": "string"
                          },
                          "hasCvv2": {
                            "type": "boolean"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "isCardOtpActivated": {
                            "type": "boolean"
                          },
                          "isNeedRegisterShaparak": {
                            "type": "boolean"
                          },
                          "isPrivate": {
                            "type": "boolean"
                          },
                          "issueDate": {
                            "type": "integer"
                          },
                          "lastname": {
                            "type": "string"
                          },
                          "needsRevival": {
                            "type": "boolean"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "pan": {
                            "type": "string"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "private": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "securePan": {
                            "type": "string"
                          },
                          "transferable": {
                            "type": "boolean"
                          },
                          "depositNumber": {
                            "type": "string"
                          },
                          "balanceAvailable": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": false,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true,
                      "depositNumber": "123-456-0000001-2",
                      "balanceAvailable": true
                    }
                  ],
                  "cards": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "cardStatus": "OK",
                      "cardStatusCause": "نمونه",
                      "cardType": "DEBIT",
                      "currency": "ریال",
                      "debitOrderId": 1,
                      "deposit": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "createdDate": 1793500000000,
                        "currency": "ریال",
                        "currencyObject": {
                          "code": "نمونه",
                          "localizedDescription": "شرح نمونه",
                          "symbol": "نمونه"
                        },
                        "depositStatus": "OPEN",
                        "depositType": {
                          "code": "000001",
                          "couldBeInterestDestination": true,
                          "interestRate": 1,
                          "minimumOpeningAmount": 1000000,
                          "title": "نمونه"
                        },
                        "favorite": true,
                        "hasChequeBook": false,
                        "iban": "IR220000000000000000000001",
                        "id": 1,
                        "inaugurationDate": 1793500000000,
                        "isCommercial": false,
                        "isFavorite": true,
                        "label": "نمونه",
                        "minimumOtpAmount": {
                          "OWN": 1,
                          "SATNA": 1,
                          "DEPOSIT": 1,
                          "PAYA": 1,
                          "POL": 1
                        },
                        "number": "123-456-0000001-2",
                        "order": 1,
                        "paymentable": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "نمونه",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "title": "نمونه",
                        "topupable": true,
                        "transferable": true
                      },
                      "eBankingConnected": true,
                      "expireDate": "140801",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "hasCvv2": false,
                      "id": 1,
                      "isCardOtpActivated": true,
                      "isNeedRegisterShaparak": false,
                      "isPrivate": true,
                      "issueDate": 1793500000000,
                      "lastname": "نمونه",
                      "needsRevival": false,
                      "order": 1,
                      "pan": "1111222233334444",
                      "paymentable": true,
                      "private": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "securePan": "1111222233334444",
                      "transferable": true,
                      "depositNumber": "123-456-0000001-2",
                      "balanceAvailable": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/balances": {
      "get": {
        "summary": "Alias for balance",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          },
                          "depositNumber": {
                            "type": "string"
                          },
                          "balanceAvailable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "cards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "cardStatus": {
                            "type": "string"
                          },
                          "cardStatusCause": {
                            "type": "string"
                          },
                          "cardType": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "debitOrderId": {
                            "type": "integer"
                          },
                          "deposit": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "createdDate": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "currencyObject": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "localizedDescription": {
                                    "type": "string"
                                  },
                                  "symbol": {
                                    "type": "string"
                                  }
                                }
                              },
                              "depositStatus": {
                                "type": "string"
                              },
                              "depositType": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "couldBeInterestDestination": {
                                    "type": "boolean"
                                  },
                                  "interestRate": {
                                    "type": "integer"
                                  },
                                  "minimumOpeningAmount": {
                                    "type": "integer"
                                  },
                                  "title": {
                                    "type": "string"
                                  }
                                }
                              },
                              "favorite": {
                                "type": "boolean"
                              },
                              "hasChequeBook": {
                                "type": "boolean"
                              },
                              "iban": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "inaugurationDate": {
                                "type": "integer"
                              },
                              "isCommercial": {
                                "type": "boolean"
                              },
                              "isFavorite": {
                                "type": "boolean"
                              },
                              "label": {
                                "type": "string"
                              },
                              "minimumOtpAmount": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "OWN": {
                                    "type": "integer"
                                  },
                                  "SATNA": {
                                    "type": "integer"
                                  },
                                  "DEPOSIT": {
                                    "type": "integer"
                                  },
                                  "PAYA": {
                                    "type": "integer"
                                  },
                                  "POL": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "number": {
                                "type": "string"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "title": {
                                "type": "string"
                              },
                              "topupable": {
                                "type": "boolean"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "eBankingConnected": {
                            "type": "boolean"
                          },
                          "expireDate": {
                            "type": "string"
                          },
                          "firstname": {
                            "type": "string"
                          },
                          "fullName": {
                            "type": "string"
                          },
                          "hasCvv2": {
                            "type": "boolean"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "isCardOtpActivated": {
                            "type": "boolean"
                          },
                          "isNeedRegisterShaparak": {
                            "type": "boolean"
                          },
                          "isPrivate": {
                            "type": "boolean"
                          },
                          "issueDate": {
                            "type": "integer"
                          },
                          "lastname": {
                            "type": "string"
                          },
                          "needsRevival": {
                            "type": "boolean"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "pan": {
                            "type": "string"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "private": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "securePan": {
                            "type": "string"
                          },
                          "transferable": {
                            "type": "boolean"
                          },
                          "depositNumber": {
                            "type": "string"
                          },
                          "balanceAvailable": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": false,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true,
                      "depositNumber": "123-456-0000001-2",
                      "balanceAvailable": true
                    }
                  ],
                  "cards": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "cardStatus": "OK",
                      "cardStatusCause": "نمونه",
                      "cardType": "DEBIT",
                      "currency": "ریال",
                      "debitOrderId": 1,
                      "deposit": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "createdDate": 1793500000000,
                        "currency": "ریال",
                        "currencyObject": {
                          "code": "نمونه",
                          "localizedDescription": "شرح نمونه",
                          "symbol": "نمونه"
                        },
                        "depositStatus": "OPEN",
                        "depositType": {
                          "code": "000001",
                          "couldBeInterestDestination": true,
                          "interestRate": 1,
                          "minimumOpeningAmount": 1000000,
                          "title": "نمونه"
                        },
                        "favorite": true,
                        "hasChequeBook": false,
                        "iban": "IR220000000000000000000001",
                        "id": 1,
                        "inaugurationDate": 1793500000000,
                        "isCommercial": false,
                        "isFavorite": true,
                        "label": "نمونه",
                        "minimumOtpAmount": {
                          "OWN": 1,
                          "SATNA": 1,
                          "DEPOSIT": 1,
                          "PAYA": 1,
                          "POL": 1
                        },
                        "number": "123-456-0000001-2",
                        "order": 1,
                        "paymentable": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "نمونه",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "title": "نمونه",
                        "topupable": true,
                        "transferable": true
                      },
                      "eBankingConnected": true,
                      "expireDate": "140801",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "hasCvv2": false,
                      "id": 1,
                      "isCardOtpActivated": true,
                      "isNeedRegisterShaparak": false,
                      "isPrivate": true,
                      "issueDate": 1793500000000,
                      "lastname": "نمونه",
                      "needsRevival": false,
                      "order": 1,
                      "pan": "1111222233334444",
                      "paymentable": true,
                      "private": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "securePan": "1111222233334444",
                      "transferable": true,
                      "depositNumber": "123-456-0000001-2",
                      "balanceAvailable": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/balances/deposits": {
      "get": {
        "summary": "Reported deposit balances",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          },
                          "depositNumber": {
                            "type": "string"
                          },
                          "balanceAvailable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": false,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true,
                      "depositNumber": "123-456-0000001-2",
                      "balanceAvailable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/balances/cards": {
      "get": {
        "summary": "Reported card balances",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "cards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "cardStatus": {
                            "type": "string"
                          },
                          "cardStatusCause": {
                            "type": "string"
                          },
                          "cardType": {
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "debitOrderId": {
                            "type": "integer"
                          },
                          "deposit": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "createdDate": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "currencyObject": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "localizedDescription": {
                                    "type": "string"
                                  },
                                  "symbol": {
                                    "type": "string"
                                  }
                                }
                              },
                              "depositStatus": {
                                "type": "string"
                              },
                              "depositType": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "couldBeInterestDestination": {
                                    "type": "boolean"
                                  },
                                  "interestRate": {
                                    "type": "integer"
                                  },
                                  "minimumOpeningAmount": {
                                    "type": "integer"
                                  },
                                  "title": {
                                    "type": "string"
                                  }
                                }
                              },
                              "favorite": {
                                "type": "boolean"
                              },
                              "hasChequeBook": {
                                "type": "boolean"
                              },
                              "iban": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "inaugurationDate": {
                                "type": "integer"
                              },
                              "isCommercial": {
                                "type": "boolean"
                              },
                              "isFavorite": {
                                "type": "boolean"
                              },
                              "label": {
                                "type": "string"
                              },
                              "minimumOtpAmount": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "OWN": {
                                    "type": "integer"
                                  },
                                  "SATNA": {
                                    "type": "integer"
                                  },
                                  "DEPOSIT": {
                                    "type": "integer"
                                  },
                                  "PAYA": {
                                    "type": "integer"
                                  },
                                  "POL": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "number": {
                                "type": "string"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "title": {
                                "type": "string"
                              },
                              "topupable": {
                                "type": "boolean"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "eBankingConnected": {
                            "type": "boolean"
                          },
                          "expireDate": {
                            "type": "string"
                          },
                          "firstname": {
                            "type": "string"
                          },
                          "fullName": {
                            "type": "string"
                          },
                          "hasCvv2": {
                            "type": "boolean"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "isCardOtpActivated": {
                            "type": "boolean"
                          },
                          "isNeedRegisterShaparak": {
                            "type": "boolean"
                          },
                          "isPrivate": {
                            "type": "boolean"
                          },
                          "issueDate": {
                            "type": "integer"
                          },
                          "lastname": {
                            "type": "string"
                          },
                          "needsRevival": {
                            "type": "boolean"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "pan": {
                            "type": "string"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "private": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "securePan": {
                            "type": "string"
                          },
                          "transferable": {
                            "type": "boolean"
                          },
                          "depositNumber": {
                            "type": "string"
                          },
                          "balanceAvailable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "cards": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "cardStatus": "OK",
                      "cardStatusCause": "نمونه",
                      "cardType": "DEBIT",
                      "currency": "ریال",
                      "debitOrderId": 1,
                      "deposit": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "createdDate": 1793500000000,
                        "currency": "ریال",
                        "currencyObject": {
                          "code": "نمونه",
                          "localizedDescription": "شرح نمونه",
                          "symbol": "نمونه"
                        },
                        "depositStatus": "OPEN",
                        "depositType": {
                          "code": "000001",
                          "couldBeInterestDestination": true,
                          "interestRate": 1,
                          "minimumOpeningAmount": 1000000,
                          "title": "نمونه"
                        },
                        "favorite": true,
                        "hasChequeBook": false,
                        "iban": "IR220000000000000000000001",
                        "id": 1,
                        "inaugurationDate": 1793500000000,
                        "isCommercial": false,
                        "isFavorite": true,
                        "label": "نمونه",
                        "minimumOtpAmount": {
                          "OWN": 1,
                          "SATNA": 1,
                          "DEPOSIT": 1,
                          "PAYA": 1,
                          "POL": 1
                        },
                        "number": "123-456-0000001-2",
                        "order": 1,
                        "paymentable": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "نمونه",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "title": "نمونه",
                        "topupable": true,
                        "transferable": true
                      },
                      "eBankingConnected": true,
                      "expireDate": "140801",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "hasCvv2": false,
                      "id": 1,
                      "isCardOtpActivated": true,
                      "isNeedRegisterShaparak": false,
                      "isPrivate": true,
                      "issueDate": 1793500000000,
                      "lastname": "نمونه",
                      "needsRevival": false,
                      "order": 1,
                      "pan": "1111222233334444",
                      "paymentable": true,
                      "private": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "securePan": "1111222233334444",
                      "transferable": true,
                      "depositNumber": "123-456-0000001-2",
                      "balanceAvailable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/deposits/favorites": {
      "get": {
        "summary": "Selected deposits",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "deposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "balance": {
                            "type": "integer"
                          },
                          "bank": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "logoUrl": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string"
                              },
                              "ibanId": {
                                "type": "string"
                              },
                              "largeLogoUrl": {
                                "type": "string"
                              },
                              "requiredOtp": {
                                "type": "boolean"
                              }
                            }
                          },
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "identifier": {
                                    "type": "string"
                                  },
                                  "ibanId": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  },
                                  "requiredOtp": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "cardType": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "eBankingConnected": {
                                "type": "boolean"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasCvv2": {
                                "type": "boolean"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isCardOtpActivated": {
                                "type": "boolean"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "restriction": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "min": {
                                    "type": "integer"
                                  },
                                  "max": {
                                    "type": "integer"
                                  },
                                  "dailyRemaining": {
                                    "type": "integer"
                                  },
                                  "monthlyRemaining": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "minOtpTicketAmount": {
                                    "type": "integer"
                                  },
                                  "ownOtpTicketAmount": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdDate": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "currencyObject": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "localizedDescription": {
                                "type": "string"
                              },
                              "symbol": {
                                "type": "string"
                              }
                            }
                          },
                          "depositStatus": {
                            "type": "string"
                          },
                          "depositType": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "couldBeInterestDestination": {
                                "type": "boolean"
                              },
                              "interestRate": {
                                "type": "integer"
                              },
                              "minimumOpeningAmount": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "favorite": {
                            "type": "boolean"
                          },
                          "hasChequeBook": {
                            "type": "boolean"
                          },
                          "iban": {
                            "type": "string"
                          },
                          "id": {
                            "type": "integer"
                          },
                          "inaugurationDate": {
                            "type": "integer"
                          },
                          "isCommercial": {
                            "type": "boolean"
                          },
                          "isFavorite": {
                            "type": "boolean"
                          },
                          "label": {
                            "type": "string"
                          },
                          "minimumOtpAmount": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "OWN": {
                                "type": "integer"
                              },
                              "SATNA": {
                                "type": "integer"
                              },
                              "DEPOSIT": {
                                "type": "integer"
                              },
                              "PAYA": {
                                "type": "integer"
                              },
                              "POL": {
                                "type": "integer"
                              }
                            }
                          },
                          "number": {
                            "type": "string"
                          },
                          "order": {
                            "type": "integer"
                          },
                          "paymentable": {
                            "type": "boolean"
                          },
                          "restriction": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "min": {
                                "type": "integer"
                              },
                              "max": {
                                "type": "integer"
                              },
                              "dailyRemaining": {
                                "type": "integer"
                              },
                              "monthlyRemaining": {
                                "type": "integer"
                              },
                              "message": {
                                "type": "string"
                              },
                              "minOtpTicketAmount": {
                                "type": "integer"
                              },
                              "ownOtpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "title": {
                            "type": "string"
                          },
                          "topupable": {
                            "type": "boolean"
                          },
                          "transferable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deposits": [
                    {
                      "balance": 1000000,
                      "bank": {
                        "id": 1,
                        "name": "نمونه",
                        "logoUrl": "https://example.invalid/asset.png",
                        "identifier": "نمونه",
                        "ibanId": "IR220000000000000000000001",
                        "largeLogoUrl": "https://example.invalid/asset.png",
                        "requiredOtp": false
                      },
                      "card": {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "identifier": "نمونه",
                          "ibanId": "IR220000000000000000000001",
                          "largeLogoUrl": "https://example.invalid/asset.png",
                          "requiredOtp": false
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "cardType": "DEBIT",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "eBankingConnected": true,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "hasCvv2": false,
                        "id": 1,
                        "isCardOtpActivated": false,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "private": true,
                        "restriction": {
                          "min": 1000000,
                          "max": 1000000,
                          "dailyRemaining": 1000000,
                          "monthlyRemaining": 1000000,
                          "message": "",
                          "minOtpTicketAmount": 1000000,
                          "ownOtpTicketAmount": 1000000
                        },
                        "securePan": "1111222233334444",
                        "transferable": true
                      },
                      "createdDate": 1793500000000,
                      "currency": "ریال",
                      "currencyObject": {
                        "code": "نمونه",
                        "localizedDescription": "شرح نمونه",
                        "symbol": "نمونه"
                      },
                      "depositStatus": "OPEN",
                      "depositType": {
                        "code": "000001",
                        "couldBeInterestDestination": true,
                        "interestRate": 1,
                        "minimumOpeningAmount": 1000000,
                        "title": "نمونه"
                      },
                      "favorite": true,
                      "hasChequeBook": false,
                      "iban": "IR220000000000000000000001",
                      "id": 1,
                      "inaugurationDate": 1793500000000,
                      "isCommercial": false,
                      "isFavorite": true,
                      "label": "نمونه",
                      "minimumOtpAmount": {
                        "OWN": 1,
                        "SATNA": 1,
                        "DEPOSIT": 1,
                        "PAYA": 1,
                        "POL": 1
                      },
                      "number": "123-456-0000001-2",
                      "order": 1,
                      "paymentable": true,
                      "restriction": {
                        "min": 1000000,
                        "max": 1000000,
                        "dailyRemaining": 1000000,
                        "monthlyRemaining": 1000000,
                        "message": "نمونه",
                        "minOtpTicketAmount": 1000000,
                        "ownOtpTicketAmount": 1000000
                      },
                      "title": "نمونه",
                      "topupable": true,
                      "transferable": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/samanium": {
      "get": {
        "summary": "Samanium score and level",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "score": {
                      "type": "integer"
                    },
                    "maximumScore": {
                      "type": "integer"
                    },
                    "minimumScore": {
                      "type": "integer"
                    },
                    "loyaltyScore": {
                      "type": "integer"
                    },
                    "level": {
                      "type": "string"
                    },
                    "loyaltyLevels": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "level": {
                            "type": "string"
                          },
                          "minScore": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "score": 1,
                  "maximumScore": 1000000,
                  "minimumScore": 1000000,
                  "loyaltyScore": 1,
                  "level": "TWO",
                  "loyaltyLevels": [
                    {
                      "level": "ONE",
                      "minScore": 1000000
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/merchant/terminals": {
      "get": {
        "summary": "Merchant terminals",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "terminals": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "depositNumber": {
                            "type": "string"
                          },
                          "registrationDate": {
                            "type": "integer"
                          },
                          "type": {
                            "type": "string"
                          },
                          "typeName": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "terminals": [
                    {
                      "name": "نمونه",
                      "id": "example-transaction-id",
                      "depositNumber": "123-456-0000001-2",
                      "registrationDate": 1793500000000,
                      "type": "INTERNET",
                      "typeName": "نمونه"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/categories": {
      "get": {
        "summary": "Transaction categories",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "name": {
                            "type": "string"
                          },
                          "groupEnName": {
                            "type": "string"
                          },
                          "isWithdrawal": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "categories": [
                    {
                      "id": 1,
                      "name": "نمونه",
                      "groupEnName": "EXPENDITURE",
                      "isWithdrawal": true
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/types": {
      "get": {
        "summary": "Transaction types",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transfers/latest": {
      "get": {
        "summary": "Latest transfer source",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "transfer": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "id": {
                          "type": "integer"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "transfer": {
                    "type": "CARD",
                    "id": 1
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transfers/reasons": {
      "get": {
        "summary": "PAYA reason codes",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "reasons": [
                    {
                      "code": "GPAC",
                      "description": "شرح نمونه"
                    }
                  ],
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/opening-account/terms": {
      "get": {
        "summary": "Opening-account terms",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/opening-account/customer": {
      "get": {
        "summary": "Opening-account state",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/home": {
      "get": {
        "summary": "Bank home contents",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "properties": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "size": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "width": {
                                    "type": "integer"
                                  },
                                  "height": {
                                    "type": "integer"
                                  }
                                }
                              }
                            }
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "items": [
                    {
                      "properties": {
                        "size": {
                          "width": 1,
                          "height": 1
                        }
                      },
                      "type": "SPACE"
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/notifications/count": {
      "get": {
        "summary": "Notification counts",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "notifications": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "count": {
                            "type": "integer"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "notifications": [
                    {
                      "count": 1,
                      "type": "CARTABLE_AWAITING_SIGNATURE"
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cartable/count": {
      "get": {
        "summary": "Cartable counts",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "hasCartable": {
                      "type": "boolean"
                    },
                    "badgeCount": {
                      "type": "integer"
                    },
                    "hasMore": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "hasCartable": false,
                  "badgeCount": 1,
                  "hasMore": false,
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/onboarding/latest": {
      "get": {
        "summary": "Latest PWA onboarding",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/institutions": {
      "get": {
        "summary": "Institution list (read-only bank POST adapter)",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "institutions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "currency": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "totalRecord": {
                      "type": "integer"
                    }
                  }
                },
                "example": {
                  "institutions": [
                    {
                      "currency": "IRR",
                      "id": "example-transaction-id",
                      "title": "نمونه"
                    }
                  ],
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "totalRecord": 1
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "title",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 200,
              "default": ""
            }
          }
        ]
      }
    },
    "/digital-rial/wallets": {
      "get": {
        "summary": "Digital rial wallet list and activation flags",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "wallets": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "numberOfElements": {
                          "type": "integer"
                        },
                        "hasNext": {
                          "type": "boolean"
                        },
                        "hasPrevious": {
                          "type": "boolean"
                        },
                        "elements": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "walletId": {
                                "type": "string"
                              },
                              "walletAddress": {
                                "type": "string"
                              },
                              "walletType": {
                                "type": "string"
                              },
                              "walletState": {
                                "type": "string"
                              },
                              "balance": {
                                "type": "integer"
                              },
                              "rapsaDeepLink": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "inactiveWalletCount": {
                      "type": "integer"
                    },
                    "hasBusinessWallet": {
                      "type": "boolean"
                    },
                    "hasCustomerWallet": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "wallets": {
                    "numberOfElements": 1,
                    "hasNext": false,
                    "hasPrevious": true,
                    "elements": [
                      {
                        "walletId": "00000000-0000-4000-8000-000000000001",
                        "walletAddress": "00000000000001",
                        "walletType": "CUSTOMER",
                        "walletState": "NORMAL",
                        "balance": 1000000,
                        "rapsaDeepLink": "https://example.invalid/asset.png"
                      }
                    ]
                  },
                  "inactiveWalletCount": 1,
                  "hasBusinessWallet": false,
                  "hasCustomerWallet": true,
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 10
            }
          },
          {
            "name": "walletStates",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "NORMAL",
                  "BAN"
                ]
              },
              "default": [
                "NORMAL",
                "BAN"
              ]
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "walletTypes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "CUSTOMER",
                  "BUSINESS"
                ]
              },
              "default": [
                "BUSINESS",
                "CUSTOMER"
              ]
            },
            "style": "form",
            "explode": true
          }
        ]
      },
      "post": {
        "summary": "CREATE WALLET: activate CUSTOMER digital rial wallet with SMS code",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "wallet": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "walletId": {
                          "type": "string"
                        },
                        "walletAddress": {
                          "type": "string"
                        },
                        "walletType": {
                          "type": "string"
                        },
                        "walletState": {
                          "type": "string"
                        },
                        "balance": {
                          "type": "integer"
                        },
                        "rapsaDeepLink": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "wallet": {
                    "walletId": "00000000-0000-4000-8000-000000000001",
                    "walletAddress": "00000000000001",
                    "walletType": "CUSTOMER",
                    "walletState": "NORMAL",
                    "balance": 1000000,
                    "rapsaDeepLink": "https://example.invalid/asset.png"
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "verificationCode": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "walletType": {
                    "type": "string",
                    "enum": [
                      "CUSTOMER"
                    ],
                    "default": "CUSTOMER"
                  }
                },
                "required": [
                  "verificationCode"
                ],
                "additionalProperties": false
              },
              "example": {
                "verificationCode": "123456"
              }
            }
          }
        }
      }
    },
    "/digital-rial/activation/validate": {
      "post": {
        "summary": "Validate eligibility (not activation)",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "walletType": {
                    "type": "string",
                    "enum": [
                      "CUSTOMER"
                    ],
                    "default": "CUSTOMER"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "example": {}
            }
          }
        }
      }
    },
    "/digital-rial/activation/otp": {
      "post": {
        "summary": "Send DIGITAL_RIAL activation SMS",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "expiration": {
                      "type": "integer"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "expiration": 1793500000000,
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/digital-rial/wallets/{walletId}/balance": {
      "get": {
        "summary": "Wallet balance reported by bank",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "balance": {
                      "type": "integer"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "balance": 1000000,
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "walletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ]
      }
    },
    "/digital-rial/wallets/{walletId}/transactions": {
      "get": {
        "summary": "Wallet-specific transaction history, separate from deposit history",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "transactionId": {
                            "type": "integer"
                          },
                          "transactionType": {
                            "type": "string"
                          },
                          "transactionTime": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "integer"
                          },
                          "title": {
                            "type": "string"
                          },
                          "isWithdrawal": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "hasNext": {
                      "type": "boolean"
                    },
                    "hasPrevious": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "numberOfElements": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "elements": [
                    {
                      "transactionId": 1,
                      "transactionType": "CHARGE",
                      "transactionTime": "نمونه",
                      "amount": 1000000,
                      "title": "نمونه",
                      "isWithdrawal": false
                    }
                  ],
                  "hasNext": false,
                  "hasPrevious": true,
                  "logLevel": "INFO",
                  "numberOfElements": 1,
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "walletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          }
        ]
      }
    },
    "/digital-rial/transactions/{id}": {
      "get": {
        "summary": "Wallet transaction detail from public PWA source; not captured/live-verified yet",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^\\d{1,40}$",
              "description": "transactionId from wallet history, not a deposit-history id"
            }
          }
        ]
      }
    },
    "/digital-rial/wallets/{walletId}/deactivate": {
      "post": {
        "summary": "DEACTIVATE WALLET: one bank request, no retry",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "walletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "requestId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "depositNumber": {
                    "type": "string",
                    "description": "Optional destination deposit; encrypted like the PWA if supplied"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "example": {}
            }
          }
        }
      }
    },
    "/digital-rial/wallets/{walletId}/charge": {
      "post": {
        "summary": "MOVE MONEY: deposit to wallet, no retry",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "receipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "amount": {
                          "type": "integer"
                        },
                        "bankUrl": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "details": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footerImageUrl": {
                          "type": "string"
                        },
                        "header": {
                          "type": "string"
                        },
                        "shareText": {
                          "type": "string"
                        },
                        "subtitle": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "receipt": {
                    "amount": 1000000,
                    "bankUrl": "https://example.invalid/asset.png",
                    "currency": "ریال",
                    "details": [
                      {
                        "type": "KEY_VALUE",
                        "key": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footerImageUrl": "https://example.invalid/asset.png",
                    "header": "نمونه",
                    "shareText": "شرح نمونه",
                    "subtitle": "000001",
                    "title": "نمونه",
                    "trackingCode": "000000000001"
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "walletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "IRR"
                  },
                  "depositNumber": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                "required": [
                  "amount",
                  "depositNumber"
                ],
                "additionalProperties": false
              },
              "example": {
                "amount": 100000,
                "depositNumber": "123-456-0000001-2"
              }
            }
          }
        }
      }
    },
    "/digital-rial/wallets/{walletId}/discharge": {
      "post": {
        "summary": "MOVE MONEY: wallet to deposit, no retry",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "receipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "amount": {
                          "type": "integer"
                        },
                        "bankUrl": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "details": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footerImageUrl": {
                          "type": "string"
                        },
                        "header": {
                          "type": "string"
                        },
                        "shareText": {
                          "type": "string"
                        },
                        "subtitle": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "receipt": {
                    "amount": 1000000,
                    "bankUrl": "https://example.invalid/asset.png",
                    "currency": "ریال",
                    "details": [
                      {
                        "type": "KEY_VALUE",
                        "key": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footerImageUrl": "https://example.invalid/asset.png",
                    "header": "نمونه",
                    "shareText": "شرح نمونه",
                    "subtitle": "نمونه",
                    "title": "نمونه",
                    "trackingCode": "000000000001"
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "walletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "IRR"
                  },
                  "depositNumber": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                "required": [
                  "amount",
                  "depositNumber"
                ],
                "additionalProperties": false
              },
              "example": {
                "amount": 100000,
                "depositNumber": "123-456-0000001-2"
              }
            }
          }
        }
      }
    },
    "/digital-rial/contacts": {
      "get": {
        "summary": "Recent WALLET contacts",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {}
                    },
                    "hasNext": {
                      "type": "boolean"
                    },
                    "hasPrevious": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "numberOfElements": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "elements": [],
                  "hasNext": false,
                  "hasPrevious": false,
                  "logLevel": "INFO",
                  "numberOfElements": 1,
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 120
            }
          }
        ]
      }
    },
    "/transactions": {
      "get": {
        "summary": "Transaction rows only; detail contains complete bank transaction information",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "persianDate": {
                            "type": "string"
                          },
                          "longDate": {
                            "type": "integer"
                          },
                          "isWithdrawal": {
                            "type": "boolean"
                          },
                          "description": {
                            "type": "string"
                          },
                          "branch": {
                            "type": "string"
                          },
                          "detail": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "persianDate": {
                                "type": "string"
                              },
                              "longDate": {
                                "type": "integer"
                              },
                              "isWithdrawal": {
                                "type": "boolean"
                              },
                              "depositNumber": {
                                "type": "string"
                              },
                              "referralNumber": {
                                "type": "string"
                              },
                              "paymentNumber": {
                                "type": "string"
                              },
                              "category": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "groupEnName": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              },
                              "otherSideAccountInfo": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "type": "string"
                                  }
                                }
                              },
                              "details": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "logoUrl": {
                                      "type": "string"
                                    },
                                    "title": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "transactionType": {
                                "type": "string"
                              },
                              "logLevel": {
                                "type": "string"
                              },
                              "status": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              },
                              "withdrawal": {
                                "type": "boolean"
                              }
                            }
                          }
                        }
                      }
                    },
                    "hasNext": {
                      "type": "boolean"
                    },
                    "hasPrevious": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "numberOfElements": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "elements": [
                    {
                      "id": "example-transaction-id",
                      "title": "نمونه",
                      "amount": 1000000,
                      "currency": "ریال",
                      "persianDate": "۱۴۰۵/۰۸/۱۰ ۱۲:۰۰:۰۰",
                      "longDate": 1793500000000,
                      "isWithdrawal": false,
                      "description": "شرح نمونه",
                      "branch": "نمونه",
                      "detail": {
                        "title": "نمونه",
                        "description": "شرح نمونه",
                        "amount": 1000000,
                        "currency": "ریال",
                        "persianDate": "۱۴۰۵/۰۸/۱۰ ۱۲:۰۰:۰۰",
                        "longDate": 1793500000000,
                        "isWithdrawal": false,
                        "depositNumber": "123-456-0000001-2",
                        "referralNumber": "000000000001",
                        "paymentNumber": "000000000001",
                        "category": {
                          "id": 1,
                          "groupEnName": "UNKNOWN_INCOMING",
                          "name": "نمونه"
                        },
                        "otherSideAccountInfo": {
                          "name": "نمونه",
                          "type": "DEPOSIT_TRANSFER"
                        },
                        "details": [
                          {
                            "logoUrl": "https://example.invalid/asset.png",
                            "title": "نمونه",
                            "value": "نمونه"
                          }
                        ],
                        "transactionType": "DEPOSIT_TRANSFER",
                        "logLevel": "INFO",
                        "status": {
                          "code": 0,
                          "message": "",
                          "name": "OK"
                        },
                        "withdrawal": false
                      }
                    }
                  ],
                  "hasNext": true,
                  "hasPrevious": true,
                  "logLevel": "INFO",
                  "numberOfElements": 1,
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "depositNumber",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Required if more than one deposit exists. Preserve hyphens."
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "details",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Unix seconds"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Unix seconds"
            }
          },
          {
            "name": "fromAmount",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toAmount",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isWithdrawal",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/transactions/latest": {
      "get": {
        "summary": "Latest transactions for a selected deposit; always bank page zero",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "integer"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "persianDate": {
                            "type": "string"
                          },
                          "longDate": {
                            "type": "integer"
                          },
                          "isWithdrawal": {
                            "type": "boolean"
                          },
                          "description": {
                            "type": "string"
                          },
                          "branch": {
                            "type": "string"
                          },
                          "detail": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "persianDate": {
                                "type": "string"
                              },
                              "longDate": {
                                "type": "integer"
                              },
                              "isWithdrawal": {
                                "type": "boolean"
                              },
                              "depositNumber": {
                                "type": "string"
                              },
                              "referralNumber": {
                                "type": "string"
                              },
                              "paymentNumber": {
                                "type": "string"
                              },
                              "category": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "groupEnName": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              },
                              "otherSideAccountInfo": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "type": "string"
                                  }
                                }
                              },
                              "details": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "properties": {
                                    "logoUrl": {
                                      "type": "string"
                                    },
                                    "title": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "transactionType": {
                                "type": "string"
                              },
                              "logLevel": {
                                "type": "string"
                              },
                              "status": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              },
                              "withdrawal": {
                                "type": "boolean"
                              }
                            }
                          }
                        }
                      }
                    },
                    "hasNext": {
                      "type": "boolean"
                    },
                    "hasPrevious": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "numberOfElements": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "depositNumber": {
                      "type": "string"
                    },
                    "page": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    }
                  }
                },
                "example": {
                  "elements": [
                    {
                      "id": "example-transaction-id",
                      "title": "نمونه",
                      "amount": 1000000,
                      "currency": "ریال",
                      "persianDate": "۱۴۰۵/۰۸/۱۰ ۱۲:۰۰:۰۰",
                      "longDate": 1793500000000,
                      "isWithdrawal": false,
                      "description": "شرح نمونه",
                      "branch": "نمونه",
                      "detail": {
                        "title": "نمونه",
                        "description": "شرح نمونه",
                        "amount": 1000000,
                        "currency": "ریال",
                        "persianDate": "۱۴۰۵/۰۸/۱۰ ۱۲:۰۰:۰۰",
                        "longDate": 1793500000000,
                        "isWithdrawal": false,
                        "depositNumber": "123-456-0000001-2",
                        "referralNumber": "000000000001",
                        "paymentNumber": "000000000001",
                        "category": {
                          "id": 1,
                          "groupEnName": "UNKNOWN_INCOMING",
                          "name": "نمونه"
                        },
                        "otherSideAccountInfo": {
                          "name": "نمونه",
                          "type": "DEPOSIT_TRANSFER"
                        },
                        "details": [
                          {
                            "logoUrl": "https://example.invalid/asset.png",
                            "title": "نمونه",
                            "value": "نمونه"
                          }
                        ],
                        "transactionType": "DEPOSIT_TRANSFER",
                        "logLevel": "INFO",
                        "status": {
                          "code": 0,
                          "message": "",
                          "name": "OK"
                        },
                        "withdrawal": false
                      }
                    }
                  ],
                  "hasNext": true,
                  "hasPrevious": true,
                  "logLevel": "INFO",
                  "numberOfElements": 1,
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "depositNumber": "123-456-0000001-2",
                  "page": 0,
                  "limit": 10
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "depositNumber",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Required with multiple deposits; verified against deposit list"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "description": "Alias for limit; both must match if supplied together"
            }
          },
          {
            "name": "details",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ]
      }
    },
    "/transactions/{id}": {
      "get": {
        "summary": "Complete transaction detail; ID is opaque",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "amount": {
                      "type": "integer"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "persianDate": {
                      "type": "string"
                    },
                    "longDate": {
                      "type": "integer"
                    },
                    "isWithdrawal": {
                      "type": "boolean"
                    },
                    "depositNumber": {
                      "type": "string"
                    },
                    "referralNumber": {
                      "type": "string"
                    },
                    "paymentNumber": {
                      "type": "string"
                    },
                    "category": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "groupEnName": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "otherSideAccountInfo": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        }
                      }
                    },
                    "details": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "logoUrl": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "transactionType": {
                      "type": "string"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "withdrawal": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "title": "نمونه",
                  "description": "شرح نمونه",
                  "amount": 1000000,
                  "currency": "ریال",
                  "persianDate": "۱۴۰۵/۰۸/۱۰ ۱۲:۰۰:۰۰",
                  "longDate": 1793500000000,
                  "isWithdrawal": false,
                  "depositNumber": "123-456-0000001-2",
                  "referralNumber": "000000000001",
                  "paymentNumber": "000000000001",
                  "category": {
                    "id": 1,
                    "groupEnName": "UNKNOWN_INCOMING",
                    "name": "نمونه"
                  },
                  "otherSideAccountInfo": {
                    "name": "نمونه",
                    "type": "DEPOSIT_TRANSFER"
                  },
                  "details": [
                    {
                      "logoUrl": "https://example.invalid/asset.png",
                      "title": "نمونه",
                      "value": "نمونه"
                    }
                  ],
                  "transactionType": "DEPOSIT_TRANSFER",
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "withdrawal": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/transactions/detail/{id}": {
      "get": {
        "summary": "Complete transaction detail; ID is opaque",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "amount": {
                      "type": "integer"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "persianDate": {
                      "type": "string"
                    },
                    "longDate": {
                      "type": "integer"
                    },
                    "isWithdrawal": {
                      "type": "boolean"
                    },
                    "depositNumber": {
                      "type": "string"
                    },
                    "referralNumber": {
                      "type": "string"
                    },
                    "paymentNumber": {
                      "type": "string"
                    },
                    "category": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "groupEnName": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "otherSideAccountInfo": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        }
                      }
                    },
                    "details": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "logoUrl": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "transactionType": {
                      "type": "string"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "withdrawal": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "title": "نمونه",
                  "description": "شرح نمونه",
                  "amount": 1000000,
                  "currency": "ریال",
                  "persianDate": "۱۴۰۵/۰۸/۱۰ ۱۲:۰۰:۰۰",
                  "longDate": 1793500000000,
                  "isWithdrawal": false,
                  "depositNumber": "123-456-0000001-2",
                  "referralNumber": "000000000001",
                  "paymentNumber": "000000000001",
                  "category": {
                    "id": 1,
                    "groupEnName": "UNKNOWN_INCOMING",
                    "name": "نمونه"
                  },
                  "otherSideAccountInfo": {
                    "name": "نمونه",
                    "type": "DEPOSIT_TRANSFER"
                  },
                  "details": [
                    {
                      "logoUrl": "https://example.invalid/asset.png",
                      "title": "نمونه",
                      "value": "نمونه"
                    }
                  ],
                  "transactionType": "DEPOSIT_TRANSFER",
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "withdrawal": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/transactions/find/{code}": {
      "get": {
        "summary": "Find first exact tracking/reference match in bounded account history",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "trackingNumber": {
                      "type": "string"
                    },
                    "depositNumber": {
                      "type": "string"
                    },
                    "matchBy": {
                      "type": "string"
                    },
                    "pagesScanned": {
                      "type": "integer"
                    },
                    "transactionsScanned": {
                      "type": "integer"
                    },
                    "matchedField": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "transaction": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "integer"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "persianDate": {
                          "type": "string"
                        },
                        "longDate": {
                          "type": "integer"
                        },
                        "isWithdrawal": {
                          "type": "boolean"
                        },
                        "depositNumber": {
                          "type": "string"
                        },
                        "referralNumber": {
                          "type": "string"
                        },
                        "paymentNumber": {
                          "type": "string"
                        },
                        "category": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "id": {
                              "type": "integer"
                            },
                            "groupEnName": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        },
                        "otherSideAccountInfo": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          }
                        },
                        "details": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "logoUrl": {
                                "type": "string"
                              },
                              "title": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "transactionType": {
                          "type": "string"
                        },
                        "logLevel": {
                          "type": "string"
                        },
                        "status": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "code": {
                              "type": "integer"
                            },
                            "message": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        },
                        "withdrawal": {
                          "type": "boolean"
                        }
                      }
                    },
                    "searchComplete": {
                      "type": "boolean"
                    },
                    "stopReason": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "found": true,
                  "trackingNumber": "000000000001",
                  "depositNumber": "123-456-0000001-2",
                  "matchBy": "any",
                  "pagesScanned": 1,
                  "transactionsScanned": 1,
                  "matchedField": "newReceipt.trackingCode",
                  "id": "example-transaction-id",
                  "transaction": {
                    "title": "نمونه",
                    "description": "شرح نمونه",
                    "amount": 1000000,
                    "currency": "ریال",
                    "persianDate": "۱۴۰۵/۰۸/۱۰ ۱۲:۰۰:۰۰",
                    "longDate": 1793500000000,
                    "isWithdrawal": false,
                    "depositNumber": "123-456-0000001-2",
                    "referralNumber": "000000000001",
                    "paymentNumber": "000000000001",
                    "category": {
                      "id": 1,
                      "groupEnName": "UNKNOWN_INCOMING",
                      "name": "نمونه"
                    },
                    "otherSideAccountInfo": {
                      "name": "نمونه",
                      "type": "DEPOSIT_TRANSFER"
                    },
                    "details": [
                      {
                        "logoUrl": "https://example.invalid/asset.png",
                        "title": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "transactionType": "DEPOSIT_TRANSFER",
                    "logLevel": "INFO",
                    "status": {
                      "code": 0,
                      "message": "",
                      "name": "OK"
                    },
                    "withdrawal": false
                  },
                  "searchComplete": true,
                  "stopReason": "matched"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[0-9۰-۹٠-٩]{1,64}$"
            }
          },
          {
            "name": "depositNumber",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Required with multiple deposits"
            }
          },
          {
            "name": "pages",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 10
            }
          },
          {
            "name": "maxTransactions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 2000,
              "default": 200
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "matchBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "any",
                "tracking",
                "reference"
              ],
              "default": "any"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Unix seconds"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Unix seconds"
            }
          },
          {
            "name": "isWithdrawal",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "fromAmount",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toAmount",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/owner/deposit/{number}": {
      "get": {
        "summary": "Account/IBAN lookup",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "bank": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "logoUrl": {
                          "type": "string"
                        },
                        "largeLogoUrl": {
                          "type": "string"
                        }
                      }
                    },
                    "isSelfDeposit": {
                      "type": "boolean"
                    },
                    "isSelfIBAN": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "transferMessages": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {}
                    },
                    "user": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "firstname": {
                          "type": "string"
                        },
                        "fullName": {
                          "type": "string"
                        },
                        "imageUrl": {
                          "type": "string"
                        },
                        "isMostReferred": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "bank": {
                    "id": 1,
                    "name": "نمونه",
                    "logoUrl": "https://example.invalid/asset.png",
                    "largeLogoUrl": "https://example.invalid/asset.png"
                  },
                  "isSelfDeposit": true,
                  "isSelfIBAN": false,
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "transferMessages": {},
                  "user": {
                    "firstname": "نام",
                    "fullName": "کاربر نمونه",
                    "imageUrl": "https://example.invalid/asset.png",
                    "isMostReferred": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/owner/iban/{iban}": {
      "get": {
        "summary": "Account/IBAN lookup",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "bank": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "logoUrl": {
                          "type": "string"
                        },
                        "largeLogoUrl": {
                          "type": "string"
                        }
                      }
                    },
                    "iban": {
                      "type": "string"
                    },
                    "isSelfDeposit": {
                      "type": "boolean"
                    },
                    "isSelfIBAN": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "transferMessages": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "SATNA": {
                          "type": "string"
                        },
                        "PAYA": {
                          "type": "string"
                        }
                      }
                    },
                    "user": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "fullName": {
                          "type": "string"
                        },
                        "isMostReferred": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "bank": {
                    "id": 1,
                    "name": "نمونه",
                    "logoUrl": "https://example.invalid/asset.png",
                    "largeLogoUrl": "https://example.invalid/asset.png"
                  },
                  "iban": "IR220000000000000000000001",
                  "isSelfDeposit": false,
                  "isSelfIBAN": true,
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "transferMessages": {
                    "SATNA": "نمونه",
                    "PAYA": "نمونه"
                  },
                  "user": {
                    "fullName": "کاربر نمونه",
                    "isMostReferred": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "iban",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/accounts/{number}/iban": {
      "get": {
        "summary": "Account/IBAN lookup",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/merchant/summary": {
      "get": {
        "summary": "Merchant summary since supplied date or last 30 days",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "summaries": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "PENDING": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "count": {
                              "type": "integer"
                            },
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            }
                          }
                        },
                        "UNSETTLED": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "count": {
                              "type": "integer"
                            },
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            }
                          }
                        },
                        "CONFLICT": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "count": {
                              "type": "integer"
                            },
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            }
                          }
                        },
                        "UN_SUCCESS": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "count": {
                              "type": "integer"
                            },
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            }
                          }
                        },
                        "SETTLED": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "count": {
                              "type": "integer"
                            },
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            }
                          }
                        },
                        "PROCESSING": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "count": {
                              "type": "integer"
                            },
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "summaries": {
                    "PENDING": {
                      "count": 1,
                      "amount": 1000000,
                      "currency": "ریال"
                    },
                    "UNSETTLED": {
                      "count": 1,
                      "amount": 1000000,
                      "currency": "ریال"
                    },
                    "CONFLICT": {
                      "count": 1,
                      "amount": 1000000,
                      "currency": "ریال"
                    },
                    "UN_SUCCESS": {
                      "count": 1,
                      "amount": 1000000,
                      "currency": "ریال"
                    },
                    "SETTLED": {
                      "count": 1,
                      "amount": 1000000,
                      "currency": "ریال"
                    },
                    "PROCESSING": {
                      "count": 1,
                      "amount": 1000000,
                      "currency": "ریال"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "terminalId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Unix milliseconds"
            }
          }
        ]
      }
    },
    "/transfers/recent/{kind}": {
      "get": {
        "summary": "Recent destinations and bank restrictions",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "card",
                "deposit",
                "iban"
              ]
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ]
      }
    },
    "/deposits/recent": {
      "get": {
        "summary": "Alias for recent deposit transfer destinations; complete bank response",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "isOverLimit": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "mostReferredDeposits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "deposit": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  }
                                }
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "minimumOtpAmount": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {}
                              },
                              "mostreferredId": {
                                "type": "integer"
                              },
                              "number": {
                                "type": "string"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "otpTicketAmount": {
                                "type": "integer"
                              }
                            }
                          },
                          "user": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "fullName": {
                                "type": "string"
                              },
                              "imageUrl": {
                                "type": "string"
                              },
                              "isMostReferred": {
                                "type": "boolean"
                              },
                              "mobileNumber": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "restrictions": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "DEPOSIT": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "min": {
                              "type": "integer"
                            },
                            "max": {
                              "type": "integer"
                            },
                            "dailyRemaining": {
                              "type": "integer"
                            },
                            "monthlyRemaining": {
                              "type": "integer"
                            },
                            "message": {
                              "type": "string"
                            },
                            "minOtpTicketAmount": {
                              "type": "integer"
                            },
                            "ownOtpTicketAmount": {
                              "type": "integer"
                            }
                          }
                        }
                      }
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "userSelfContact": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "cards": {
                          "type": "array",
                          "items": {}
                        },
                        "deposits": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "balance": {
                                "type": "integer"
                              },
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  }
                                }
                              },
                              "bankGroupType": {
                                "type": "string"
                              },
                              "blockAmount": {
                                "type": "integer"
                              },
                              "createdDate": {
                                "type": "integer"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "currencyObject": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "localizedDescription": {
                                    "type": "string"
                                  },
                                  "symbol": {
                                    "type": "string"
                                  }
                                }
                              },
                              "depositStatus": {
                                "type": "string"
                              },
                              "depositType": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "string"
                                  },
                                  "couldBeInterestDestination": {
                                    "type": "boolean"
                                  },
                                  "interestRate": {
                                    "type": "integer"
                                  },
                                  "minimumOpeningAmount": {
                                    "type": "integer"
                                  },
                                  "title": {
                                    "type": "string"
                                  }
                                }
                              },
                              "favorite": {
                                "type": "boolean"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "hasChequeBook": {
                                "type": "boolean"
                              },
                              "iban": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "label": {
                                "type": "string"
                              },
                              "minimumOtpAmount": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {}
                              },
                              "number": {
                                "type": "string"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "otpTicketAmount": {
                                "type": "integer"
                              },
                              "owner": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "personality": {
                                "type": "string"
                              },
                              "private": {
                                "type": "boolean"
                              },
                              "rawNumber": {
                                "type": "string"
                              },
                              "signature": {
                                "type": "string"
                              },
                              "title": {
                                "type": "string"
                              },
                              "topupable": {
                                "type": "boolean"
                              },
                              "transferable": {
                                "type": "boolean"
                              },
                              "withdrawOption": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "ibans": {
                          "type": "array",
                          "items": {}
                        },
                        "user": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "cif": {
                              "type": "string"
                            },
                            "firstname": {
                              "type": "string"
                            },
                            "fullName": {
                              "type": "string"
                            },
                            "id": {
                              "type": "integer"
                            },
                            "imageUrl": {
                              "type": "string"
                            },
                            "lastname": {
                              "type": "string"
                            },
                            "mobileNumber": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "isOverLimit": false,
                  "logLevel": "INFO",
                  "mostReferredDeposits": [
                    {
                      "deposit": {
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "largeLogoUrl": "https://example.invalid/asset.png"
                        },
                        "fullName": "",
                        "minimumOtpAmount": {},
                        "mostreferredId": 1,
                        "number": "123-456-0000001-2",
                        "order": 1,
                        "otpTicketAmount": 1000000
                      },
                      "user": {
                        "fullName": "کاربر نمونه",
                        "imageUrl": "https://example.invalid/asset.png",
                        "isMostReferred": true,
                        "mobileNumber": "09000000000"
                      }
                    }
                  ],
                  "restrictions": {
                    "DEPOSIT": {
                      "min": 1000000,
                      "max": 1000000,
                      "dailyRemaining": 1000000,
                      "monthlyRemaining": 1000000,
                      "message": "",
                      "minOtpTicketAmount": 1000000,
                      "ownOtpTicketAmount": 1000000
                    }
                  },
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "userSelfContact": {
                    "cards": [],
                    "deposits": [
                      {
                        "balance": 1000000,
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "largeLogoUrl": "https://example.invalid/asset.png"
                        },
                        "bankGroupType": "PASANDAZ",
                        "blockAmount": 1000000,
                        "createdDate": 1793500000000,
                        "currency": "ریال",
                        "currencyObject": {
                          "code": "نمونه",
                          "localizedDescription": "شرح نمونه",
                          "symbol": "نمونه"
                        },
                        "depositStatus": "OPEN",
                        "depositType": {
                          "code": "000001",
                          "couldBeInterestDestination": true,
                          "interestRate": 1,
                          "minimumOpeningAmount": 1000000,
                          "title": "نمونه"
                        },
                        "favorite": true,
                        "fullName": "",
                        "hasChequeBook": false,
                        "iban": "IR220000000000000000000001",
                        "id": 1,
                        "isPrivate": true,
                        "label": "نمونه",
                        "minimumOtpAmount": {},
                        "number": "123-456-0000001-2",
                        "order": 1,
                        "otpTicketAmount": 1000000,
                        "owner": "کاربر نمونه",
                        "paymentable": true,
                        "personality": "ACTUAL",
                        "private": true,
                        "rawNumber": "123-456-0000001-2",
                        "signature": "نمونه",
                        "title": "نمونه",
                        "topupable": true,
                        "transferable": true,
                        "withdrawOption": "BE_TANHAYEE"
                      }
                    ],
                    "ibans": [],
                    "user": {
                      "cif": "000001",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "id": 1,
                      "imageUrl": "https://example.invalid/asset.png",
                      "lastname": "نمونه",
                      "mobileNumber": "09000000000"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Transfer amount in IRR; used for bank restrictions"
            }
          }
        ]
      }
    },
    "/cards/recent": {
      "get": {
        "summary": "Alias for recent card transfer destinations; complete bank response",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "isOverLimit": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "mostReferredCards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "card": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  }
                                }
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "mostreferredId": {
                                "type": "integer"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "securePan": {
                                "type": "string"
                              }
                            }
                          },
                          "user": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "isMostReferred": {
                                "type": "boolean"
                              },
                              "lastname": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "restrictions": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "CARD": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "min": {
                              "type": "integer"
                            },
                            "max": {
                              "type": "integer"
                            },
                            "dailyRemaining": {
                              "type": "integer"
                            },
                            "monthlyRemaining": {
                              "type": "integer"
                            },
                            "message": {
                              "type": "string"
                            },
                            "minOtpTicketAmount": {
                              "type": "integer"
                            },
                            "ownOtpTicketAmount": {
                              "type": "integer"
                            }
                          }
                        }
                      }
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "userSelfContact": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "cards": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  }
                                }
                              },
                              "cardStatus": {
                                "type": "string"
                              },
                              "cardStatusCause": {
                                "type": "string"
                              },
                              "currency": {
                                "type": "string"
                              },
                              "debitOrderId": {
                                "type": "integer"
                              },
                              "expireDate": {
                                "type": "string"
                              },
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "id": {
                                "type": "integer"
                              },
                              "isNeedRegisterShaparak": {
                                "type": "boolean"
                              },
                              "isPrivate": {
                                "type": "boolean"
                              },
                              "issueDate": {
                                "type": "integer"
                              },
                              "lastname": {
                                "type": "string"
                              },
                              "needsRevival": {
                                "type": "boolean"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "pan": {
                                "type": "string"
                              },
                              "paymentable": {
                                "type": "boolean"
                              },
                              "securePan": {
                                "type": "string"
                              },
                              "transferable": {
                                "type": "boolean"
                              }
                            }
                          }
                        },
                        "deposits": {
                          "type": "array",
                          "items": {}
                        },
                        "ibans": {
                          "type": "array",
                          "items": {}
                        },
                        "user": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "cif": {
                              "type": "string"
                            },
                            "firstname": {
                              "type": "string"
                            },
                            "fullName": {
                              "type": "string"
                            },
                            "id": {
                              "type": "integer"
                            },
                            "imageUrl": {
                              "type": "string"
                            },
                            "lastname": {
                              "type": "string"
                            },
                            "mobileNumber": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "isOverLimit": false,
                  "logLevel": "INFO",
                  "mostReferredCards": [
                    {
                      "card": {
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "largeLogoUrl": "https://example.invalid/asset.png"
                        },
                        "debitOrderId": 1,
                        "isNeedRegisterShaparak": false,
                        "mostreferredId": 1,
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "securePan": "1111222233334444"
                      },
                      "user": {
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "isMostReferred": true,
                        "lastname": ""
                      }
                    }
                  ],
                  "restrictions": {
                    "CARD": {
                      "min": 1000000,
                      "max": 1000000,
                      "dailyRemaining": 1000000,
                      "monthlyRemaining": 1000000,
                      "message": "نمونه",
                      "minOtpTicketAmount": 1000000,
                      "ownOtpTicketAmount": 1000000
                    }
                  },
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "userSelfContact": {
                    "cards": [
                      {
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "largeLogoUrl": "https://example.invalid/asset.png"
                        },
                        "cardStatus": "OK",
                        "cardStatusCause": "نمونه",
                        "currency": "ریال",
                        "debitOrderId": 1,
                        "expireDate": "140801",
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "id": 1,
                        "isNeedRegisterShaparak": false,
                        "isPrivate": true,
                        "issueDate": 1793500000000,
                        "lastname": "نمونه",
                        "needsRevival": false,
                        "order": 1,
                        "pan": "1111222233334444",
                        "paymentable": true,
                        "securePan": "1111222233334444",
                        "transferable": true
                      }
                    ],
                    "deposits": [],
                    "ibans": [],
                    "user": {
                      "cif": "000001",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "id": 1,
                      "imageUrl": "https://example.invalid/asset.png",
                      "lastname": "نمونه",
                      "mobileNumber": "09000000000"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Transfer amount in IRR; used for bank restrictions"
            }
          }
        ]
      }
    },
    "/ibans/recent": {
      "get": {
        "summary": "Alias for recent iban transfer destinations; complete bank response",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "isOverLimit": {
                      "type": "boolean"
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "mostReferredIbans": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "iban": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "bank": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "id": {
                                    "type": "integer"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "logoUrl": {
                                    "type": "string"
                                  },
                                  "largeLogoUrl": {
                                    "type": "string"
                                  }
                                }
                              },
                              "iban": {
                                "type": "string"
                              },
                              "logLevel": {
                                "type": "string"
                              },
                              "mostreferredId": {
                                "type": "integer"
                              },
                              "order": {
                                "type": "integer"
                              },
                              "status": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "code": {
                                    "type": "integer"
                                  },
                                  "message": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "user": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "firstname": {
                                "type": "string"
                              },
                              "fullName": {
                                "type": "string"
                              },
                              "lastname": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "restrictionMessages": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "SATNA": {
                          "type": "string"
                        }
                      }
                    },
                    "restrictions": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "IBAN": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "min": {
                              "type": "integer"
                            },
                            "max": {
                              "type": "integer"
                            },
                            "dailyRemaining": {
                              "type": "integer"
                            },
                            "monthlyRemaining": {
                              "type": "integer"
                            },
                            "message": {
                              "type": "string"
                            },
                            "minOtpTicketAmount": {
                              "type": "integer"
                            },
                            "ownOtpTicketAmount": {
                              "type": "integer"
                            }
                          }
                        },
                        "SATNA": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "min": {
                              "type": "integer"
                            },
                            "max": {
                              "type": "integer"
                            },
                            "dailyRemaining": {
                              "type": "integer"
                            },
                            "monthlyRemaining": {
                              "type": "integer"
                            },
                            "message": {
                              "type": "string"
                            },
                            "minOtpTicketAmount": {
                              "type": "integer"
                            },
                            "ownOtpTicketAmount": {
                              "type": "integer"
                            }
                          }
                        },
                        "PAYA": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "min": {
                              "type": "integer"
                            },
                            "max": {
                              "type": "integer"
                            },
                            "dailyRemaining": {
                              "type": "integer"
                            },
                            "monthlyRemaining": {
                              "type": "integer"
                            },
                            "message": {
                              "type": "string"
                            },
                            "minOtpTicketAmount": {
                              "type": "integer"
                            },
                            "ownOtpTicketAmount": {
                              "type": "integer"
                            }
                          }
                        }
                      }
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "userSelfContact": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "cards": {
                          "type": "array",
                          "items": {}
                        },
                        "deposits": {
                          "type": "array",
                          "items": {}
                        },
                        "ibans": {
                          "type": "array",
                          "items": {}
                        },
                        "user": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "cif": {
                              "type": "string"
                            },
                            "firstname": {
                              "type": "string"
                            },
                            "fullName": {
                              "type": "string"
                            },
                            "id": {
                              "type": "integer"
                            },
                            "imageUrl": {
                              "type": "string"
                            },
                            "lastname": {
                              "type": "string"
                            },
                            "mobileNumber": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "isOverLimit": false,
                  "logLevel": "INFO",
                  "mostReferredIbans": [
                    {
                      "iban": {
                        "bank": {
                          "id": 1,
                          "name": "نمونه",
                          "logoUrl": "https://example.invalid/asset.png",
                          "largeLogoUrl": "https://example.invalid/asset.png"
                        },
                        "iban": "IR220000000000000000000001",
                        "logLevel": "INFO",
                        "mostreferredId": 1,
                        "order": 1,
                        "status": {
                          "code": 0,
                          "message": "",
                          "name": "OK"
                        }
                      },
                      "user": {
                        "firstname": "نام",
                        "fullName": "کاربر نمونه",
                        "lastname": "نمونه"
                      }
                    }
                  ],
                  "restrictionMessages": {
                    "SATNA": "نمونه"
                  },
                  "restrictions": {
                    "IBAN": {
                      "min": 1000000,
                      "max": 1000000,
                      "dailyRemaining": 1000000,
                      "monthlyRemaining": 1000000,
                      "message": "نمونه",
                      "minOtpTicketAmount": 1000000,
                      "ownOtpTicketAmount": 1000000
                    },
                    "SATNA": {
                      "min": 1000000,
                      "max": 1000000,
                      "dailyRemaining": 1000000,
                      "monthlyRemaining": 1000000,
                      "message": "نمونه",
                      "minOtpTicketAmount": 1000000,
                      "ownOtpTicketAmount": 1000000
                    },
                    "PAYA": {
                      "min": 1000000,
                      "max": 1000000,
                      "dailyRemaining": 1000000,
                      "monthlyRemaining": 1000000,
                      "message": "نمونه",
                      "minOtpTicketAmount": 1000000,
                      "ownOtpTicketAmount": 1000000
                    }
                  },
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "userSelfContact": {
                    "cards": [],
                    "deposits": [],
                    "ibans": [],
                    "user": {
                      "cif": "000001",
                      "firstname": "نام",
                      "fullName": "کاربر نمونه",
                      "id": 1,
                      "imageUrl": "https://example.invalid/asset.png",
                      "lastname": "نمونه",
                      "mobileNumber": "09000000000"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Transfer amount in IRR; used for bank restrictions"
            }
          }
        ]
      }
    },
    "/transfers/card/owner": {
      "post": {
        "summary": "Resolve destination card owner",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "user": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "firstname": {
                          "type": "string"
                        },
                        "fullName": {
                          "type": "string"
                        },
                        "isMostReferred": {
                          "type": "boolean"
                        },
                        "lastname": {
                          "type": "string"
                        }
                      }
                    },
                    "bank": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "logoUrl": {
                          "type": "string"
                        },
                        "largeLogoUrl": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "user": {
                    "firstname": "نام",
                    "fullName": "کاربر نمونه",
                    "isMostReferred": true,
                    "lastname": "نمونه"
                  },
                  "bank": {
                    "id": 1,
                    "name": "نمونه",
                    "logoUrl": "https://example.invalid/asset.png",
                    "largeLogoUrl": "https://example.invalid/asset.png"
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "destination": {
                    "type": "string"
                  }
                },
                "required": [
                  "source",
                  "destination"
                ],
                "additionalProperties": false
              },
              "example": {
                "source": "1111222233334444",
                "destination": "5555666677778888"
              }
            }
          }
        }
      }
    },
    "/transfers/card/otp": {
      "post": {
        "summary": "Request second-password SMS for a card transfer",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "expirationTime": {
                      "type": "integer"
                    },
                    "logLevel": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "expirationTime": 1793500000000,
                  "logLevel": "INFO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "destination": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "IRR"
                  },
                  "description": {
                    "type": "string"
                  },
                  "trackerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "transactionPin": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "isMostReferredDestination": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "source",
                  "destination",
                  "amount"
                ],
                "additionalProperties": false
              },
              "example": {
                "source": "1111222233334444",
                "destination": "5555666677778888",
                "amount": 100000
              }
            }
          }
        }
      }
    },
    "/transfers/card": {
      "post": {
        "summary": "SEND MONEY: card transfer, no automatic retry",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "receipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "footerImage": {
                          "type": "string"
                        },
                        "contents": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footer": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "shareText": {
                          "type": "string"
                        }
                      }
                    },
                    "newReceipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "amount": {
                          "type": "integer"
                        },
                        "bankUrl": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "details": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footerImageUrl": {
                          "type": "string"
                        },
                        "header": {
                          "type": "string"
                        },
                        "shareText": {
                          "type": "string"
                        },
                        "subtitle": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "transferDetail": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "sourceAccount": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "transferType": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          }
                        },
                        "destinationAccount": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "transferType": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          }
                        },
                        "destinationUser": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "fullName": {
                              "type": "string"
                            }
                          }
                        },
                        "currency": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "integer"
                        },
                        "id": {
                          "type": "integer"
                        },
                        "paidDate": {
                          "type": "integer"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "receipt": {
                    "title": "نمونه",
                    "footerImage": "https://example.invalid/asset.png",
                    "contents": [
                      {
                        "title": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footer": [
                      {
                        "title": "نمونه",
                        "value": "000001"
                      }
                    ],
                    "shareText": "شرح نمونه"
                  },
                  "newReceipt": {
                    "amount": 1000000,
                    "bankUrl": "https://example.invalid/asset.png",
                    "currency": "ریال",
                    "details": [
                      {
                        "type": "KEY_VALUE",
                        "key": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footerImageUrl": "https://example.invalid/asset.png",
                    "header": "نمونه",
                    "shareText": "شرح نمونه",
                    "subtitle": "نمونه",
                    "title": "نمونه",
                    "trackingCode": "000000000001"
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "transferDetail": {
                    "sourceAccount": {
                      "number": "1111222233334444",
                      "transferType": "CARD",
                      "type": "CARD"
                    },
                    "destinationAccount": {
                      "number": "1111222233334444",
                      "transferType": "CARD",
                      "type": "CARD"
                    },
                    "destinationUser": {
                      "fullName": ""
                    },
                    "currency": "IRR",
                    "amount": 1000000,
                    "id": 1,
                    "paidDate": 1793500000000,
                    "trackingCode": "000000000001"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "destination": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "IRR"
                  },
                  "description": {
                    "type": "string"
                  },
                  "trackerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "transactionPin": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "isMostReferredDestination": {
                    "type": "boolean"
                  },
                  "cvv2": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "pin2": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "expireDate": {
                    "type": "string",
                    "description": "Jalali YYYYMM"
                  }
                },
                "required": [
                  "source",
                  "destination",
                  "amount",
                  "cvv2",
                  "pin2",
                  "expireDate"
                ],
                "additionalProperties": false
              },
              "example": {
                "source": "1111222233334444",
                "destination": "5555666677778888",
                "amount": 100000,
                "cvv2": "123",
                "pin2": "123456",
                "expireDate": "140801"
              }
            }
          }
        }
      }
    },
    "/transfers/deposit": {
      "post": {
        "summary": "SEND MONEY: DEPOSIT transfer, no automatic retry",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "receipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "footerImage": {
                          "type": "string"
                        },
                        "contents": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footer": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "shareText": {
                          "type": "string"
                        }
                      }
                    },
                    "newReceipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "amount": {
                          "type": "integer"
                        },
                        "bankUrl": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "details": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footerImageUrl": {
                          "type": "string"
                        },
                        "header": {
                          "type": "string"
                        },
                        "shareText": {
                          "type": "string"
                        },
                        "subtitle": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "transferDetail": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "sourceAccount": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "transferType": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          }
                        },
                        "destinationAccount": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "transferType": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          }
                        },
                        "destinationUser": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "fullName": {
                              "type": "string"
                            }
                          }
                        },
                        "currency": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "integer"
                        },
                        "id": {
                          "type": "integer"
                        },
                        "paidDate": {
                          "type": "integer"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "receipt": {
                    "title": "نمونه",
                    "footerImage": "https://example.invalid/asset.png",
                    "contents": [
                      {
                        "title": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footer": [
                      {
                        "title": "نمونه",
                        "value": "000001"
                      }
                    ],
                    "shareText": "شرح نمونه"
                  },
                  "newReceipt": {
                    "amount": 1000000,
                    "bankUrl": "https://example.invalid/asset.png",
                    "currency": "ریال",
                    "details": [
                      {
                        "type": "KEY_VALUE",
                        "key": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footerImageUrl": "https://example.invalid/asset.png",
                    "header": "نمونه",
                    "shareText": "شرح نمونه",
                    "subtitle": "نمونه",
                    "title": "نمونه",
                    "trackingCode": "000000000001"
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "transferDetail": {
                    "sourceAccount": {
                      "number": "123-456-0000001-2",
                      "transferType": "DEPOSIT",
                      "type": "DEPOSIT"
                    },
                    "destinationAccount": {
                      "number": "123-456-0000001-2",
                      "transferType": "DEPOSIT",
                      "type": "DEPOSIT"
                    },
                    "destinationUser": {
                      "fullName": ""
                    },
                    "currency": "IRR",
                    "amount": 1000000,
                    "id": 1,
                    "paidDate": 1793500000000,
                    "trackingCode": "000000000001"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "destination": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "IRR"
                  },
                  "description": {
                    "type": "string"
                  },
                  "trackerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "transactionPin": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "isMostReferredDestination": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "source",
                  "destination",
                  "amount"
                ],
                "additionalProperties": false
              },
              "example": {
                "source": "123-456-0000001-2",
                "destination": "123-456-0000002-3",
                "amount": 100000
              }
            }
          }
        }
      }
    },
    "/transfers/iban": {
      "post": {
        "summary": "SEND MONEY: PAYA transfer, no automatic retry",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "receipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "footerImage": {
                          "type": "string"
                        },
                        "contents": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footer": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "shareText": {
                          "type": "string"
                        }
                      }
                    },
                    "newReceipt": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "amount": {
                          "type": "integer"
                        },
                        "bankUrl": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "details": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "footerImageUrl": {
                          "type": "string"
                        },
                        "header": {
                          "type": "string"
                        },
                        "shareText": {
                          "type": "string"
                        },
                        "subtitle": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    },
                    "logLevel": {
                      "type": "string"
                    },
                    "status": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "type": "integer"
                        },
                        "message": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "transferDetail": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "sourceAccount": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "transferType": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          }
                        },
                        "destinationAccount": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "transferType": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          }
                        },
                        "destinationUser": {
                          "type": "object",
                          "additionalProperties": true,
                          "properties": {
                            "fullName": {
                              "type": "string"
                            }
                          }
                        },
                        "currency": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "integer"
                        },
                        "id": {
                          "type": "integer"
                        },
                        "paidDate": {
                          "type": "integer"
                        },
                        "trackingCode": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "receipt": {
                    "title": "نمونه",
                    "footerImage": "https://example.invalid/asset.png",
                    "contents": [
                      {
                        "title": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footer": [
                      {
                        "title": "نمونه",
                        "value": "000001"
                      }
                    ],
                    "shareText": "شرح نمونه"
                  },
                  "newReceipt": {
                    "amount": 1000000,
                    "bankUrl": "https://example.invalid/asset.png",
                    "currency": "ریال",
                    "details": [
                      {
                        "type": "KEY_VALUE",
                        "key": "نمونه",
                        "value": "نمونه"
                      }
                    ],
                    "footerImageUrl": "https://example.invalid/asset.png",
                    "header": "نمونه",
                    "shareText": "شرح نمونه",
                    "subtitle": "IR220000000000000000000001",
                    "title": "نمونه",
                    "trackingCode": "000000000001"
                  },
                  "logLevel": "INFO",
                  "status": {
                    "code": 0,
                    "message": "",
                    "name": "OK"
                  },
                  "transferDetail": {
                    "sourceAccount": {
                      "number": "123-456-0000001-2",
                      "transferType": "PAYA",
                      "type": "PAYA"
                    },
                    "destinationAccount": {
                      "number": "IR220000000000000000000001",
                      "transferType": "PAYA",
                      "type": "PAYA"
                    },
                    "destinationUser": {
                      "fullName": ""
                    },
                    "currency": "IRR",
                    "amount": 1000000,
                    "id": 1,
                    "paidDate": 1793500000000,
                    "trackingCode": "000000000001"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "destination": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "IRR"
                  },
                  "description": {
                    "type": "string"
                  },
                  "trackerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "transactionPin": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "isMostReferredDestination": {
                    "type": "boolean"
                  },
                  "reasonCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "source",
                  "destination",
                  "amount",
                  "reasonCode"
                ],
                "additionalProperties": false
              },
              "example": {
                "source": "123-456-0000001-2",
                "destination": "IR220000000000000000000001",
                "amount": 100000,
                "reasonCode": "GPAC"
              }
            }
          }
        }
      }
    },
    "/config": {
      "post": {
        "summary": "Negotiate transport keys (normally handled by login)",
        "security": [
          {
            "ApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Complete bank JSON, or local session state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "configured": {
                      "type": "boolean"
                    },
                    "appVersion": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "configured": true,
                  "appVersion": "5.8.2"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input or missing depositNumber",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "API key invalid or bank session missing/expired; inspect error/code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bank requires device verification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Bank logical error; code and bankStatus are preserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bank connection/protocol/response-shape failure",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "code": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "bankStatus": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}