{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/oyster-hr/json-schema/oyster-hr-bank-accounts-schema.json",
  "title": "bankAccounts",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/oyster-hr-bank-accounts-api-openapi.yml#/components/schemas/bankAccounts",
  "type": "array",
  "items": {
    "$ref": "#/$defs/bankAccount"
  },
  "$defs": {
    "bankAccount": {
      "type": "object",
      "properties": {
        "engagementId": {
          "type": "string"
        },
        "bankAccountId": {
          "type": "string"
        },
        "payoutUsage": {
          "type": [
            "string",
            "null"
          ]
        },
        "isPrimary": {
          "type": "boolean"
        },
        "currencyCode": {
          "type": "string"
        },
        "countryCode": {
          "type": "string"
        },
        "details": {
          "type": "object",
          "properties": {
            "accountNumber": {
              "type": [
                "string",
                "null"
              ]
            },
            "iban": {
              "type": [
                "string",
                "null"
              ]
            },
            "swiftBicCode": {
              "type": [
                "string",
                "null"
              ]
            },
            "branchCode": {
              "type": [
                "string",
                "null"
              ]
            },
            "bankAccountName": {
              "type": [
                "string",
                "null"
              ]
            },
            "recipientCountry": {
              "type": [
                "string",
                "null"
              ]
            },
            "recipientCity": {
              "type": [
                "string",
                "null"
              ]
            },
            "recipientStreet": {
              "type": [
                "string",
                "null"
              ]
            },
            "recipientZipPostCode": {
              "type": [
                "string",
                "null"
              ]
            },
            "recipientStateOrProvince": {
              "type": [
                "string",
                "null"
              ]
            },
            "intermediaryIban": {
              "type": [
                "string",
                "null"
              ]
            },
            "intermediaryBranchCode": {
              "type": [
                "string",
                "null"
              ]
            },
            "intermediaryAccountNumber": {
              "type": [
                "string",
                "null"
              ]
            },
            "intermediarySwiftBicCode": {
              "type": [
                "string",
                "null"
              ]
            },
            "contactNotes": {
              "type": [
                "string",
                "null"
              ]
            },
            "contactEmail": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      },
      "required": [
        "engagementId",
        "bankAccountId",
        "currencyCode",
        "countryCode",
        "isPrimary",
        "details"
      ]
    }
  }
}